File:  [Research Unix] / researchv10no / cmd / worm / scsi / scsi.cpio
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:34 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

0707070035050375121006660011710000040000010653710464714144700000700000003143README	This is a simple extensible shell (scsish) for poking at scsi
devices, particularly the simpler kinds commonly called toasters.
it is supposed to be self-documenting in use; try the help command.
my use of the moran-dronek /dev/scsi library is still imperfect;
there is still some some debugging showing.

	To compile, you first need mk. you then have to pick a system type
to set some flags; currently we support research and sgi.
yours may differ, particularly as no one else has our ansi C compiler for the sgi.
the only problem i would expect is the normal header file crap you get
mixing ansi and non-ansi files. i recommend setting NPROC=1 while debugging hdr files.
if you change (header) files, try putting them in the directory inc
(then others may benefit). To support a new system (say sgi-gcc), just create
a new file sgi-gcc.mk and so on. you may be missing some devices in
your /dev/scsi; the script scsi/gendev may help (but check the major/minor
numbers and permissions).

	As for modifying/extending scsish, it has been designed to be not too hard.
Adding a new device means adding a new set of rules (like the other rules)
to mkfile and creating a new directory (say exabyte) and at least two files in it
(dev.c and fns.h). The wren directory is a small example you can clone.
Adding new functions to any device means updating a file list in mkfile,
updating dev.c and fns.h in the device directory. The argument syntax
scheme is arguably pokey, but liveable. at some future point we should probably
switch over to osterhout's tcl.

	as always, i invite you send extensions/fixes etc back to
[email protected]
0707070035050375111006660011710000040000010653730457563432000000500000000565TODO	|	COPY drive NUMBER NUMBER drive NUMBER {/*:COPY sdrive sstart nblocks ddrive dstart:: */
			s_copy($2, $3, $4, $5, $6);
		}
	|	READ drive NUMBER  {
			struct scsi_ret output;
			s_read($2, $3, 1, &output);
			scsiodump(output.data, 1024);
		}
	|	WRITE drive NUMBER { s_write($2, $3, 1); }
	|	WRITE drive NUMBER NUMBER { s_write($2, $3, $4); } /*:WRITE drive start n:: */
0707070035050406411006660011710000040000010511250474377127600001300000002245allocate.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdlib.h>
#include	<unistd.h>
#include	<stdio.h>
#include	<string.h>
#include	<errno.h>
#include	<time.h>
#include	"jukeface.h"
#include	"jukebox.h"

allocate(Jukebox *j, char *vol_id, char *buf)
{
	int drive, sh;
	char nbuf[512];
	
	if(j_rdshelves(j, buf))	/* read in shelf names */
		return(-1);
	if(j_shstatus(j, buf))	/* get the jukebox status */
		return(-1);
	sh = j_shelfof(j, vol_id);
	if(sh >= 0){
		sprintf(buf, "there is an existing '%s' on shelf %d", vol_id, sh);
		return(-1);
	}
	sh = j_shelfof(j, UNALLOCATED);
	if(sh < 0){
		sprintf(buf, "no unallocated disks");
		return(-1);
	}
	printf("using unallocated disk from shelf %d\n", sh);
	drive = j->nluns-1;
	if(j_sh_to_dr(sh, SIDEB, drive, buf) < 0)
		return(-1);
	sprintf(nbuf, "%sb", vol_id);
	if(j_wvolid(drive, nbuf, buf))
		return(-1);
	j_wrshelf = 1;
	j->names[sh] = strdup(vol_id);
	j->shelves[sh] = 1;
	if(j_dr_to_sh(drive, sh, SIDEB, buf) < 0)
		return(-1);
	if(j_sh_to_dr(sh, SIDEA, drive, buf) < 0)
		return(-1);
	sprintf(nbuf, "%sa", vol_id);
	if(j_wvolid(drive, nbuf, buf))
		return(-1);
	if(j_dr_to_sh(drive, sh, SIDEA, buf) < 0)
		return(-1);
	return(0);
}
0707070035050550721006660011710000040000011772350474343203100000600000000761arg.h/*
 * argument processing
 */
#define	ARGBEGIN	for((argv0? 0: (argv0=*argv)),argv++,argc--;\
			    argv[0] && argv[0][0]=='-' && argv[0][1];\
			    argc--, argv++) {\
				char *_args, *_argt, _argc;\
				_args = &argv[0][1];\
				if(_args[0]=='-' && _args[1]==0){\
					argc--; argv++; break;\
				}\
				while(*_args) switch(_argc=*_args++)
#define	ARGEND		}
#define	ARGF()		(_argt=_args, _args="",\
				(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
#define	ARGC()		_argc
extern char *argv0;
0707070035050554471006660011710000040000010651520467171415300000400000000120c.ctypedef int (*fn)(struct x *);
extern int fn1(struct x *);
extern fn *fp = fn1;
0707070035050421771006660011710000040000010011270477113511400000700000011124cold.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdlib.h>
#include	<unistd.h>
#include	<stdio.h>
#include	<string.h>
#include	<ctype.h>
#include	"jukeface.h"
#include	"jukebox.h"
#include	"tcl.h"
#include	"generic/fns.h"

static sort(char *buf);

j_cold(Jukebox *j, char *type, char *err)
{
	int side;
	int drive, sh, nsh;
	int n;
	char vol_id[512];
	char *didit;

	if(j_drstatus(j, err))
		return(-1);
printf("drstatus done\n");
	if(j_shstatus(j, err))
		return(-1);
printf("shstatus done\n");
	/* first clear out nonexistent labels */
	n = 0;
	didit = (char *)malloc(j->nshelves*sizeof(char));
	for(sh = 0; sh < j->nshelves; sh++){
		if(j->shelves[sh]){
			n++;
			j->names[sh] = "there";
		} else
			j->names[sh] = 0;
		didit[sh] = 0;
	}
	printf("%d disks in shelves.\n", n);
	/* second, clear the drives */
	for(sh = 0; sh < j->nshelves; sh++)
		if(j->shelves[sh] == 0)
			break;
	for(drive = 0; drive < j->nluns; drive++){
		if(!j->luns[drive].occupied)
			continue;		/* no disk in drive */
printf("clearing drive %d:\n", drive);
		if(j->luns[drive].shelf < 0){
			if(j_dr_to_sh(drive, sh, SIDEA, err))
				return(-1);
			for(sh++; sh < j->nshelves; sh++)
				if(j->shelves[sh] == 0)
					break;
			n++;
		} else
			if(j_dr_to_sh(drive, -1, SIDEA, err))
				return(-1);
	}
	if(isdigit(*type)){	/* just do one shelf */
		sh = atol(type);
		printf("single shelf %d reload\n", sh);
		if(j_rdshelves(j, err))
			return(-1);
		if(getvol(sh, drive, vol_id, &side)){
			strcpy(err, vol_id);
			return(-1);
		}
		printf("%s@%d -> %d\n", vol_id, sh, sh);
		if(j_dr_to_sh(drive, -1, side, err) < 0)
			return(-1);
		j->names[sh] = strdup(vol_id);
		j->shelves[sh] = 1;
		j_wrshelf = 1;
		return(0);
	}
	printf("reloading %d disks.\n", n);
	side = SIDEA;
	drive = j->nluns-1;
	j_wrshelf = 1;
	for(sh = 0; sh < j->nshelves; sh++){
		if(didit[sh])
			continue;
		j->names[sh] = 0;
		if(j->shelves[sh]){
			printf("%d: ", sh); fflush(stdout);
			if(getvol(sh, drive, vol_id, &side)){
				strcpy(err, vol_id);
				return(-1);
			}
			j->shelves[sh] = 0;
			switch(*type)
			{
			case 'c':
				for(nsh = 0; j->shelves[nsh]; nsh++)
					;
				break;
			case 's':
			case 'r':
				while(j->shelves[nsh = nrand(j->nshelves)])
					;
				break;
			case 'u':
			default:
				nsh = sh;
				break;
			}
			printf("%s@%d -> %d\n", vol_id, sh, nsh);
			if(j_dr_to_sh(drive, nsh, side, err) < 0)
				return(-1);
			j->names[nsh] = strdup(vol_id);
			j->shelves[nsh] = 1;
			didit[nsh] = 1;
			sleep(5);
		}
	}
	printf("process any new disks.\n");
	if(j_warm(j, err))
		return(-1);
/*	if(type == 's')
		return(sort(err));
*/
	return(0);
} 

getvol(int sh, int drive, char *vol_id, int *side)
{
	int i;
	char buf[512];

	if(j_sh_to_dr(sh, SIDEA, drive, vol_id) < 0)
		return(-1);
	if((i = j_rvolid(drive, buf)) < 0)
		goto softerr;
	if(i == 0)
		*side = SIDEA;
	else {
		*side = SIDEB;
		if(j_dr_to_sh(drive, sh, SIDEA, vol_id) < 0)
			return(-1);
		if(j_sh_to_dr(sh, SIDEB, drive, vol_id) < 0)
			return(-1);
		if((i = j_rvolid(drive, buf)) < 0)
			goto softerr;
	}
	if(i > 0)
		strcpy(vol_id, UNALLOCATED);
	else {
		strcpy(vol_id, buf);
		i = strlen(vol_id)-1;
		if(i < 0){
			sprintf(buf, "apparently good superblock but null vol_id");
			goto softerr;
		} else if(vol_id[i] == 'a')
			vol_id[i] = 0;
		else if(vol_id[i] == 'b'){
			vol_id[i] = 0;
			*side = !*side;
		} else {
			sprintf(buf, "vol_id '%s' must end in a or b", vol_id);
			strcpy(vol_id, buf);
			return(-1);
		}
	}
	return(0);
softerr:
	*side = SIDEA;
	fprintf(stderr, "error in reading shelf %d: %s; proceeding\n", sh, buf);
	sprintf(vol_id, "DISK_ERROR%d", sh);
	j_reset();
	return(0);
}
#ifdef	CRAP
static int index[j->nshelves];
static
cmp(int *a, int *b)
{
	char *sa = j->shelves[*a], *sb = j->shelves[*b];

	if((sa == 0) && (sb == 0)) return(0);
	if(sa == 0) return(-1);
	if(sb == 0) return(1);
	return(strcmp(sa, sb));
}

static char *disk[8];

static
sd(int a, int b, char *err)
{
	disk[b] = j->shelves[a];
	return(j->shelves_to_drive(a, SIDEB, b, err));
}
static
ds(int a, int b, char *err)
{
	j->shelves[b] = disk[a];
	return(j_drive_to_shelf(a, b, SIDEB, err));
}

static
sort(char *errbuf)
{
	int i, j, org;

	for(i = 0; i < j->nshelves; i++)
		index[i] = i;
	qsort(index, j->nshelves, sizeof index[0], cmp);
	for(i = 0; i < j->nshelves; i++){
		if(index[i] < 0) continue;
		if(sd(org = i, NLUN-1, errbuf) < 0)
			return(-1);
		j = index[i];
		index[i] = -1;
		while(j != org){
			if(sd(j, NLUN-2, errbuf) < 0)
				return(-1);
			if(ds(NLUN-2, i, errbuf) < 0)
				return(-1);
			i = j;
			if(index[i] < 0)
				break;
			j = index[i];
			index[i] = -1;
		}
		if(ds(NLUN-1, i, errbuf) < 0)
			return(-1);
	}
	return(0);
}
#endif
0707070035050554431006660011710000040000010134650474362344500000500000106000core����������������L����������{���������d8À��
������l�+0u���]��yy������������������������������������������������������������������x��Y��0��������������Y�6������H��0��0����@
�$40�jukebox%'�'t64��6`�* 6  6������@@����_andrew���,���������҃��,��������� �����H��:�,���h��������r,��:*���+%'�'�'�'���҃�r"3�����/ ������	E�X /�������C�� �������D�9 �/(����.,����
~��������(�/t��X���z����.�.�������5��@��.�9E����/������l������@��@��(x��`�����@��@��������:yY�6Yt6 ��?�������(������}���� .�������������%�/������4 �Y���������
���,%������������}x}}}f}P};}}}�!�!�!�!�!�!�!�!�!k!^!N!H!8!-!!J,R./r1:567N9<!<!<!<!8888��������k���������<�<�<y<a<W<=<+<<	<�;�;�;�;�;�;�;�;�;s;c;T;C;/;;
;�:�:�:�:�:�:�:�:u:k:U:?:&::�9�9/tmp/tn000000000000�=� @lT�TfS�B�S�T�T�T�S�H�S�S�DTBT�c�u�u,u>��u�u�u�uhuiJu�u.}�u,u��5|	<1<10Q4Q         (((((                  H���������������������� /bin/shsh-c*}�@ B�CzEG@�HPtJ$L���M �nO(kQ��R�C@hT��V�*�W ��cY�_�1[���\���.^^kv:@
`#lj�a�x��bXc&���zex�n2���fh
?�WSh��Ρ�[���u��+��p�%��ľ�MO�E��9��.�N������:���z����@�+9!=1410Q0Q}	,0�������c��/�����qOf���c�d��
�����c22�/L��8���S����������	��������
�c�c ���p��xA��������������/�������9,�������9�� ������<��6 ��������null pointer dereferenced @gen/strtol.c:22
 ������� 0Q.������Ç4141 �����q��/,����؊
 ���`��hw���w��B��/������/��U��H�������������������-��q�����������������jukebox-wCDEST=dk!nj/astro/bowell!mesgdcon!CDPATH=:/usr/ucds/src:/usr/src/cmd:/usr/andrewCSOURCE=source=dk!nj/astro/r70 user=andrew line=nj/astro/3.23/8.7.FHISTORY=/tmp/histagh857HOME=/usr/andrewPATH=:/usr/andrew/bin:/bin:/usr/bin:/usr/jerq/bin:/usr/ape/apebinPS1=bowell=; PS2=	TERM=dumbm.0707070035050377371006440011710000040000010647110464677201700001000000027722dslib.c/*
|| dslib.c - library routines for /dev/scsi
||
|| Copyright 1988, 1989, by
||   Gene Dronek (Vulcan Laboratory) and
||   Rich Morin  (Canta Forda Computer Laboratory).
|| All rights reserved.
*/
#ident	"dslib.c: $Revision: 1.1.1.1 $"

#include <stdio.h>
#include <sys/types.h>

#include "dslib.h"
#ifdef aux
#include <sys/vio.h>
#include <sys/scsireq.h>
#endif aux

int dsdebug=0;
long dsreqflags;	/* flag bits always set by filldsreq */

#define min(i,j)  ( (i) < (j) ? (i) : (j) )


/*
|| Startup/shutdown -----------------------------------------------
*/

static struct context *dsc[FDSIZ];


/*
|| dsopen - open device, set up structures
*/

struct dsreq *
dsopen(opath, oflags)
  char *opath;
  int   oflags;
{
    
  struct dsreq *dsp;
  struct context *cp;
  int fd;
  DSDBG(fprintf(stderr,"dsopen(%s,%x) ", opath, oflags));

  fd = open(opath, oflags);
  if (fd < 0)						
    return NULL;  			/* can't open	*/
  if (dsc[fd] != NULL)		        /* already in use */
    ds_zot("dsopen: fd already in use");

  cp = (struct context *) calloc(1, sizeof(struct context));
  if (cp == NULL)				      /* can't allocate	*/
    ds_zot("dsopen: can't allocate space");
  dsc[fd] = cp;
  cp->dsc_fd = fd;
  dsp = &(cp->dsc_dsreq);

  dsp->ds_flags =	0;
  dsp->ds_time =	10 * 1000;	/* 10 second default timeout */
  dsp->ds_private =	(ulong) cp;	/* pointer back to context */
  dsp->ds_cmdbuf = 	cp->dsc_cmd;
  dsp->ds_cmdlen = 	sizeof cp->dsc_cmd;
  dsp->ds_databuf = 	0;
  dsp->ds_datalen = 	0;
  dsp->ds_sensebuf =	cp->dsc_sense;
  dsp->ds_senselen = 	sizeof cp->dsc_sense;
  DSDBG(fprintf(stderr,"=>cp %x, dsp %x\n", cp, dsp));
  return dsp;
}


/*
|| dsclose - close device, release context struct.
*/

dsclose(dsp)
  struct dsreq *dsp;
{
  int fd;
  struct context *cp;

  if (dsp == NULL)
    ds_zot("dsclose: dsp is NULL");

  cp = (struct context *)dsp->ds_private;
  fd = getfd(dsp);
  if ( cp == NULL )
    ds_zot("dsclose: private is NULL");

  cfree(cp);
  dsc[fd] = (struct context *)NULL;
  return;
}


/*
|| Generic SCSI CCS Command functions ------------------------------------
||
|| dsp		dsreq pointer
|| data		data buffer pointer
|| datalen	data buffer length
|| lba		logical block address
|| vu		vendor unique bits
*/

/*
|| testunitready00 - issue group 0 "Test Unit Ready" command (0x00)
*/

testunitready00(dsp)
  struct dsreq *dsp;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_TEST, 0, 0, 0, 0, 0);
  filldsreq(dsp, 0, 0, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| requestsense03 - issue group 0 "Request Sense" command (0x03)
*/

requestsense03(dsp, data, datalen, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_REQU, 0, 0, 0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| write0a - issue group 0 "Write" command (0x0a)
*/

write0a(dsp, data, datalen, lba, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_WRIT, B3(lba), B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| inquiry12 - issue group 0 "Inquiry" command (0x12)
*/

inquiry12(dsp, data, datalen, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_INQU, 0, 0, 0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| modeselect15 - issue group 0 "Mode Select" command (0x15)
||
|| save		0 - don't save saveable pages
|| 		1 - save saveable pages
*/

modeselect15(dsp, data, datalen, save, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char save, vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_MSEL, save&1, 0, 0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_WRITE|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| modesense1a - issue group 0 "Mode Sense" command (0x1a)
||
|| pagectrl	0 - current values
||		1 - changeable values
||		2 - default values
||		3 - saved values
||
|| pagecode	0   - vendor unique
||		1   - error recovery
||		2   - disconnect/reconnect
||		3   - direct access dev. fmt.
||		4   - rigid disk geometry
||		5   - flexible disk
||		6-9 - see specific dev. types
||		0a  - implemented options
||		0b  - medium types supported
||		3f  - return all pages
*/

modesense1a(dsp, data, datalen, pagectrl, pagecode, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char pagectrl, pagecode, vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN, 0x10,
    ((pagectrl&3)<<6) | (pagecode&0x3F),
    0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| senddiagnostic1d - issue group 0 "Send Diagnostic" command (0x1d)
||
|| self		0 - run test, hold results
||		1 - run test, return status
||
|| dofl		0 - device online
||		1 - device offline
||
|| uofl		0 - unit online
||		1 - unit offline
*/

senddiagnostic1d(dsp, data, datalen, self, dofl, uofl, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char self, dofl, uofl, vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN,
    (self&1)<<2 | (dofl&1)<<1 | (uofl&1),
    0, B2(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| readcapacity25 - issue group 1 "Read Capacity" command (0x25)
||
|| pmi		0 - return last logical block, entire unit
||		1 - return last logical block, current track
*/

readcapacity25(dsp, data, datalen, lba, pmi, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char pmi, vu;
{
  fillg1cmd(dsp, CMDBUF(dsp), G1_RCAP, 0, B4(lba), 0, 0, pmi&1, B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
    /* |DSRQ_CTRL2 */ );
  /* dsp->ds_time = 100;	/* often takes a while */
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| readextended28 - issue group 1 "Read Extended" command (0x28)
*/

readextended28(dsp, data, datalen, lba, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char vu;
{
  fillg1cmd(dsp, CMDBUF(dsp), G1_READ, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
    /* |DSRQ_CTRL2 */ );
  /* dsp->ds_time = 100;	/* often takes a while */
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| writeextended2a - issue group 1 "Write Extended" command (0x2a)
*/

writeextended2a(dsp, data, datalen, lba, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char vu;
{
  fillg1cmd(dsp, CMDBUF(dsp), G1_WRIT, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
    /* |DSRQ_CTRL2 */ );
  /* dsp->ds_time = 100;	/* often takes a while */
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| Support functions ----------------------------------------------------
*/

/*
|| fillg0cmd - Fill a Group 0 command buffer
*/

fillg0cmd(dsp, cmd, b0,b1,b2,b3,b4,b5)
  struct dsreq *dsp;
  uchar_t *cmd, b0,b1,b2,b3,b4,b5;
{
  uchar_t *c = cmd;
  DSDBG(fprintf(stderr,"fillg0cmd(%x,%x, %02x %02x %02x %02x %02x %02x)\n",
		dsp, cmd, b0,b1,b2,b3,b4,b5));
  *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
	
  CMDBUF(dsp) = (caddr_t) cmd;
  CMDLEN(dsp) = 6;
}


/*
|| fillg1cmd - Fill a Group 1 command buffer
*/

fillg1cmd(dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9)
  struct dsreq *dsp;
  uchar_t *cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
{
  uchar_t *c = cmd;
  DSDBG(fprintf(stderr,
    "fillg1cmd(%x,%x, %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x)\n",
		dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9));

  *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
  *c++ = b6, *c++ = b7, *c++ = b8, *c++ = b9;
	
  CMDBUF(dsp) = (caddr_t) cmd;
  CMDLEN(dsp) = 10;
}


/*
|| filldsreq - Fill a dsreq structure
*/

filldsreq(dsp,data,datalen,flags)
  struct dsreq		*dsp;
  uchar_t		*data;
{
  DSDBG(fprintf(stderr,"filldsreq(%x,%x,%d,%x) cmdlen %d\n",
		dsp,data,datalen,flags,CMDLEN(dsp)));
  dsp->ds_flags	= flags | dsreqflags |
	  (((dsdebug&1) ? DSRQ_TRACE : 0) |
	  ((dsdebug&2) ? DSRQ_PRINT : 0));
  dsp->ds_time	= 10 * 1000;	/* default to 10 seconds */
  dsp->ds_link	= 0;
  dsp->ds_synch	= 0;
  dsp->ds_ret  	= 0;

  DATABUF(dsp) 	= (caddr_t) data;
  DATALEN(dsp)	= datalen;
}


/*
|| bprint - print array of bytes, in hex.
*/

#define hex(x) "0123456789ABCDEF" [ (x) & 0xF ]

bprint(s,n,nperline,space)
	char *s;
{
	int   i, x;
	char  *sp = (space) ? " ": "";

	for(i=0;i<n;i++)  {
		x = s[i];
		fprintf(stderr,((i%4==3)?"%c%c%s%s":"%c%c%s"),
			hex(x>>4), hex(x), sp, sp);
		if ( i%nperline == (nperline - 1) )
			fprintf(stderr,"\n");
	}
	if ( space )
		fprintf(stderr,"\n");
}


/*
|| doscsireq - issue scsi command, return status or -1 error.
*/

doscsireq( fd, dsp)
  int	fd;		/* ioctl file descriptor */
  struct dsreq *dsp;	/* devscsi request packet */
{
  int	cc;
  int	retries = 4;
  uchar_t	sbyte;

  DSDBG(fprintf(stderr,"doscsireq(%d,%x) %x ---- %s\n",fd,dsp,
    (CMDBUF(dsp))[0],
    ds_vtostr( (CMDBUF(dsp))[0], cmdnametab)));

  /*
   *  loop, issuing command
   *    until done, or further retry pointless
   */

  while ( --retries > 0 )  {

   caddr_t sp;

    sp =  SENSEBUF(dsp);
    DSDBG(fprintf(stderr,"cmdbuf   =  ");
		bprint(CMDBUF(dsp),CMDLEN(dsp),16,1));
    if ( (dsp->ds_flags & DSRQ_WRITE) )
      DSDBG(bprint( DATABUF(dsp), min(50,DATALEN(dsp)),16,1 ));
  	
DSDBG(fprintf(stderr,"databuf datalen %x %d\n",DATABUF(dsp), DATALEN(dsp)));
    cc = ioctl( fd, DS_ENTER, dsp);
    if ( cc < 0)  {
      ds_panic(dsp, "cannot ioctl fd %d\n",fd);
    }
  	
	DSDBG(fprintf(stderr,"cmdlen after ioctl=%d\n",CMDLEN(dsp)));
    DSDBG(fprintf(stderr,"ioctl=%d ret=%x %s",
      cc, RET(dsp), 
      RET(dsp) ? ds_vtostr(RET(dsp),dsrtnametab) : ""));
    DSDBG(if (SENSESENT(dsp)) fprintf(stderr," sensesent=%d",
      SENSESENT(dsp)));

    DSDBG(fprintf(stderr,
      " cmdsent=%d datasent=%d sbyte=%x %s\n",
      CMDSENT(dsp), DATASENT(dsp), STATUS(dsp),
      ds_vtostr(STATUS(dsp), cmdstatustab)));
    DSDBG(if ( FLAGS(dsp) & DSRQ_READ )
      bprint( DATABUF(dsp), min(16*16,DATASENT(dsp)), 16,1));

#ifdef aux
  /*
   *  check for AUX bus-error 
   *  we retry with poll-dma
   */
    if ( RET(dsp) == DSRT_AGAIN )  {
      int n = SDC_RDPOLL|SDC_WRPOLL;
      DSDBG(fprintf(stderr,"setting rd/wr-poll"));
      cc = ioctl( fd, DS_SET, n);	/* set bits */
      if ( cc != 0 )
        return -1;
    }
#endif aux

    if ( RET(dsp) == DSRT_NOSEL )
      continue;		/* retry noselect 3X */

    /* decode sense data returned */
    if ( SENSESENT(dsp) )  {
      DSDBG(
        fprintf(stderr, "sense key %x - %s\n",
          SENSEKEY(sp),
          ds_vtostr( SENSEKEY(sp), sensekeytab));
        bprint( SENSEBUF(dsp),
          min(100, SENSESENT(dsp)),
          16,1);
      );
    }
    DSDBG(fprintf(stderr, "sbyte %x\n", STATUS(dsp)));

    /* decode scsi command status byte */
    sbyte = STATUS(dsp);
    switch (sbyte)  {
      case 0x08:		/*  BUSY */
      case 0x18:		/*  RESERV CONFLICT */
    	sleep(2);
    	continue;
      case 0x00:		/*  GOOD */
      case 0x02:		/*  CHECK CONDITION */
      case 0x10:		/*  INTERM/GOOD */
      default:
    	return sbyte;
    }
  }
  return -1;	/* fail retry limit */
}


/*
|| opttovar - lookup option in table, return var addr (NULL if fail)
*/

int *
opttovar( ostr, table)
  char *ostr;
  struct opttab{
    char *opt;
    int  *var;
  } *table;
{
  register struct opttab *tp;

  for (tp=table; (tp->var); tp++)
    if ( strncmp( ostr, tp->opt, 3) == 0 )
      break;

  if ( !tp->var )
    fprintf(stderr,"unknown option %s", ostr);
	
  return (tp->var);
}


/*
|| ds_vtostr - lookup value in table to return string pointer
*/

char *
ds_vtostr( v, table)
  long v;
  struct vtab *table;
{
  register struct vtab *tp;

  for (tp=table; (tp->string); tp++)
    if ( v == tp->val )
      break;
	
  return (tp->string) ? tp->string : "";
}


/*
|| ds_panic - yelp, leave...
*/

ds_panic( fmt, v)
  char *fmt;
  int v;
{
  extern errno;

  fprintf(stderr,fmt,v);
  fprintf(stderr,"\nerrno = %d\n",errno);
  exit(1);
}


/*
|| ds_zot - go away, with a message.
*/

ds_zot(message)
  char *message;
{
  fprintf(stderr, "%s\n", message);
  exit(1);
}
0707070035050555621006660011710000040000010000000467375467200000600000000000file40707070035050374700407770011710000040000020653770503442322500001000000000000generic0707070035050374561006660011710000040000010651460503441562300001600000002274generic/dev.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static int gen_id(ClientData, Tcl_Interp *it, int argc, char **argv);

static Function fns[] = {
	{ "capacity", "capacity [lun=0 ...]", "L?", gen_capacity },
	{ "dev", "dev [type] # dev ? for list", "S?", gen_dev },
	{ "display", "display", "", gen_display },
	{ "help", "help [cmd]", "S?", gen_help },
	{ "id", "id [target=0]", "L?", gen_id },
	{ "inq", "inq [lun=0]", "L?", gen_inq },
	{ "read", "read lun start [count [file]]", "LII?", gen_read },
	{ "readt", "readt count [lun=0]", "IL?", gen_readt },
	{ "reset", "reset", "", gen_reset },
	{ "scsi", "scsi bytes... # 6 or 10", "I?I?I?I?I?I?I?I?I?I?", gen_scsi },
	{ "sense", "sense [lun=0]", "L?", gen_sense },
	{ "start", "start [lun=0]", "L?", gen_start },
	{ "stop", "stop [lun=0]", "L?", gen_stop },
	{ "testunit", "testunit [lun=0", "L?", gen_tur },
	{ 0 }
};

Device genericdev = {
	"scsi", "generic scsi",
	gen_extsense,
	fns
};

static int
gen_id(ClientData err, Tcl_Interp *it, int argc, char **argv)
{
#pragma ref it
#pragma ref err

	if(argc <= 1)
		printf("current SCSI id = %d\n", s_id);
	else
		scsi_target(atoi(argv[1]));
	return(TCL_OK);
}
0707070035050374541006660011710000040000010134220467251443300001600000002304generic/inq.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

char *gen_rmb[2] = { "nonremovable", "removable" };
char *gen_devtype[256] = {
	"direct access",
	"sequential access",
	"printer",
	"processor",
	"worm",
	"cd-rom"
};

int
gen_inq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i;
	int args[8], na;

#pragma ref it

	na = 0;
	if(argc == 1)
		args[na++] = 0;
	else if((argc == 2) && (atoi(argv[1]) < 0)){
		for(i = 0; i < 8; i++)
			args[na++] = i;
	} else {
		for(i = 1; i < argc; i++)
			args[na++] = atoi(argv[i]);
	}
	for(i = 0; i < na; i++){
		set6(cmd, 0x12, args[i]<<5, 0, 0, 36, 0);
		if(s_io(0, &cmd, 0, &ret, -36, cd->err))
			ERR_RETURN
		printf("inq(%d,%d): %s %s;", s_id, args[i],
			gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]]);
		if(ret.data[4] >= 16){
			char buf[256];

			fixedstr(&ret.data[8], 8, buf);
			printf(" %s", buf);
			if(ret.data[4] >= 32){
				fixedstr(&ret.data[16], 16, buf);
				printf("/%s", buf);
				if(ret.data[4] >= 36){
					fixedstr(&ret.data[32], 4, buf);
					printf(" rev=%s", buf);
				}
			}
		}
		printf(" [%d bytes]\n", ret.data[4]);
	}
	return(TCL_OK);
}
0707070035050374531006660011710000040000010307730467643721700002000000003064generic/sense.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

char *argv0;		/* not a good place, is it */

int
gen_sense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;

#pragma ref it

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0x03, unit<<5, 0, 0, 4, 0);
		if(s_io(0, &cmd, 0, &ret, 4, cd->err))
			ERR_RETURN;
		printf("sense(%d,%d): ", s_id, unit);
		if((ret.data[0]&0x7F) == 0)
			printf("no error\n");
		else {
			printf("error class=0x%x, code=0x%x, sense=0x%x",
				(ret.data[0]>>4)&7, ret.data[0]&0xF, ret.data[2]&0xF);
			if(ret.data[0]&0x80)
				printf(", addr=0x%x", ret.data[3]+256L*ret.data[2]+256L*256*ret.data[1]);
			printf("\n");
		}
	}
	return(TCL_OK);
}

static char *exstab[16] =
{
	"no sense",
	"recovered error",
	"not ready",
	"medium error",
	"hardware error",
	"illegal request",
	"unit attention",
	"data protect",
	"blank check",
	"vendor specific (#9)",
	"copy aborted",
	"aborted command",
	"equal",
	"volume overflow",
	"miscompare",
	"reserved (#f)",
};

void
gen_extsense(uchar *data, char *dest, int ndata)
{
	int class;

#pragma ref ndata

	class = (data[0]>>4)&7;
	if(class == 7){
		if(data[0]&0x80)
			sprintf(dest, "extended sense: %s info=#%2.2x#%2.2x#%2.2x#%2.2x", exstab[data[2]&0xF], data[3], data[4], data[5], data[6]);
		else
			sprintf(dest, "extended sense: %s", exstab[data[2]&0xF]);
	} else {
		sprintf(dest, "sense: class=#%x, code=#%x", class, data[0]&0xF);
	}
}
0707070035050374521006660011710000040000010653520467172164700002000000000741generic/start.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
gen_start(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;

#pragma ref ncargs
#pragma ref cargs

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0x1B, unit<<5, 0, 0, 1, 0);
		if(s_io(0, &cmd, 0, &ret, 0, cd->err))
			ERR_RETURN
	}
	return(0);
}
0707070035050374511006660011710000040000010653430467172160000001700000000677generic/stop.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
gen_stop(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0x1B, unit<<5, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 0, cd->err))
			ERR_RETURN
	}
	return(TCL_OK);
}
0707070035050374501006660011710000040000010653310467172077200002300000001202generic/capacity.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
gen_capacity(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;
	unsigned long ns, ss;

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set10(cmd, 0x25, unit<<5, 0, 0, 0, 0, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 8, cd->err))
			ERR_RETURN
		ns = longat(&ret.data[0]);
		ss = longat(&ret.data[4]);
		printf("capacity(%d,%d): %ld blocks of %ld bytes (#%xx#%x)\n",
			s_id, unit, ns, ss, ns, ss);
	}
	return(TCL_OK);
}
0707070035050374471006660011710000040000010653370467172123400002200000002343generic/display.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

extern char *gen_rmb[2];
extern char *gen_devtype[256];

int
gen_display(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n, i, old_id;
	int retv = TCL_OK;
	char rev[100], vendor[100], product[100];

#pragma ref argc
#pragma ref argv

	old_id = s_id;
	for(s_id = 0; s_id < 8; s_id++){
		printf("target %d:\n");
		set6(cmd, 0x00, 0, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 0, cd->err))
			continue;
	printf("responded to test unit ready\n");
	continue;
		for(i = 0; i < 8; i++){
			set6(cmd, 0x12, i<<5, 0, 0, 36, 0);
			if(s_io(0, &cmd, 0, &ret, -36, cd->err)){
				it->result = cd->err;
				retv = TCL_ERROR;
				break;
			}
			if(ret.nread >= 16)
				fixedstr(&ret.data[8], 8, vendor);
			else
				sprintf(vendor, "??");
			if(ret.nread >= 32)
				fixedstr(&ret.data[16], 16, product);
			else
				sprintf(product, "??");
			if(ret.nread >= 16)
				fixedstr(&ret.data[32], 4, rev);
			else
				sprintf(vendor, "??");
			printf("\tlun(%d): %s %s, %s/%s rev=%s\n", i,
				gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]],
				vendor, product, rev);
		}
	}
	s_id = old_id;
	return(retv);
}
0707070035050374461006660011710000040000010653670467172175000002000000000750generic/reset.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"
#include	<scsi.h>

int
gen_reset(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

#pragma ref argc
#pragma ref argv
#pragma ref it

	set6(cmd, 0, 0, 0, 0, 0, 0);
	cmd.bus_id = s_id;
	cmd.flags |= SCSI_RESET | SCSI_BRESET;
	/* should probably test for some kind of error... */
	ss_io(0, &cmd, 0, &ret, 0, cd->err);
	return(TCL_OK);
}
0707070035050374451006660011710000040000010654010467172207000001600000001024generic/tur.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
gen_tur(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;

#pragma ref ncargs
#pragma ref cargs

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0x00, unit<<5, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 0, cd->err))
			ERR_RETURN
		printf("(%d,%d): good status\n", s_id, unit);
	}
	return(TCL_OK);
}
0707070035050374441006660011710000040000010654030467172243200001700000001140generic/scsi.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

#define	A(n)	atoi(argv[n])

int
gen_scsi(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	switch(argc)
	{
	case 7:
		set6(cmd, A(1), A(2), A(3), A(4), A(5), A(6));
		break;
	case 10:
		set10(cmd, A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8), A(9), A(10));
		break;
	default:
		sprintf(cd->err, "number of bytes (%d) must be 6 or 10\n", argc-1);
		return(TCL_ERROR);
	}
	if(s_io(0, &cmd, 0, &ret, 0, cd->err))
		ERR_RETURN
	return(TCL_OK);
}
0707070035050370561006660011710000040000010651540503441566700001600000001473generic/fns.hextern int gen_inq(ClientData , Tcl_Interp *, int , char **);
extern int gen_dev(ClientData , Tcl_Interp *, int , char **);
extern int gen_sense(ClientData , Tcl_Interp *, int , char **);
extern int gen_help(ClientData , Tcl_Interp *, int , char **);
extern int gen_start(ClientData , Tcl_Interp *, int , char **);
extern int gen_stop(ClientData , Tcl_Interp *, int , char **);
extern int gen_capacity(ClientData , Tcl_Interp *, int , char **);
extern int gen_display(ClientData , Tcl_Interp *, int , char **);
extern int gen_reset(ClientData , Tcl_Interp *, int , char **);
extern int gen_tur(ClientData , Tcl_Interp *, int , char **);
extern int gen_scsi(ClientData , Tcl_Interp *, int , char **);
extern int gen_readt(ClientData , Tcl_Interp *, int , char **);
extern int gen_read(ClientData , Tcl_Interp *, int , char **);
0707070035050370551006660011710000040000010136000467251661100002000000002051generic/readt.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
gen_readt(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int unit, i;
	unsigned long ns, ss;
	long bs, addr;
	long t1, t2;
	int count;

	if(argc < 2)
		USAGE_RETURN
	count = atol(argv[1]);
	unit = (argc >= 3)? atoi(argv[2]):0;
	set10(cmd, 0x25, unit<<5, 0, 0, 0, 0, 0, 0, 0, 0);
	if(s_io(0, &cmd, 0, &ret, 8, cd->err))
		ERR_RETURN
	ns = longat(&ret.data[0]);
	ss = longat(&ret.data[4]);
	bs = ss? sizeof(ret.data)/ss : 1;
	time(&t1);
	srand(t1);
	addr = nrand(ns-count)-1;
	printf("read(%d,%d): %d blocks @%d (bs=%dB, %d sectors),", s_id, unit, count, addr, bs*ss, bs);
	fflush(stdout);
	time(&t1);
	for(i = count; i > 0; i -= bs){
		set10(cmd, 0x28, unit<<5, addr>>24, addr>>16, addr>>8, addr,
			0, 0, bs*0, 0);
		if(s_io(0, &cmd, 0, &ret, bs*ss, cd->err))
			ERR_RETURN
		addr += bs;
	}
	time(&t2);
	printf(" t=%ds (%.0fKB/s)\n", t2-t1, (count*(float)ss/1024.)/((t1 == t2)? 1:t2-t1));
	return(0);
}
0707070035050554411006640011710000040000010654100467172476100001500000300000generic/core��������������!���������
���|�0�������d8À�����������l�
@
-0u|��½�yy����������������������������������������������������������������0�x��-��������0��1�� �� ��<���0�H��0��0�����@}�$�qrcc��&J�

������J�izk
  eL`�J�i
  e������@@����_andrew���,��������|�	��r�/�������Q��
�|�	�  �����-\�|�	�|�	���/�/l��H��:{� x��P��-\��L����|�	��/������Q� ������	E�Ti /�������C�� �������D�2k �/$����.(����
~��@�
�@�
�(�/p��T���z����Nq�.�������5�����Nq�2kE@�
��/��������8R
������(t��\��@��������Թ�ؙ��22
:y�3�<�<J�
r��?���������(���|����0�.���������0�
��/����� �@x�?x����8R�s�����)�D�����.MM}QM)M,^^PX,kPXBl,kBl�Y�Y�_�h�h�_�k�k�_0Z�_^^0�o@�o��o0�o@�oP�o`�op�o��o��o��o��o�o��o��o�|ozowo uo0�o%ro %po0%mo@%jo



		


`�0�0@�@%0%�0�pP 0���M }M MQ     %   )  , ./ 123456789:M<=>?@ QMMMMMMQMMMQMQMQM[]^M|} ���������������@��	@
@
��(�4�����
�������������������������������������������~�|�z�x�u�r�o�l�i�f�c�`�]�Z�X�V�T�R�P�N�J�C�?�:�4�/�&��������������������������������������@�M }M }�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd|dydvdsdpdmdjdgdddad^d[dXdUdRdOdLdIdFdCd@d=d:d7d4d1d.d+d(d%d"ddddddd
d
dddd�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c|cxctcpclchcdc`c\cXcTcPcLcHcDc@c<c8c4c0c,c(c���{���P8=��ktA-QC]w���Sn���A����*Qx+^aw}0���eo��$12"�\�-Z�n8�Z��c^H�fI&u�tA��a��j:��K<��W&�XhN��d	���?\qcLN�*OH��SY"�y=lSuI�P�y~MH�x�@V;Zg#WpCQ`,�����U�DQ��	:�#���a�����aT�kH�5	��`#���)���CAm�_�eNP[���i]��T$.KD_nbX�xm0hX��M�)X%��5�`�Ejj|���e6T`�3��4�,�uh�{�n�Pv�I���bqh�,��D��`t#<�i�O�ot�qM�am�]`Ʉ̡��[�K{��t{�^%��3�i�BtԇoJ6�is�W���Y��70j>�C�p��K;]XJ��X�/*��Y�͋"�8-q�0K\��4�9�g�_���p���;�bT��M}�Ζj���1���p}z`��}����(����1��P����ܢ���������������@�L�X�خ��O�į���ȸ��Pİ4��Q�X����z��Ա8{0�8��{�D�������<�ܳl��~��`LT����LT���đd��p��?�:D;�;<�<���<p�0�`=Mĥ�=$�8>(��>?:|?l:d�p�xR|�������Է��P�X���x�R�(�(J�E�A�<�6�2�.�*�&�"�����������������ݱرԱϱ˱DZı��������������_�Y�Q�I�n|b|B|3||
||�{�{�{�{�{�{v{g{[{N{?{4{+{{{�z�z�z�z�z�z�zlzXzEz2zzzz	zz�y�y�y��y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y}yyyuypycyVyHy9y-y$yyyy�x�x�x�x�x�x�x�x�x�x�x�x�x�x�yx{xvxrxmxixdx`x[xWxRxNxLxJxHxFxDx@x<x8x4x0x,x(x$x xxxx
xx�yLxJxHxFxDxxx�y�d�d�d�d�d�d�*8�8�8��h���������)��������������@��-.�;�>D;[-�=<=�>�<X? ;�:�;>d<@�*�-��H:����`@�@A\A,R R# 1 "readt.c"
# 1 "/usr/ape/include/stdio.h"



 


# 1 "/usr/ape/include/stdarg.h"



typedef char *va_list;








# 7 "/usr/ape/include/stdio.h"

# 1 "/usr/ape/include/stddef.h"






typedef long ptrdiff_t;


typedef unsigned size_t;



typedef char wchar_t;



# 8 "/usr/ape/include/stdio.h"

 



















typedef struct{
	int fd;		 
	char flags;	 
	char state;	 
	char *buf;	 
	char *rp;	 
	char *wp;	 
	char *lp;	 
	size_t bufl;	 
	char unbuf[1];	 
}FILE;
typedef long fpos_t;



 




















extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *, ...);
extern int printf(const char *, ...);
extern int scanf(const char *, ...);
extern int sprintf(char *, const char *, ...);
extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, va_list);
extern int vprintf(const char *, va_list);
extern int vsprintf(char *, const char *, va_list);
extern int vfscanf(FILE *, const char *, va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);

extern int _IO_getc(FILE *f);
extern int getchar(void);

extern char *gets(char *);
extern int putc(int, FILE *);

extern int _IO_putc(int, FILE *);
extern int putchar(int);

extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long int, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long int ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
extern FILE _IO_stream[90		];
extern FILE *sopenr(const char *);
extern FILE *sopenw(void);
extern char *sclose(FILE *);
extern char *rdline(FILE *, char **);







# 1 "readt.c"

# 1 "../scsi.h"
typedef unsigned char uchar;

struct scsi_cmd
{
	unsigned long id;
	uchar bus_id;		 
	uchar flags;
	uchar cmd[10];		 
	uchar data[4096];	 
};

struct scsi_return
{
	unsigned long id;
	uchar scsi_stat;	 
	uchar scsi_msg;		 
	uchar flags;
	uchar type;		 
	unsigned short reg1;	 
	unsigned short reg2;	 
	unsigned char sense[22];
	char pad[2];
	uchar data[4096];	 
	uchar nread;		 
};









extern s_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
extern ss_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
extern int s_ignua;	 
extern void (*ss_extsense)(uchar *, char *, int);
extern int s_start(int, char *);
extern int s_stop(int, char *);
extern int s_eject(int, char *);
extern int s_id;
extern unsigned long longat(uchar *);
# 2 "readt.c"

# 1 "../scsish.h"
struct ClientData
{
	char err[256];
};
typedef struct ClientData *ClientData;




struct Tcl_Interp;
typedef int (*Functionfn)(ClientData, struct Tcl_Interp *, int, char **);

typedef struct
{
	char *name;
	char *help;
	char *param;
	Functionfn fn;
} Function;

typedef struct
{
	char *name;
	char *verbose;
	void (*extsense)(uchar *, char *, int);
	Function *fns;
} Device;
extern void setdevice(Device *);

extern void scsi_target(int);
extern void fixedstr(uchar *src, int len, char *dest);
extern void gen_extsense(uchar *, char *, int);
extern int shelfside(char *arg, char *err);
extern void xd(uchar *base, int, FILE *fp);
# 3 "readt.c"

# 1 "fns.h"
extern int gen_inq(ClientData , Tcl_Interp *, int , char **);
extern int gen_dev(ClientData , Tcl_Interp *, int , char **);
extern int gen_sense(ClientData , Tcl_Interp *, int , char **);
extern int gen_help(ClientData , Tcl_Interp *, int , char **);
extern 
�;���������.text
Ltext:.stabs "readt.c",0x64,0,0,Ltext
.stabs "rcc",0xf0,0,17665,652716528
missing parameter name to function `gen_inq'
d�4�t����|�,>Q��`��0���̦�L0��N��`��>h����Mԝ�`��TL}8��M�)L�ԁ<@���M��H�(�H@HN`�D~T=,����N�?�����0����hM�:HOx������Ƚ�;X���T@��(�(����K�{hN�8;,|p��Q��؄��L� �д���=���<�N����؟$����d�������H��M��p?`:$PP�d���Խ�zH�����(���$���<��?L.:�)R�;�;�;�;�;|?�?��`�������ij�����lOh�ܧȜ��Բ �PDXBHFHFHFHFHF<IDG4K4K4K4K4K4K�*�Q�Q�Q(z�)chardoublefloatintlong doublelong intshortsigned charunsigned charunsigned long intunsigned short intunsigned intvoidchar[]T*readt.c/usr/ape/include/stdio.h/usr/ape/include/stdarg.h-1va_list/usr/ape/include/stddef.hptrdiff_tsize_twchar_tfdflagsstatebufrpwplpbuflunbufFILEfpos_tremoverenametmpfiletmpnamfclosefflushfopenfreopensetbufsetvbuffprintf...fscanfprintfscanfsprintfsscanfvfprintfvprintfvsprintfvfscanffgetcfgetsfputcfputsgetc_IO_getcfgetchargetsputc_IO_putcputcharputsungetcfreadfwritefgetposfseekfsetposftellrewindclearerrfeofferrorperror_IO_streamsopenrsopenwscloserdline../scsi.hucharscsi_cmdidbus_idcmddatascsi_returnscsi_statscsi_msgtypereg1reg2sensepadnreads_ioss_ios_ignuass_extsenses_starts_stops_ejects_idlongat../scsish.hClientDataerrTcl_InterpFunctionfnnamehelpparamfnFunctionverboseextsensefnsDevicesetdevicescsi_targetfixedstrsrclendestgen_extsenseshelfsideargxdbasefpfns.hgen_inq�)H::�)�)�::l:H:** ;l:�:�:
*
*�;�:D; ;**�;D;�;�;**d<�;<�;#*#*�<<�<d<)*)*<=�<�<�<5*
�<5*�=�<`=<=C*C*>`=�=�=U*U*�>�=8>>h*h*�>8>�>�>u*u*X?�>?�>z*z*?�*�*|?X?�?�*�*�*�*�d�@�d�@`@�dHA�@�d�AA�d�A\A�dDB�A�A�d�B0BB�d�BXB�d@C�B�B�d�CCC�d�CTCTC�d<D�C�C�d�D �C�C�d�DPD�d8E�D�D�d�E�D�D�d�ELELE�d4F�E�E�d�F �E�E�d�F�HF�d0G�F�F�d�G
�F�F�d�G@DG�d,H��G�G�d�H�G�G�d�H	@H@H�d(I
�H�H�d|I�H�H�d�I@<I�d$J��I�I�dxJ�I�I�d�J	8J8J�d K
�J�J�dtK�J�J�*H:�?�*S�K�*
�*�*	�*Sd<�*
�K�*�*S�>�*
L�*�*SH:�*
`L�*�dPM�*tM�?	 MX?�*�*�;�M++H:�M++H:�M
+
+�K�M++�KN++�K4N++�KTN++�>�N+H:|?�K+tN%+%+SPM�*'�L*+*+Sd<�*
(�N1+H:tNTO�?ClO�*A�;�O1+1+J�O�*AO8+ClO�*BpPClO�* B�;0P�O8+8+J�P�*B�O?+CX?�*CPM�?\QQ?+?+JtQ�*C�PG+%z�T$z�8Rx� �4R�|�x�x��Y؉u�T�t�x�C�K�*D�K4zG+G+Jtz�*D�QN+C\Q�*E�;�z�PN+N+J {�*E�zU+C\Q�*F�;�{ {U+U+J�{�*F8{\+ClO�*Gx|ClO�*!G\Q8|tQ\+\+J�|�*G�{b+ClO�*Hd}ClO�*#H�}C\Q�*1H\Q$}�|b+b+J�}�*H�|j+C\Q�*I�~C�K�*IX?P~@j+j+J�~�*I�}q+C\Q�*J|C�K�*J�C�;�*#J�C�>�*(J�;<�{q+q+J<��*J�~y+C\Q�*K�ClO�*K4��+�+X?�*)K�;��<�y+y+Jt��*KT��+C\Q�*L �ClO�*L`��+X?�*(L�;��t��+�+J���*L���+ClO�*ML��+X?�* M�;����+�+J���*M���+ClO�*N8��+X?�*N�;�����+�+Jx��*N���+C�K�*O$�ClO�*Od��+X?�*)O�;�x��+�+J���*O���+ClO�*PP�ClO�* P���+X?�*.P�;����+�+JІ�*P���+C\Q�*Q|�ClO�*Q��C�K�**Q�;<�І�+�+J���*Q��+ClO�*R��C�K�*!R�;h����+�+J��*R�O��+\�C�K�*S��ClO�*SԉC�K�**S�;T���+�+J��*S��+C\Q�*T��ClO�*T�C�K�*)T�;����+�+J@��*T�K,��+C\Q�*U�;��@��+�+J��*UX��+(NC�K�*V��C�;�*V،C\Q�* V�KX�tz�+�+J��*V��+C�;�*WčC\Q�*W�;����+�+J��*W0��+ClO�*X��C\Q�*X�;p���+�+J���*X�|��+C\Q�*Y�;\����+�+J���*Y�}��+�+�+C\Q�*[�;����+�+JT��*[���+CX?�*\�;��T��+�+J��*\l��+C�K�*^�Kl���+�+J���*^��+C�;�*_X�C\Q�*_�;���+�+J���*_đ,C�;�*aD�C\Q�*a�;���,,J���*a��
,C�;�*b�;���
,
,J0��*b��,ClO�*d�;��0�,,Jܔ�*dH�,C�;�*e��C\Q�*e�;H�ܔ,,Jȕ�*e��!,C@�*ft�C�>�*f��C�>�*$f��C\Q�*,f�>4�!,!,J4��*f���',X?�~���?C���*g�C�>�*#gP�C�>�*+g��C\Q�*3g�>З4�',',JИ�*gL�.,C\Q�*h��d<�?C|��*h�;<�ȕ.,.,Jԙ�*h�6,C\Q�*i��Cd<�*i��C�;�*#i�;@�ԙ6,6,J��*i�<,C\Q�*jܛd<|����?Cě�*j�;l��<,<,J��*j�D,0@C\Q�*kd<����D,D,JȜ�*k4�J,C\Q�*lX?4���J,J,Jt��*l���Q,C\Q�*mX?��t�Q,Q,J ��*m��Z,C\Q�*n�;���Z,Z,J̞�*n8�_,C\Q�*o�;8�̞_,_,Jx��*o�f,ClO�*pX?� �f,f,J$��*p��m,
@PMM\Qm,m,J���*q<�x,ClO�*r\Q���}x,x,J<��*r��,CX?�*s\Q��<�,,J��*s��T��,������C\Q�*t�K�����,�,JĢ�*t��,C\Q�*u���K�?ĢCp��*u�K0�p��,�,Jȣ�*uH�ܢ�,	�,�,S�=�,��,�,ܤ�,�M	��PM�,�,> ��,�,�=4�+�=l��,
�=|?�,T����,�=|?T��,���,�,��,
$���	(ĥܤ�,>D��,	�,�=d��,�,�=x�+�=���,�,�=���,�,�>ئ�,�,�>
��,�=|?���,��H��,H:|?TO�,0�"\��,��$|��,�,�=$�,C�;�,#��ܤ�?�Cܧ�,#4�C�;�,$#����?x�Ct��,)#̨C�;�,?#�C�K�,D#�;��t��,�,JL��,#@�-�C�;�,
$��Cܧ�,$8�C�;�,%$x�Ct��,*$��C�;�,@$��C�K�,E$�;��L�--J8��,$d�	-	-	-J�;�,%P�-�K�=�?��C���,&P�C�K�,$&��C�;�,,&X?�$�Ь�?��--J��,&��-C�;�,'��C�K�,'�;T�8�--Jԭ�,'�%-C�;�,(��C�K�,(�;@�ԭ%-%-J���,(�N�,-C�;�,)l�C�K�,)�;,���,-,-J���,)خ4-4-4-J�;�,*į9-H�C���,+>l�ȣ9-9-J���,+,��@-L-
L-l�@-��ĥ	$��W-H:|?0�W-��l��?ИL-S��@-İ[-
[-p�@-
$�	(�l�f-
C��@-�p��?CԲ@-&,�C�;@-;l�Cp�@-@�;�������?ěf-Sij@-<�Աq-�L�dx�@-��(�	0�p�r-r-�K��w-4�w-�Kܴ|-|-�K���-�-ij�-�-Sx�@-��ܳ�-$��d��@-е0�	p�x�r-�K��-�-�K��-C��@-P�C�K@-��C�;@-#X?�Ьж�?��-�8��-x��?�- ��-�-S��@-��-	���?C��@-X?ķж�-�-J�@-X��-4�C�;@-X?p���-�-J��@-��-|<�-�-C��@-t��-�-C�;@-!���-�-C�K@-*X?(����-�-J�@-ȸ�-C��@- ��C�K@-" �C�;@-* X?l���-�-J,�@- ��-	�-�-C�K@-!�W-C�K@- !�;�����-�-J$�@-!LD��-�-�-C��@-"ܼC�;@-"(��-�-C\Q@-!"X?��,��-�-Jh�@-"�<��-��.C���- �[-C�;�- �;�$�C��@-����,/x��`��e�(������;�������������(������;�1/D�� ����w(@����;�������>���,��(1/��������(������+�..������xj�s��|�,�������.��(�/������D���8R�s��C����,H�� ��%@`��/���x���2�s�;`�J.`��-�-�-J.,�������KO�$(��������s(������/s�����������������	��B��I��l�������������������d��~�����������=������������������������������$��2��?��:��D������������������������������R��Z��d��������������������������������������/usr/lib/rcc-g2-/tmp/lcc15535.sAS=asBUILTINS=%.o:	%.c
	$CC $CFLAGS -c $stem.c
%.o:	%.s
	$AS -o $stem.o $stem.s
%.o:	%.f
	$FC $FFLAGS -c $stem.f
%.o:	%.y
	$YACC $YFLAGS $stem.y && $CC $CFLAGS -c y.tab.c && mv y.tab.o $stem.o; rm y.tab.c
%.o:	%.l
	$LEX $LFLAGS -t $stem.l > /tmp/$$.c && $CC $CFLAGS -c /tmp/$$.c && mv /tmp/$$.o $stem.o; rm /tmp/$$.c
CC=pccCDEST=dk!nj/astro/bowell!mesgdcon!CDPATH=:/usr/ucds/src:/usr/src/cmd:/usr/andrewCFLAGS=-gCSOURCE=source=dk!nj/astro/r70 user=andrew line=nj/astro/astro4.9/5.7.FENVIRON=FC=f77FFLAGS=GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start ge_reset ge_tur ge_scsi ge_readtHISTORY=/tmp/histagh13261HOME=/usr/andrewIO=h_ioJL=juke.aJLIB=juke.a(allocate.o) juke.a(cold.o) juke.a(getstatus.o) juke.a(ioshelves.o) juke.a(iodr_sh.o) juke.a(lib.o) juke.a(load.o) juke.a(nlun.o) juke.a(warm.o)JSRC=allocate.c cold.c getstatus.c ioshelves.c iodr_sh.c lib.c load.c nlun.c warm.cLDFLAGS=LEX=lexLFLAGS=MKARGS=pootMKFLAGS=NPROC=2NREP=1PATH=:/usr/andrew/bin:/bin:/usr/bin:/usr/jerq/bin:/usr/ape/apebinPS1=bowell=; PS2=	RANLIB=ranlibSHL=scsish.aSHLIB=scsish.a(ge_dev.o) scsish.a(ge_inq.o) scsish.a(ge_capacity.o) scsish.a(ge_display.o) scsish.a(ge_stop.o) scsish.a(ge_start.o) scsish.a(ge_reset.o) scsish.a(ge_tur.o) scsish.a(ge_scsi.o) scsish.a(ge_readt.o) scsish.a(wr_dev.o) scsish.a(wr_inq.o)SL=scsi.aSLIB=scsi.a(s_h_io.o) scsi.a(ge_sense.o) scsi.a(s_volid.o) scsi.a(s_pperror.o) scsi.a(s_fixedstr.o) scsi.a(s_longat.o) scsi.a(s_xd.o)SYS=researchTERM=dumbTL=tcl.aTLIB=tcl.a(tclAssem.o) tcl.a(tclBasic.o) tcl.a(tclCmdAH.o) tcl.a(tclCmdIZ.o) tcl.a(tclExpr.o) tcl.a(tclGlob.o) tcl.a(tclHistory.o) tcl.a(tclProc.o) tcl.a(tclUtil.o)WREN=wr_dev wr_inqX=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory tclProc tclUtilYACC=yaccYFLAGS=alltarget=ge_readt.onewprereq=generic/readt.c generic/fns.h scsish.h scsi.hnproc=0pid=15529prereq=generic/readt.c generic/fns.h scsish.h scsi.hstem=readtstem0=stem1=stem2=stem3=stem4=stem5=stem6=stem7=stem8=stem9=target=ge_readt.o0707070035050651231006660011710000040000010543230503442706400001700000002320generic/read.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
gen_read(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int unit, i;
	unsigned long ns, ss;
	long bs, addr, n;
	long t1, t2;
	int count;
	char *file;
	FILE *fp;

	if(argc < 2)
		USAGE_RETURN
	unit = atoi(argv[1]);
	addr = atol(argv[2]);
	count = (argc >= 3)? atoi(argv[3]):1;
	file = (argc >= 4)? argv[4]:0;
	printf("lun=%d addr=%d count=%d file=%s\n", unit, addr, count, file);
	if(file){
		if((fp = fopen(file, "w")) == NULL){
			pperror(cd->err, file);
			ERR_RETURN
		}
	} else
		fp = 0;
	set10(cmd, 0x25, unit<<5, 0, 0, 0, 0, 0, 0, 0, 0);
	if(s_io(0, &cmd, 0, &ret, 8, cd->err))
		ERR_RETURN
	ns = longat(&ret.data[0]);
	ss = longat(&ret.data[4]);
	bs = ss? sizeof(ret.data)/ss : 1;
	printf("read(%d,%d): %d blocks @%d (bs=%dB, %d sectors)\n", s_id, unit, count, addr, bs*ss, bs);
	fflush(stdout);
	for(i = count, n = bs; i > 0; i -= n){
		if(i < n) n = i;
		set10(cmd, 0x28, unit<<5, addr>>24, addr>>16, addr>>8, addr,
			0, 0, n, 0);
		if(s_io(0, &cmd, 0, &ret, n*ss, cd->err))
			ERR_RETURN
		addr += n;
		if(fp)
			fwrite(ret.data, ss, n, fp);
	}
	return(0);
}
0707070035050406431006660011710000040000010511210464677245500001400000001727getstatus.c#include	<stddef.h>
#include	<stdio.h>
#include	"scsi.h"
#include	"juke.h"

struct Jstatus j_status;

static
dolun(struct Lunstatus *lun, uchar *u)
{
	lun->poweron = ((*u)&0x80) == 0;
	lun->diskin = ((*u)&0x40) != 0;
	lun->ready = ((*u)&0x01) != 0;
	u++;
	lun->diskindrive = ((*u)&0x80) != 0;
	lun->driveshelf = (*u)&0x7F;
	u++;
	lun->shelfvalid = ((*u)&0x80) != 0;
	lun->retshelf = (*u)&0x7F;
}

j_getstatus(char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i;

	set6(cmd, 0x1D, 0, 0, 0, 10, 0);
	memset(cmd.data, 0, 10);
	cmd.data[0] = 0xE2;
	if(s_io(1, &cmd, 10, &ret, 0, err))
		return(-1);
	set6(cmd, 0x1C, 0, 0, 0, 128, 0);
	if(s_io(0, &cmd, 0, &ret, 128, err))
		return(-1);
	for(i = 0; i < 8; i++)
		dolun(&j_status.lun[i], &ret.data[16+4*i]);
	for(i = 0; i < NSHELF; i++)
		j_status.shelf[i] = ret.data[48+i];
	j_status.iounit = ret.data[98];
	j_status.carrier = ret.data[99];
	j_status.udrive = ret.data[100];
	j_status.ldrive = ret.data[101];
	return(0);
}
0707070035050375200407770011710000040000020652070464713312700000400000000000inc0707070035050375171006660011710000040000010653540464713312700001300000000247inc/scsi.h#define	SCSI_WR		0x80
#define	SCSI_RD		0x40
#define	SCSI_BRESET	0x20
#define	SCSI_RESET	0x10
#define	SCSI_SENSE	0x08
#define	SCSI_LTMOUT	0x04


#define	SCSI_CERR	0x01
0707070035050377421006660011710000040000010635640457563431200001200000002035iodr_sh.c#include	"scsi.h"
#include	"juke.h"

j_shelf_to_drive(int sh, Side side, int dr, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	set6(cmd, 0xD6, dr<<5, 0, (sh<<1)|side, 0, 0);
	return(s_io(0, &cmd, 0, &ret, 0, err));
}

j_drive_to_shelf(int dr, int sh, Side side, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	if(sh < 0)
		set6(cmd, 0xD7, dr<<5, 0, 0, 0, 0);
	else
		set6(cmd, 0xD7, (dr<<5)|1, 0, (sh<<1)|side, 0, 0);
	return(s_io(0, &cmd, 0, &ret, 0, err));
}

int
j_empty_drive(long tlimit, char *buf)
{	
	int i, tstop;
	
	tstop = time((long *)0) + tlimit;
	while(time((long *)0) <= tstop){
		setnlun();		/* in case it changes */
		/* look for empty drives */
		for(i = 0; i < nlun; i++)
			if(!j_status.lun[i].diskin)
				return(i);
		/* look for spun down drives */
		for(i = 0; i < nlun; i++){
			if(!j_status.lun[i].ready){
				if(j_drive_to_shelf(i, -1, SIDEA, buf))
					return(-1);
				else
					return(i);
			}
		}
		sleep(10);
		if(j_getstatus(buf))	/* get the jukebox status */
			return(-1);
	}
	return(-1);
}
0707070035050377411006660011710000040000010635660474350146100001400000002652ioshelves.c#include	<stddef.h>
#include	<stdio.h>
#include	<string.h>
#include	"jukeface.h"
#include	"jukebox.h"

char *j_shelf[NSHELF];
int j_wrshelf = 0;

j_rdshelves(char *err)
{
	FILE *fp;
	static haveread = 0;
	int shno;
	char vname[256];

	if(haveread)
		return(0);
	for(shno = 0; shno < NSHELF; shno++)
		j_shelf[shno] = 0;
	if((fp = fopen(JUKEDIR, "r")) == NULL){
		pperror(err, JUKEDIR);
		return(-1);
	}
	while(fscanf(fp, "%d %s\n", &shno, vname) == 2){
		if((shno < 0) || (shno >= NSHELF)){
		fprintf(stderr, "Warning: bad shelf number in %s: %d (vol_id=%s)\n",
				JUKEDIR, shno, vname);
			continue;
	    	
		}
		j_shelf[shno] = strdup(vname);
	}
	fclose(fp);
	haveread = 1;
	return(0);
}

j_wrshelves(char *err)
{
	FILE *fp;
	int shno;

	if((fp = fopen(JUKEDIR, "w")) == NULL){
		pperror(err, JUKEDIR);
		return(-1);
	}
	for(shno = 0; shno < NSHELF; shno++)
		if(j_shelf[shno])
			fprintf(fp, "%d %s\n", shno, j_shelf[shno]);
	fclose(fp);
	return(0);
}

int
j_shelfof(char *vol_id)
{
	int i;
	char buf[512];

	for(;;){
		for(i = 0; i < NSHELF; i++)
			if(j_shelf[i] && (strcmp(j_shelf[i], vol_id) == 0))
				return(i);
		if((i = warm_inv(buf)) <= 0)
			break;
	}
	if(i < 0)
		fprintf(stderr, "jukebox: %s\n", buf);
	return(-1);
}

int
j_driveof(char *vol_id)
{
	int i, sh;

	if((sh = j_shelfof(vol_id)) < 0)
		return(-1);
	for(i = 0; i < NLUN; i++)
		if(j_status.lun[i].shelfvalid && (j_status.lun[i].retshelf == sh))
			return(i);
	return(-1);
}
0707070035050550711006660011710000040000011772210474351347200001000000000371jinit.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdio.h>
#include	<string.h>
#include	"jukeface.h"
#include	"jukebox.h"

void
j_init(Jukebox *j)
{
	j->nshelves = 0;
	j->nluns = 0;
	j->ndrives = 0;
	j->luns = 0;
	j->shelves = 0;
	j->names = 0;
}
0707070035050421641006660011710000040000010454670457563430700000700000004561juke.3.TH INTERNAL 3
.CT 2 file_io
.SH NAME
jukebox routines
.tr %"
.SH SYNOPSIS
.B "#include %hdr.h%"
.PP
.tr %%
.B "int j_shelf_to_drive(int sh, Side side, int dr, char *err)"
.PP
.B "int j_drive_to_shelf(int dr, int sh, Side side, char *err)"
.PP
.B "int j_empty_drive(int tlim, char *buf)"
.PP
.B "void j_rdshelves(char *buf)"
.PP
.B "int j_getstatus(char *buf)"
.PP
.B "int j_scsiio(struct scsi_cmd *cmd, int ncmd,"
.br
.B "\ \ \ \ \ \ struct scsi_return *ret, int nret, char *err)"
.PP
.B "int j_shelfof(char *vol_id)"
.PP
.B "int j_volid(int dr, char *err)"
.PP
.B "extern char *j_shelf[NSHELF];"
.PP
.B "extern void pperror(char *buf, char *mesg);
.SH DESCRIPTION
.I J_shelf_to_drive
places the disk in shelf
.I sh
in logical drive
.IR dr .
It returns 0 on success;
otherwise an error message is placed in
.I err .
.PP
.I J_drive_to_shelf
places the disk
in logical drive
.IR dr
in shelf
.IR sh .
If
.I sh
is negative,
the disk is returned to its home shelf.
It returns 0 on success;
otherwise an error message is placed in
.IR err .
.PP
.I J_rdshelves
initializes each element of
.I j_shelf
to the volid of the disk on that shelf.
A zero pointer means there is no disk;
a name of
.B UNALLOCATED
means the disk has not been allocated a name yet.
It returns 0 on success;
otherwise an error message is placed in
.IR err .
.PP
.I J_getstatus
initializes
.B j_status
which include the following fields:
.EX
	struct Lunstatus lun[NLUN]; /* disk status */
	uchar shelf[NSHELF];	/* shelf status */
	uchar iounit;		/* I/O unit status */
	uchar carrier;		/* carrier status */
	uchar udrive;		/* upper drive status */
	uchar ldrive;		/* lower drive status */
.EE
A return value of 0 implies success;
otherwise \-1 is returned and an error message is placed in
.IR err .
.PP
.I J_scsiio
performs a SCSI transaction.
It sends the command in
.I cmd
and
.I ncmd
data bytes and stores the return status in
.IR ret .
A return value of 0 implies success;
otherwise \-1 is returned and an error message is placed in
.IR err .
.PP
.I J_shelfof
returns the shelf number of the disk labelled
.IR vol_id .
If there is no such disk,
\-1 is returned.
.PP
.I J_volid
returns the volid of the disk on drive
.I dr
in
.IR err .
A return value of 0 implies success;
otherwise \-1 is returned and an error message is placed in
.IR err .
.PP
.I Pperror 
returns an error message that is contained in 
.IR buf.
.PP
.SH "SEE ALSO"
.SH DIAGNOSTICS
0707070035050421211006660011710000040000010454730457563430700000700000003362juke.h#define	NLUN	8
#define	NSHELF	50
extern int nlun;
extern void setnlun(void);
extern char *j_shelf[NSHELF];
extern int j_wrshelf;			/* need to write out shelves */
extern j_rdshelves(char *err);
extern j_wrshelves(char *err);
extern j_inventory(char cold, int tlim, char *err);

typedef enum { SIDEA = 0, SIDEB = 1 } Side;

struct Lunstatus
{
	unsigned int poweron:1;		/* is power on ? */
	unsigned int diskin:1;		/* is disk in drive? */
	unsigned int ready:1;		/* is disk spun up or spun down? */
	unsigned int writeprotect:1;	/* is disk write protected? */
	unsigned int diskindrive:1;	/* is driveshelf a drive number? */
	unsigned int shelfvalid:1;	/* is retshelf valid? */
	uchar driveshelf;		/* drive number */
	uchar retshelf;			/* return shelf */
};

struct Jstatus
{	
	struct Lunstatus lun[NLUN]; /* disk status */
	uchar shelf[NSHELF];	/* shelf status */
	uchar iounit;		/* I/O unit status */
	uchar carrier;		/* carrier status */
	uchar udrive;		/* upper drive status */
	uchar ldrive;		/* lower drive status */
};
extern struct Jstatus j_status;
extern int j_getstatus(char *err);
extern int j_shelfof(char *vol_id);
extern int j_driveof(char *vol_id);

extern char *strdup(char *);
extern int j_shelf_to_drive(int, Side, int, char *);
extern int j_drive_to_shelf(int, int, Side, char *);
extern int j_empty_drive(long, char *);
extern int j_rvolid(int, char *);
extern int j_wvolid(int, char *, char *);
extern void pperror(char *buf, char *mesg);
extern int reserve_drive(int, char *);
extern int release_drive(int, char *);
extern int cold_inv(char, char *);
extern int warm_inv(char *);
extern int j_load(char *vol_id, char *buf, long tlim);
extern int j_unload(char *vol_id, char *buf);

#define		JUKEDIR		"/usr/worm/jukedir"
#define		UNALLOCATED	"<unallocated>"
0707070035050407071007770011710000040000011560720477113665100001000000421733jukebox�$<��^Юn��P�P�Հ��P��p�P��P�����
�P��؎��0^�Y�X�W�Vԭ�ԭ�ԭ��Zԭ�Џ�B���ݏ��~�����2Aݏ��~��J���A��1м�%��׬мU���e-���������������U�e-��
׬������������U�����eU�U����U�������U�U�e��U�eC����U�U�U���U�W��U�U������aa�����U�U�m���U�w���E�Q���Ue�yy�y��yy�Y�����X�����W�����V������������������������������Z������������Џ��������	�������$ЬUХ���׬��U�U��e����������������ߒ�P����������v������i���׬��������2��0��
	�������� �P�7�Y�X�W�Vխ�
խ��Z���Ь���м����������խ��Z	�Z��9�X<������|�����ﮌ���������������P�խ�7��������	�������	Џ����������Z��c�P�rխ�������:��C�P�R�Y<���������������1��������������P��W�ݭ��������������;�P[�������[���P������G����� 5�����[��I�P������������4�[����=խ�����VE������C���P_�[�[�-#�K�<�K�3�[�����<�[���6� �����������P������R�~���������������������%�P��������%4���Љݬ��)�����4��שּ^�����Y��|�P ��������b����3���n��Z��6[�Z�"��k�t��	Џ%YЏ!Y�Yݫ�Z��B��;ի,ݫ���
��<ЫU��~�P����h;
�����Y;�����L;�Z�[�h���^�����y
���P �����
������2���Z��V
[�ZE�k:լ��0����~ݏ�����Z���P�������-���2�Z�[�ݬݬ����P
Џ����P�ݬݬ����Pݬ��f������?2����ݬݬ��U�P[�[ ݬ��ݬ��S<Џ����P����ݬݬ���PZ(���ЬU��[U�eЬU�K�ݬ�Z��[ЬU��Zݬ�Z�~�[���P	Џ����P5ݬ�Z��Q�P	Џ����P��#�ЬU��[U�eЬU�K��Pno vol_id %s
<unknown shelf??>ab%s%coffonlun %d(%s,%sline): Usage: jukebox [-aemprsuU] [-w secs] [vol_id
%d: %s
%d
jukebox: %s
-a needs a vol_idu-e needs a vol_id^��M��P��ԭ�ѭ��ЬUЭ�T�D�ЬU����U�e֭��������/�P[2���
���:�P����xݬ��w:Џ����P�����߭���M�[��@6�PUЭ�U�U�"����ݭ���6�����~����/�������n�ЬUЭ�T�PD�ЬU����U�e��[��+��R��P��������.�PZ.��
��:�P����ݬ��9Џ����P:�[�[�'ЬU�K�ЬU�K��[��l�Z��//�[��Z��+�P��:
ݬ��\����P	Џ�P)ЬUЬT�Ud�E�	ЏQP
ЬUЬT�D�P^�[�[�(ЬU��[T�dݬ�K�����P�[P9�[����ݬ���P[��[�����b�����m.Џ����Pݬݬ������PZ	Џ����P.�[ЬU�[�x[UЬT��UѥZ�[P�[�Џ����Pjukebox: %s
<no name??>wWarning: bad shelf number in %s: %d (vol_id=%s)
%d %s
%s: %sr/usr/worm/jukedirԼЬUԥЬUԥЬUԥЬUԥЬUԥ�^ݬݬ���P
Џ����P�������p5ݬݬ���P
Џ����P������E5�Wż~�醙�PX�[�[�0ЬU��[U�e�WЬUЏ�K�ЬU�K��X[U�e�[��W�����4�[�[�ЬU��[U�e�[��ZЬU�Z��xZUЬT��U�e��Z����4xZUЬT��Uե@ݬ�~�[�Z���P
Џ����P���[�[�ЬU��[U�e�[��W%ݬ�~ݏ�����Z��l�P
Џ����P��Z�M�����U��Uʏ����U��ݬ�﹇�P[�[������3ݬݬ������P
Џ����P�J��������Z�[��8�P���ݬ���Џ����P��[�[�����o��3ݬ����ݏ�����Z���P
Џ����P�������ĆЬU�PK�ЬU��[U�e����P��W�����3����ЬU��Z����[�[��S�X[U�e�=ЬU�K�ЬU��[U�e�"�[�����2��
����'��������Z�[��%�P���ݬ���Џ����P�ЬU��[U�e��V�V�r9�V�s0�V�uC�V�u:�V�c/�YЬU��YU�e#�Y�ݼ���#�PYЬU��PU�e��[Y�Y�[���������1ݬ�����Y�Z��#�P	Џ����Pa�����I�ЬU�PI�ЬU��YU�e�XYU�e���p$�[������V��1ݬݬ����P	Џ����P�P^ݬݬ�~ݬ��C
�P
Џ����P�r���ݬ���P[� �[Լc��ݬ�~ݬݬ��P
�P
Џ����P�)ݬݬ�ݬ����P
Џ����P����ݬ��2�P[��[��iݬ��	����ݬ���~ݬ��~�P[�[�������2g��[U�e�a	��[U�eO��[U�e�b��[U�eռ�Z�Z�Z�+ݬ�������P2���ݬ��v~Џ����P=�P9Լ���ݬ��:��s����'ݬ��ݬ��2��h
�PDISK_ERROR%derror in reading shelf %d: %s; proceeding
vol_id '%s' must end in a or bapparently good superblock but null vol_id<unallocated>process any new disks.
%d: reloading %d disks.
%s@%d -> %d
single shelf %d reload
clearing drive %d:
%d disks in shelves.
thereshstatus done
drstatus done
^ݬݬ������P
Џ����P�/ЬU��Zݬݬ��	�P
Џ����P��[�[�ЬU��[U�e�[��[���ݬ�Z���PY
Џ����P���Y�ݬ�~�[�Z��-
�P
Џ����P���������Z�[��U����P���ݬ��|Џ����Pj�[�����`��-ݬ�����[�Z���	�P	Џ����P8����������ЬU�PK�ЬU��[U�e��� ������P%s -> %d
�^ݬݬ��R����P
Џ����P�ݬݬ���P
Џ����P��ݬݬ��"�P
Џ����P��ݬ���z�P[ݬ�����{�K����a�X.�K����b�X ݬ��ݬ��.Џ����P�t�K������ݬ��x����PY�Y!�����:ݬ��u.Џ����P�9լ��[ЬU�[��x[UЬT��UZѪYgѪXЬU�[�	�[P�����ݬ�~ݏ�����[���P
Џ����P��ݬݬ��<�PЏ����P��[�n���ݬݬݬ���PW�W��Oݬ��-Џ����Pjݬ�W�X�Y��M�P	Џ����PM�WPH�
���
�ݬݬ���P�����Џ����P������ݬ��6-Џ����P�~����PZ�~���PZ��[ЬU�[�x[UЬT��U�e�[P{�[��[ЬU�[�;x[UЬT��U��&ݬ�~ݏ�����[����P	Џ����P9�[P4�[��
��9ݬݬ����P�`���Џ����PЏ����Pdisk '%s' busycan't find a free drivecan't find vol_id %svol_id '%s' must end in a or b^ݬݬ������P
Џ����P�ݬݬ����P
Џ����P�ݬݬ������P[�["�[ݬ��ݬ��+Џ����P�R��ݬ��m����P[�[��fݬ��n+Џ����P��[��!��6)ЬU��Zݬ�Z��[����P
Џ����P��ݬ��������+ݬ����Z��z�P
Џ����P���P�ݬ��:|ЬU�PK�ЬU��[U�eݬ��[�Z����P	Џ����Pmݬ�Z�~�[��d�P	Џ����PPݬ��J�����*ݬ����Z����P	Џ����Pݬ�~�[�Z��l�P	Џ����P�P%sa%sbusing unallocated disk from shelf %d
no unallocated disks<unallocated>there is an existing '%s' on shelf %d8"^�2�ЬU������������������,������ݬ�,�����~�����~��g�P
Џ����P�����[�[�[�[ЬU��ЬU��ЬUԥЬU�UZx�~��v�P�ЬU�UZ�e~��jv�P�ЬU�UZ�eT�D�]�����Nv�P�ЬUԥЬUѥ�6ЬUݥ��������(�~������P�PЬU֥��PH^ݬ�͸���1�P
Џ����P��[�[
ЏlK���[���@�Z�jUʏ���U�jUʏ����UЏfE���Z�jUʏ���U�jUʏ����UЏ`E������Z�[�[�'�jUʏ����U�Y�Yx[UЬT��U�Y�x[UЬT��UЏl�x[UЬT��UЏ�����x[UЬT��Uԥ�jUʏ����U�Y�Yx[UЬT��U�Ye���Uʏ���UVx[UЬT��U�K����Uʏ���Ul��Uʏ����Ux[TЬS��T�U���Ux[TЬS��Tˏ����U�5��Uʏ����Ux[TЬS��T�U���Ux[TЬS��Tˏ����U��[�Z������P(^ݬ������s�P	Џ����P@��,�Z�[�[�1�Z[U�eUˏ���UTʏ����U�Y�YЬU��[U�Ye�[��P8 ^�������x�U�U���������������ݬ�~�����~�����~��'	8 ^�������x�U�U������ЬU>E�p���U��U���������ݬ�~�����~�����~���8 ^լ&�������x�U�U���������������4�������x�U�U������ЬU>E�����U��U���������ݬ�~�����~�����~��P8 ^�������x�U�U���������������ݬ�~�����~�����~��	�P	Џ����P�P8 ^�������x�U�U���������������ݬ�~�����~�����~���P	Џ����P�Pݬݬ�~ݏ��g����P�P�P8$^������������������������������U�0U��������~�����~�����~���loweruppershelf/dev/worm%d�����!ˏ����U�U�ˏ�����U�U	Џ%[Џ%[�[��V��!ˏ�����U�U
����!ˏ�����U�U
�����!ˏ�����U�U%ˏ�����~����_!
����P!����C!^����������������
�������������������������	�ݬ�~ݬ�
�����~����P[�[PF����������������������ݬݏ�ݬ�~�����~���P[�[P�P�(^ݬ������/����PЬ��P����[�Z�Z�(�kUʏ���U�U	Џ�$XЏ�$X�X�kUʏ����U�U	Џ�$WЏ�$W�W�kUʏ����U�U	Џ�$VЏ�$V�V�Z�������kUʏ����U�U���Uʏ���U�UU��Uˏ����U~������Uʏ���U�UV��Uˏ����UT��^$~ʏ����U�U~��L��h)��Uˏ����UT�Tʏ����Uߥa�T~����=��t��0�Z�[������Z�Z2_�ZY�ZU�UZ�U2�[ZU�eU�[YT�dT�UT��YU�ZU�Y������Z~�Y������[YU�e~�������2[��e���k~������[��B���kUˏ����UZ�kUʏ���U�U �Zˏ����ZUߥa�Z~�����_
�����P�[�kUʏ���U�U�kUˏ����U~����(
��u���[�kUʏ���U�U�kUˏ����U~��2���
��
����Plower drive: no disk
lower drive: disk, LUN=%d
upper drive: no disk
upper drive: disk, LUN=%d
no disk
disk shelf=%d%c (%d)
carrier: I/O shelf%d-%d%ddisk in shelf %d%c (%d)ab, return shelf %d%cdisk in drive %donoffno not drive %d: %sready,%sdisk in LUN,power %s,
no diskuse shelf instead of drive for LUN %dwait ejection,wait loading,temporarydisk%s,: �^��Џ����������5�������P����ݬ��
Џ����P�լ	Џ@[Џ�[ЬU��T�[T���~ݬ��k����P����U�PU2��ݬ����@���AЏ�����.�Э�P�լA�$�~ݬ�����2�P���$�U�PUZѭ�$������ݬ��@�ì$~ݬ�������
�P����qݬ���g���ЬU�$���$լ�����
Џ�������P^����ЬU��+��ݬݬݬݬݬݬ��h����P���$��������P�zݬ�������h������ЬU������O�������������ЬU��U�U��������d������ݬݏ����ݬ�~�����~�������P�������P�����ЬU��&Uʏ����U�Uk����U�U����U\��?����������ЬU��U�U���������������ݬ�ݬ�~�����~��U����P������������Pk���Џ0*���ݏ����ЬUߥ$���������������[x�����Uʏ����U�E���[�[��ݬ��Y�P�P%s; %sreservation conflictintermediate good/metintermediate goodbusyreservedmet/goodcheck conditiongoodscsiio readscsiio write/dev/scsi8 ^Ѭ�[�UЏb,E��[�[���K���l�PZ�������xZU�U���������������ݬ������~�����~��0����PЬ��P���Z��X����������Uʏ����U�U����������Uˏ����U~����Uˏ����U~����Ux��UUˏ����U~��K������Uʏ���U�U+����U����TxTT�TU����TxTT�TU~����l�����_�[������P�^��Ux��UUˏ����U��ѭ�o��Uʏ���U�U8ЬU��~��~��~��~��Uʏ����U�E�����ݬ��GЬU��Uʏ����U�E����Gݬ�����Uˏ����U~ݭ���ݬ���sense: class=#%x, code=#%xextended sense: %sextended sense: %s info=#%2.2x#%2.2x#%2.2x#%2.2xreserved (#f)miscomparevolume overflowequalaborted commandcopy abortedvendor specific (#9)blank checkdata protectunit attentionillegal requesthardware errormedium errornot readyrecovered errorno sense
, addr=0x%xerror class=0x%x, code=0x%x, sense=0x%xno error
sense(%d,%d): 0^��Y�������(���x�U�U���x��U�U���x��U�U���x���U�U�����������������ݬݏݬ�~�����~�����(^�Y��ݬݬ��C����P
Џ����P�ݬ�����~ݬ��G����POݏ�~������Pcݏ����������oc�P#�Y�	������������[Џ����Z�Y�[�����h����ݬ�����[ݬ������P
�[Z�� �[��ZH�[�[��Y��Z�� �����9ݬ������ݬ������P�ݬ�����Zݬ��O����P.����ݬ��k����[�Z��������Џ����PD�Y�Z��������
ݏ���&�ݬ��aЬU������ݬ��	����PЬU��ЬU�*�x�UЬT�U�x��UЬT�U�x��UЬT�U�	x���UЬT�U�
ЬU���ЬU��ЬU��
ЬU��ЬU��ݬ�~ݬݏݬ�~��v���P"^ݬ����U��������������Y	�P[0������P������mݬ��-Џ����P��ݬݬ������P
Џ����P������%���x�U�U���������������������������ݬ��ʹ��~�����~������PͰ��Ͱ�P�z��������PZ�ZU�U���14�U���1K�Z�o�@ݬ����ݏj���ʹ���YXݬ����ݏP�1��a�ʹ���98������h�P��'��r����ݬ��������ʹ�����ʹ���d�P!�ʹ����ݬ���Џ����P�������P�~ݏ�[����[ݏ������~�P(��������P��]ݬ��{Џ����PG�[��ݬ�ʹ������ݬ��>����P	Џ����P�������ݬݬ������Pmkfs read: %s%s: errorworm mkfs -f %s %swarning: bad capacity %d
worm mkfs -n %d -f %s %s%s: %sw+rmkfs %s
superblock at %d
read fail on block %d (b=%d)
no superblocktried for superblock at blocks 1,2
read block %d
superblok at 0
��x�U�U	�U�(���d�ݬ��6ݬ��!��I�U�E�acݬ��ݬ���%s: %s%s: unknown errno %dЬU�U��eSЬU�U�xST�eU�UTSЬU�U�xST�eU�UTSxSU��T�TUS�SP��WnPTeT�9PǬ����~ĬnÎ����[��,�PZ�Z[�ǬZ~ĬnÎZP1Ь���^���UǏȭU��ǏȭU~ďȭnÎU��ŭ����Uŭ��G
T�TU[�[	�[�Ƽ�����[︼�ﲼP�����Ǐ�P~ď�nÎPP�!��`���`�P��`��`�^ԭ�լ1�ݏ��梨�P�������*��P;ݭ���ﲣխ����ܢ�P���ݭ������Zݭ���Y�Nԭ�խ� ѭ��í����­��¬�������!���L��P��ݬ��������^���s���
ЬQ�Pa�#�
�_�P��_�^Ь[ԭ��[	�����Џ����P�[��!�P�����Џ�������[	�	����Uʏ����U�U�[	�	��mݫ���\�[	�
��V��Uʏ����U�U"�[	�
��:�k��#����PЏ�������[	������[	�����Э�P�^ݬ��d���.��8���[
��8���0Y�P��8����������Ynull pointer dereferenced @%s:%d
stdio/fclose.c�^Ь[�[G�ZЏ��[/�[	�
��g���[�������P�����Џ����Z� [�[����ZP�[	���+��Uʏ����U�UЏ����P�[	�����P�P
�P�P�PЏ����P�[	������Uʏ����U�U�[	����ЫY�[	���ЫY�[	���ëY��խ�H�[	����[	���wݭ�ݫ�k��|����P���[	���U��Џ����P�[	���<�[	���/�[	���"ЫU�U��U��[	���	���P�^ݬ��b���0��8���U��8���*W�P��8�����������Vnull pointer dereferenced @%s:%d
stdio/fflush.cЬ[ЬZЏ��Y#�Y	���"���Y�Z�[���� Y�Y����P�^ݬ�嘆��.��8���
��8���lV�P��8���������>Vnull pointer dereferenced @%s:%d
stdio/fopen.c�^ެ��ݭ�ݬݬ���P��Э�P��^ЬYŬ�Z�ЬU�UW�U	���ЬU�UV�U	���æ�[�[J�[Z�Z[ЬU�UW�U	���g�[ݧ�Y��cVЬU�UW�U	���E��[��
�Z���ЬU�UW�U	������ЬU�UV�U	������Uʏ����U�U�ЬU�U���U	����ЬU�U���U	������UЭ�TѤUNЬU�UW�U	����Z�Y�g��q����P[�[QЬU�UV�U	���l�[�W�W�W�;ݬ��b��PX�X�����#�Y	�!��5�Xi�[�[Y�[Z�Z�j���լЬW�WìYU�W�U��7^�^ݬ��H���.��8���3��8���T�P��8����������Snull pointer dereferenced @%s:%d
stdio/fread.c�^Ь��ЬU�U[�U	���2��
ݬ��_���ЬU�U[�U	�����+ ЬU�UZ�U	������+��ЬU�U[�U	�����k�wݏ�ݭ���Ú�P�����ЬU�U[�U	����ݭ�������PkЬU�U[�U	����k�����<ݏ�ݭ���j��P��a���ЬU�U[�U	���I�ݭ���Q����PkЬU�U[�U	���&�k�a�GЬU�U[�U	�����~�k��u�� ЬU�UZ�U	�����j[�[�r"�[�r�[�af�[�w.�PЬU�UZ�U	����~ݭ�������Pj�ЬU�UZ�U	�"��tݏ�ݭ���h��Pj�ЬU�UZ�U	�%��G�ݭ���O����PjЬU�UZ�U	�&��$�j�����'ЬU�UZ�U	�'��ݏ�ݭ������PjЬU�UZ�U	�(�����~�j��O�ЬU�U[�U	�,���k������PЬU�UZ�U	�-��ЬU�UY�U	�-���i�a�[�[�[�ЬU�U[�U	�.��f��ЬU�U[�U	�/��NԫЬU�U[�U	�0��7ԫЬU�U[�U	�1�� ԫЬU�U[�U	�2��	ԫЬP�^ݬ���0��8���m��8���BP�P��8����������Pnull pointer dereferenced @%s:%d
stdio/freopen.c�^ެ��ݭ�ݬݬ��r.�P��Э�PЬ[�[	���I��P�P(�PQ"�A�P`�?W@W@	@�?�?aЏ����P�[�����NѬH�[	�����[	�����[UѫU$�[	�����[	���ë�U�U��[	�����Uʏ����U%�[	���ݬݬ�k�����P�����Џ����P�[	���a��3�[	���N�[	���A�[	���4ЫU�U��U��[	������[	������P�^ݬ���0��8���q��8���FN�P��8����������Nnull pointer dereferenced @%s:%d
stdio/fseek.c�^ެ��ݭ�ݬ��:���c�P��Э�PЬ[�[	���g���[	���T��Џ����P�[	���;��ЬP�P!�P�Pm��[	�����լ=ݬ���N�P�լ�[	������Џ����P�[	�������[	���Ь�"�[	����[��[	���ԫ�[	����[	���{�[	���n�[	���aЬU�U��U��U��U��[	� ��@���PѬ���ݏ��~ݬ�����ݏ��~ݬ������^ݬ��x���.��8���W��8���,L�P��8�����������Knull pointer dereferenced @%s:%d
stdio/setvbuf.c�^�︤�P[�[�Pݏ���ݬ�[������ެ��ݭ�ݬ�[��&�P���[����P��Э�PЬ[�[�*[	ЏDZ�KZ�ZPUnknown errorInadequate privilegeOut of security labelsNo such system callSecurity label violationIt's all Greg's faultConcurrency violationLink loopResult too largeArgument too largeBroken pipeToo many linksRead-only file systemIllegal seekNo space left on deviceFile too largeText file busyIllegal ioctlToo many open filesFile table overflowInvalid argumentIs a directoryNot a directoryNo such deviceCross-device linkFile existsIn useDirectory not emptyBad addressPermission deniedNot enough memoryNo more processesNo childrenBad file numberExec format errorArg list too longNo such device or addressI/O errorInterrupted system callNo such processNo such file or directoryNot ownerError 0Џc[�[U�UZ�U[�U	���n�0j�[	���^�k9��[	�
��L�k�P�[	���8�k�~���������P�լ���ݬ��ZHЬPЏ\P�^ݬ��ֹ��0��8���������8����G�P��8����w�����Gnull pointer dereferenced @%s:%d
stdio/tmpnam.c��^����ЬU�UX�U
ݏ���-%�h%��ЬU�UX�U
ݏ���
%ЬU�UW�U
ݏ����$Ѩ�,ЬU�UV�U��U
ݏ����$ݬ�f~���bЬU�U���U
ݏ���$Э�UХU�U��Э�T�U��U
ݏ���$ЬU�U���U��U
ݏ���b$���������֬�[/ЬU�UX�U��U
ݏ���-$�hUʏ���U�E�6�[ЬU�UX�U
ݏ���$�hUʏ���U�E���ЬU�UX�U
ݏ����#�h*.��U�UX�U�
ݏ���#Ш�Z֬�Zt�[�ZZl�Z+ЬU�UX�U��U
ݏ���#�Z
U�hT�TU�0UZЬU�UX�U
ݏ���^#�hU�0UЬU�UW�U
ݏ���>#�g9�ЬU�UX�U
ݏ���!#�h.�֬ЬU�UX�U
ݏ����"�h*(��U�UX�U�
ݏ����"Ш�Y֬��Y+ЬU�UX�U��U
ݏ���"�Y
U�hT�TU�0UYЬU�UX�U
ݏ���"�hU�0UЬU�UW�U
ݏ���g"�g9�8Џ����Y/ЬU�UX�U��U
ݏ���:"�hUʏ���U�E�C�[ЬU�UX�U
ݏ���"�hUʏ���U�E���ЬU�UX�U
ݏ����!�hU�E���DЬU�UX�U��U
ݏ���!�hU�E�̽U�Y�Z�[߬ݬ�e�P�����ЬU�UX�U
ݏ���}!�h��ЬU�UX�U
ݏ���[!ЬU�UW�U
ݏ���C!Ѩ�,ЬU�UV�U��U
ݏ���!ݬ�f~��p�bЬU�U���U
ݏ���� Э�UХU�U��Э�T�U��U
ݏ���� ЬU�U���U��U
ݏ��� ���������ЬU�UX�U
ݏ��� �h�A�������P��^ˏ�����U�U��[ЬU�UZ�U
ݏ���I ЬU�UY�U
ݏ���1 Ѫ�ݬ� ��|�8ЬU�UX�U
ݏ��� ШU�UW�U��U
ݏ����� g�[�[��u���ЬU�UZ�U
ݏ���ЬU�UY�U
ݏ���Ѫ�AЬU�UX�U
ݏ����hU�UW�Uh
ݏ���nݬ���~�フwЬU�UV�U
ݏ���FЦU�U���U��U
ݏ���(ЬU�U���U
ݏ���Э�U�eU�U���U��
ݏ����Э�U�����ˏ�����U�U��[ЬU�UZ�U
ݏ���ЬU�UY�U
ݏ���Ѫ�ݬ� ���8ЬU�UX�U
ݏ���rШU�UW�U��U
ݏ���U� g�[�[��u���Ѭ�ZЬZ�ZP��^�YЬU�UX�U
ݏ����hU�UW�Uh
ݏ����Ч�Zˏ�����U�U��լ+�[�[�[��Z
ݏ����Z[U�e���[�[�Z
ݏ����Z[U�e��ЬU�UX�U
ݏ���tЬU�UW�U
ݏ���\Ѩ�ݬ� �流:ЬU�UV�U
ݏ���/ЦU�U���U��U
ݏ���� ���Y�[�[��q���լ���[��ЬU�UX�U
ݏ����ЬU�UW�U
ݏ���Ѩ�*�ZU�UV�UZ�U
ݏ���ݬ�f~���`ЬU�U���U
ݏ���pЭ�UХU�U��Э�T�U��U
ݏ���J�ZU�U���UZ�U
ݏ���.������Y�[�[��Z
ݏ����j�������[��ЬU�UX�U
ݏ����ЬU�UW�U
ݏ����Ѩ�*�ZU�UV�UZ�U
ݏ���ݬ�f~����`ЬU�U���U
ݏ���|Э�UХU�U��Э�T�U��U
ݏ���V�ZU�U���UZ�U
ݏ���:������Y�[�Z
ݏ��� �j� ���ˏ�����U�U��ЬU�UX�U
ݏ����ЬU�UW�U
ݏ����Ѩ�ݬ� ���:ЬU�UV�U
ݏ���ЦU�U���U��U
ݏ���� ���Y�[�[��q����YPˏ�����U�UVЬU�U[�U
ݏ���C�kU�UZ�Uk
ݏ���*Ъ�U�UY�U
ݏ�����Z�i�ˏ�����U�URЬU�U[�U
ݏ�����kU�UZ�Uk
ݏ����Ъ�U�UY�U
ݏ�������iPЬU�U[�U
ݏ����kU�UZ�Uk
ݏ���uЪ�U�UY�U
ݏ���]���i�P��^լ�ˏ�����U�UDЬU�UV�U
ݏ���fU�U�t��Uf
ݏ�����t�UХ��x���ˏ�����U�UDЬU�UV�U
ݏ����fU�U�p��Uf
ݏ����p�U2���x��ˏ�����U�U@ЬU�UV�U
ݏ��w�fU�U�l��Uf
ݏ��\��l�UХ��x�>ЬU�UV�U
ݏ	��7�fU�U�h��Uf
ݏ	����h�UХ��x���x�Џn�|���x�Z�rˏ�����U�UЏn�|�!ˏ�����U�UЏn�|�	Џn�|���x�Z�.Џn�|�ˏ�����U�UBЬU�UV�U
ݏ���fU�U�t��Uf
ݏ��j��t�UХ�Z��ˏ�����U�UBЬU�UV�U
ݏ��6�fU�U�p��Uf
ݏ����p�U<��Z�ˏ�����U�U>ЬU�UV�U
ݏ����fU�U�l��Uf
ݏ�����l�UХ�Z<ЬU�UV�U
ݏ���fU�U�h��Uf
ݏ����h�UХ�Z�ZЏn�$ޭ�[�[U�UV�U[�U
ݏ��ZЬ U�U�t��U
ݏ��@ЬU�U�Z��B��t�PU�efЬU�U�Z��?B�PZ�Z�լ&ޭ�U�U[U�U�[
ݏ"������0�[ޭ�U�U[U�U�Y�Y�Yˏ�����U�U+Ѭ-�[
ݏ'�����0�YЏn�$Џn�$ݬ$��7�PV��|���7ޭ�U�U[U�YU�VU�PUW�W�X�X�X�XWˏ�����U�U�;ˏ�����U�U�hլ�]ݬ��|��ݬݬ$��ЬU�UV�U
ݏ3���ЬU�U�t��U
ݏ3�����t�UѦ�ݬ�0���HЬU�U�p��U
ݏ3����p�UХU�U�l���p�T�U��U
ݏ3��{�0�l��X�X�`����WЬU�UV�U
ݏ9��LЬU�U�t��U
ݏ9��2��t�UѦ�ݬ� ��x�HЬU�U�p��U
ݏ9�����p�UХU�U�l���p�T�U��U
ݏ9���� �l��X�X�`���ݬ��|���(�ݬݬ$����ЬU�UV�U
ݏ@��ЬU�U�t��U
ݏ@��q��t�UѦ�ݬ�0�ﷀHЬU�U�p��U
ݏ@��=��p�UХU�U�l���p�T�U��U
ݏ@���0�l��Y�Y�`�����ЬU�UV�U
ݏC���ЬU�U�t��U
ݏC�����t�UѦ�3������[U�U�p��U[
ݏC��ݬ��p�U�e~���iЬU�U�l��U
ݏC��r��l�UХU�U�h���l�T�U��U
ݏC��I������[U�U�d��U[
ݏC��*��d��h�ޭ�U�[U�����Vݬ��|���r�ݬݬ$��e��ЬU�UV�U
ݏI���ЬU�U�t��U
ݏI����t�UѦ�ݬ�0��HЬU�U�p��U
ݏI����p�UХU�U�l���p�T�U��U
ݏI��^�0�l��Y�Y�`�����ЬU�UV�U
ݏL��/ЬU�U�t��U
ݏL����t�UѦ�3������[U�U�p��U[
ݏL���ݬ��p�U�e~��6~iЬU�U�l��U
ݏL����l�UХU�U�h���l�T�U��U
ݏL��������[U�U�d��U[
ݏL��t��d��h�ޭ�U�[U�����ЬU�UV�U
ݏN��@ЬU�U�`��U
ݏN��&��`�UѦ�ݬ� ��l}HЬU�U�\��U
ݏN�����\�UХU�U�X���\�T�U��U
ݏN���� �X��X�X�`����WP��O��L�~�ݬݬݬݬݬ�	�:�����9����
ݬݬݬݬݬ�	�����������~�ݬݬݬݬݬ�	������������~�ݬݬɏ�U�U~ݬݬ�	���������~�
ݬݬݬݬݬ�	������I��F�~�ݬݬݬݬݬ�	�^���ݏEݬݬݬݬݬ��ݏGݬݬݬݬݬ��bݏeݬݬݬݬݬ��Bݏfݬݬݬݬݬ��"ݏgݬݬݬݬݬ����^���Џe�ܐ�VЬU�U���U
ݏ����
�U�eU�U���U��
ݏ���
Э�Up����լ���V��Э�U�U�eg�U�f4�U�g}�U�g�Э�U�U�E-�U�GP�߭�߭�߭�ݬ�p��~��f�PYЏE�ܐ�eV߭�߭�߭���~�p��~��yf�PYSЏE��լ��߭�߭�߭�ݬ�p��~��Jf�PY���Uя����U�U���fV­����eV׬�Y��X��U�U�g	�U�G=ˏ�����U�U0�V�f����U�UXí�X�լԬ�XUѬU�X�ЬZ
ˏ�����U�U�Z�V�fխ����Z�Zխ�
ˏ�����U�U�Z�V�f�ޭ�Wխ�í��������Э�[2�WU�U���UW�U
ݏ�����
[~�
nÎ[UЭ�T�0Ud�
[�[� �WU�U���UW�U
ݏ����0��ޭ�U�WU�ޭ�U�UWU�U�UZˏ�����U�U��ЬU�U���U
ݏ���aЬU�U���U
ݏ���HЭ�UЭ�Tѥ�ݬ� ��xCЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ����
� ���Z�Z��`���խ��ЬU�U���U
ݏ���
ЬU�U���U
ݏ���
Э�UЭ�Tѥ�ݬ�-���wCЬU�U���U
ݏ���g
Э�UХU�U��Э�T�U��U
ݏ���A
�-���Pˏ�����U�U�ЬU�U���U
ݏ���
ЬU�U���U
ݏ����	Э�UЭ�Tѥ�ݬ�+��5wCЬU�U���U
ݏ���	Э�UХU�U��Э�T�U��U
ݏ���	�+���ˏ�����U�U�ЬU�U���U
ݏ���`	ЬU�U���U
ݏ���G	Э�UЭ�Tѥ�ݬ� ��vCЬU�U���U
ݏ���	Э�UХU�U��Э�T�U��U
ݏ����� ���V�f�m�[��ЬU�U���U
ݏ���ЬU�U���U
ݏ���Э�UЭ�Tѥ�3�[X�Y
ݏ���|�Y[U�e���0��ݬݭ���uhЬU�U���U
ݏ���FЭ�UХU�U��Э�T�U��U
ݏ��� �[X�Y
ݏ���
�Y[U�e���0��������[�[�������[�ЬU�U�|��U
ݏ����ЬU�U�x��U
ݏ�����|�U��x�Tѥ�ݬ�0���tHЬU�U�t��U
ݏ���r��t�UХU�U�p���t�T�U��U
ݏ���I�0�p�լˏ�����U�U�ЬU�U�l��U
ݏ���ЬU�U�h��U
ݏ������l�U��h�Tѥ�ݬ�.��9tHЬU�U�d��U
ݏ�����d�UХU�U�`���d�T�U��U
ݏ����.�`��[�	ЬU�U�T��U
ݏ���oЬU�U�P��U
ݏ���U��T�U��P�Tѥ�D���[U�U%�UX �Y
ݏ���$���[U�YU�e�\��0�\�ݬ��\���`s~ЬU�U�L��U
ݏ������L�UХU�U�H���L�T�U��U
ݏ������[U�U%�UX �Y
ݏ������[U�YU�e�X��0�X���X��H��[�[�������sЬU�U���U
ݏ���UЬU�U���U
ݏ���<Э�UЭ�Tѥ� �Y
ݏ���ݬ�i~��mrTЬU�U���U
ݏ����Э�UХU�U��Э�T�U��U
ݏ�����Y
ݏ����i��լˏ�����U�U�ЬU�U���U
ݏ���ЬU�U���U
ݏ���oЭ�UЭ�Tѥ�ݬ�.��qHЬU�U�|��U
ݏ���8��|�UХU�U�x���|�T�U��U
ݏ����.�x��[��ЬU�U�l��U
ݏ����ЬU�U�h��U
ݏ������l�U��h�Tѥ�=�XU�[U�Y
ݏ����[U�YU�e�t��0�t�ݬ��t����pwЬU�U�d��U
ݏ���f��d�UХU�U�`���d�T�U��U
ݏ���=�XU�[U�Y
ݏ���#�[U�YU�e�p��0�p���p��`��[�[�������V�f��ЬU�U���U
ݏ����ЬU�U���U
ݏ���Э�UЭ�Tѥ�ݬݭ����oDЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ���`��ܽ�ЬU�U�|��U
ݏ���AЬU�U�x��U
ݏ���'��|�U��x�Tѥ�ݬխ��-���+��ݭ���XoXЬU�U�t��U
ݏ������t�UХU�U�p���t�T�U��U
ݏ���խ��-���+������p���ЬU�U�l��U
ݏ���ЬU�U�h��U
ݏ���f��l�U��h�Tѥ�3������WU�U�d��UW
ݏ���6ݬ��d�U�e~��niЬU�U�`��U
ݏ�����`�UХU�U�\���`�T�U��U
ݏ����������WU�U�X��UW
ݏ������X��\�ޭ�U�WU�����ЬU�U���U
ݏ���ЬU�U���U
ݏ���rЭ�UЭ�Tѥ�ݬ� ��mCЬU�U���U
ݏ���<Э�UХU�U��Э�T�U��U
ݏ���� ���Z�Z��`����ZP�^ݬ�����.��8���#�����8����!�P��8����������!null pointer dereferenced @%s:%d
stdio/vfprintf.c0x0123456789abcdef00123456701234567890X0123456789ABCDEF +-�� ^��Ь����w�U�UW�U
ݏD��B �gX�X%�j��L�U�UW�U
ݏF�� Տ�
ݏF�� �gU���U�eUʏ����U�U�����ЬU�UV�U
ݏH���ЬU�U���U
ݏH��Э�UѦ�ݬ��`i�PWNЬU�U���U
ݏH��zЭ�UХU�U��Э�T�U��U
ݏH��TЭ�U�eUˏ���UW�W[Տ�
ݏI��-���[U�eUʏ����U�U�-����[��������	���WЏ����W�WP����ݬ�[���y�_���ЬU�UV�U
ݏO��ЬU�U���U
ݏO��Э�UѦ�ݬ��Ph�PWNЬU�U���U
ݏO��jЭ�UХU�U��Э�T�U��U
ݏO��DЭ�U�eUˏ���UW�W[�[�������?�	��7�WЏ����W�WP��'�U�UW�U
ݏQ����gU�[U�o����ݬ�[��x���P�����ާU�UW�U
ݏX���g*�Y�Y�﷧�ﱧU�UW�U
ݏ]��|�gU�0U��U�UV�U
ݏ]��S�f9z�Z1��d�U�UW�U�X��U
ݏ_��'�Z
U�gT�TU�0UZ��3�U�UW�U
ݏ_����gU�0U ���U�UV�U
ݏ_����f9�Џ����Z���U�UV�U
ݏc���f�hL��ƦU�U���U
ݏc��Э�U�e�l&�U�U���U
ݏc��jЭ�U�e�L-��z�U�U���U�m��U
ݏc��<Э�U�eWЏnW�W����B�U�U���U
ݏd��Э�U�eU�E���"������U�UW�U
ݏe����gU�EﵚUݭ��Z�Y߬ݬ�e�P��ҥ	��ʥWЏ����W�WP�ﺥU�UW�U
ݏg���g
�Y���U�UW�U
ݏD��T�g�������`�Pլ�L��K�ЬU�U�hA�U�hѬ�L���ЬU�U�l��U�n\��ЬU�U[�U
ݏr����kU�UZ�Uk
ݏr��Ъ�U�UY�U
ݏr���瘝i�ЬU�U[�U
ݏs��s�kU�UZ�Uk
ݏs��ZЪ�U�UY�U
ݏs��B��T�iPЬU�U[�U
ݏu��!�kU�UZ�Uk
ݏu��Ъ�U�UY�U
ݏu������i�P��(^�Y����X���ЬU�UV�U
ݏ���ЬU�U���U
ݏ���Э�UѦ�ݬ��Sc�PWNЬU�U���U
ݏ���mЭ�UХU�U��Э�T�U��U
ݏ���GЭ�U�eUˏ���UW�W[Տ�
ݏ��� ���[U�eUʏ����U�U�-���ЬU�U��U��	�ݬ�[���s�]�[+�ЬU�U��U�?��ӢЬU�UV�U
ݏ���ЬU�U���U
ݏ���Э�UѦ�ݬ��=b�PWNЬU�U���U
ݏ���WЭ�UХU�U��Э�T�U��U
ݏ���1Э�U�eUˏ���UW�W[���[-�Џ������ЬU�U��U�q���ЬU�UV�U
ݏ����ЬU�U���U
ݏ���Э�UѦ�ݬ��oa�PWNЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ���cЭ�U�eUˏ���UW�W[ЬU�U���U�cլ�X�[0�ЬU�U��U��� �ЬU�UV�U
ݏ����ЬU�U���U
ݏ����Э�UѦ�ݬ��`�PWNЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ���~Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�U��U���S�ЬU�UV�U
ݏ���#ЬU�U���U
ݏ���
Э�UѦ�ݬ��_�PWNЬU�U���U
ݏ����Э�UХU�U��Э�T�U��U
ݏ���Э�U�eUˏ���UW�W[�����X����
���[0�ЬU�U��U����r�ЬU�UV�U
ݏ���BЬU�U���U
ݏ���)Э�UѦ�ݬ���^�PWNЬU�U���U
ݏ����Э�UХU�U��Э�T�U��U
ݏ����Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�U��U��丹ЬU�UV�U
ݏ���uЬU�U���U
ݏ���\Э�UѦ�ݬ��^�PWNЬU�U���U
ݏ���)Э�UХU�U��Э�T�U��U
ݏ���Э�U�eUˏ���UW�W[��X��0[�[9�0[W/яa[�[�fÏa[U�
UVÏA[U�
UV�VW�WZ�Z���XŬYU�ZUYЬU�U��U���ЬU�UV�U
ݏ���XЬU�U���U
ݏ���?Э�UѦ�ݬ���\�PWNЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ����Э�U�eUˏ���UW�W[�0[�[9�����яa[�[�f�����яA[�[�F�����列ݬ�[��nm�X�Pլ�&ЬU�U�U�j�U��ЬU�U�hA�U�hѬ�L����ЬU�U�l���U�n_�ЬU�UW�U
ݏ�����gU�UV�Ug
ݏ����Ц�U�U���U
ݏ���Э�U���Ye�ZЬU�UW�U
ݏ����gU�UV�Ug
ݏ���sЦ�U�U���U
ݏ���ZЭ�Uŭ�Ye�ЬU�UW�U
ݏ���3�gU�UV�Ug
ݏ���Ц�U�U���U
ݏ���Э�Uŭ�Ye�ЬU�U�hA�U�hѬ�L���|ЬU�U�l���U�n_�ZЬU�UW�U
ݏ����gU�UV�Ug
ݏ���sЦ�U�U���U
ݏ���ZЭ�U���Ye�ЬU�UW�U
ݏ���3�gU�UV�Ug
ݏ���Ц�U�U���U
ݏ���Э�Uŭ�Ye�ЬU�UW�U
ݏ�����gU�UV�Ug
ݏ����Ц�U�U���U
ݏ���Э�Uŭ�YeSЬU�UW�U
ݏ����gU�UV�Ug
ݏ���lЦ�U�U���U
ݏ���SЭ�Uŭ�Ye�P�
�ݬݬݬݬݬ��F�����ݬݬݬݬݬ��(�����ݬݬݬݬݬ��
����~�ݬݬݬݬݬ�������
�ݬݬݬݬݬ��������ݬݬݬݬݬ������0^���Z�W�Y�XЬU�U	я�UЏ����v�ЬU�U����U
ݏ���DЬU�U����U
ݏ���*����U����Tѥ�ݬ���W�PVSЬU�U����U
ݏ����
����UХU�U�������T�U��U
ݏ����
����U�eUˏ���UV�V[Տ�
ݏ���
���[U�eUʏ����U�U����ЬU�U��U�ݬ�[��Ph���[+�[-���ZU�UV�UZ�U
ݏ���3
�[fЬU�U��U���/�ЬU�U����U
ݏ����ЬU�U����U
ݏ��������U����Tѥ�ݬ��V�PVSЬU�U����U
ݏ�������UХU�U�������T�U��U
ݏ�������U�eUˏ���UV�V[���[.�Y�W�ZU�UV�UZ�U
ݏ���A�[fЬU�U��U����=�ЬU�U����U
ݏ���ЬU�U����U
ݏ��������U����Tѥ�ݬ��U�PVSЬU�U����U
ݏ�������UХU�U�������T�U��U
ݏ�������U�eUˏ���UV�V[�0[�[9�����Y�[.������[�e�[�E���ZU�UV�UZ�U
ݏ��)�[f�XЬU�U��U���#�ЬU�U����U
ݏ���
ЬU�U����U
ݏ���
����U����Tѥ�ݬ��T�PVSЬU�U����U
ݏ��
����UХU�U�������T�U��U
ݏ��t
����U�eUˏ���UV�V[�[+�[-���ZU�UV�UZ�U
ݏ��6
�[fЬU�U��U���2�ЬU�U����U
ݏ��
ЬU�U����U
ݏ���	����U����Tѥ�ݬ��S�PVSЬU�U����U
ݏ��	����UХU�U�������T�U��U
ݏ��	����U�eUˏ���UV�V[���ZU�UV�UZ�U
ݏ��O	�[f�XЬU�U��U����I�ЬU�U����U
ݏ
��	ЬU�U����U
ݏ
�������U����Tѥ�ݬ��R�PVSЬU�U����U
ݏ
�������UХU�U�������T�U��U
ݏ
������U�eUˏ���UV�V[�0[�[9�
����ݬ�[��Qc�W�X�P�Z
ݏ��I�jլ�ЬU�U�h;�U�hѬ�L���ЬU�U�lv�U�n��ЬU�UV�U
ݏ����fU�U����Uf
ݏ�������UХ�U�U����U
ݏ������������UvPebЬU�UV�U
ݏ��u�fU�U����Uf
ݏ��Z����UХ�U�U����U
ݏ��;�����tpP����P��^լ5ЬU�UX�U
ݏ���hU�UW�Uh
ݏ���Ч�[����ЬU�UW�U
ݏ���ЬU�UV�U
ݏ��ѧ�ݬ��hP�PXNЬU�U���U
ݏ��Э�UХU�U��Э�T�U��U
ݏ��\Э�U�eUˏ���UX�XZՏ�
ݏ ��5���ZU�eUʏ����U�U�2���ЬU�U��U���ݬ�Z���`�6�Y���Z�����
�Y��P�Yլ�[U�UX�U[�U
ݏ,���ZhЬU�U��U���ﰏЬU�UW�U
ݏ-��ЬU�UV�U
ݏ-��hѧ�ݬ��O�PXNЬU�U���U
ݏ-��9Э�UХU�U��Э�T�U��U
ݏ-��Э�U�eUˏ���UX�XZՏ�
ݏ&������ZU�eUʏ����U�U��������ݬ�Z��_լ�[
ݏ1���k�P��^լ5ЬU�UY�U
ݏ8���iU�UX�Ui
ݏ8��gШ�[լ��ЬU�U��U����Y�ЬU�UX�U
ݏ;��)ЬU�UW�U
ݏ;��Ѩ�ݬ���M�PYEЬU�UV�U
ݏ;���ЦU�U���U��U
ݏ;���Э�U�eUˏ���UY�YZ�Z������Pլ�B����[U�UY�U[�U
ݏ=���Zi�����P��^�[ЬU�UZ�U
ݏD��T�j�^��[�Z�Z�Z[֬����U�U�E���ЬU�UZ�U
ݏI����-�ЬU�UZ�U
ݏJ����jUЬT�TX�UT!ЬU�UY�U
ݏK����U�XUJЬU�UW�U
ݏK����UЬT�T���UT%ЬU�UV�U
ݏK��p�fUѭ�U�[P��%ЬU�UZ�U
ݏO��E�jUѬU�[P֬Ѭ�M�������[�Z�Z�ZP��^��*�U�U�"��UZ���U�UW�U
ݏZ����g�^�������U�UW�U
ݏ[���g��Ӌ��ˋ��ŋU�UW�U
ݏ\���g!�曆U�UV�U
ݏ\��q�f�]�լ5ЬU�UW�U
ݏ]��N�gU�UV�Ug
ݏ]��5Ц�[�XЬU�U��U���.�ЬU�UV�U
ݏ`���ЬU�U���U
ݏ`���Э�UѦ�ݬ��J�PWNЬU�U���U
ݏ`��Э�UХU�U��Э�T�U��U
ݏ`��Э�U�eUˏ���UW�WY�Y������XQ�P�Z�Y�������P+լ�[U�UW�U[�U
ݏf��9�Yg�X�������@�ݬ�Y��[լ�[
ݏk���k�P�^ݬ��҂��0��8��������8����P��8����k�����null pointer dereferenced @%s:%d
stdio/vfscanf.c�![�K�܄�K�ӄZ�K�˄�j�[�[�ݬ��
�U�E醙ЬE�P�U�U"��P���G��P��HЬR�RQ:���a��RQP}�S�ST�P:���d)���dc�QT������TQ�Q)Qdc	�cP�aQ�QP�}�V�VS:���g(���gc�QW������WQ�Q(Qgc�VP�ЬUC}�S�TV�URЏ��Y�YUX�YU:Uf�VQU�X�YRW�YR,UfRc�WR	�XU��U�ЬP@ЬV#}�S�TQя��V(���ac��V�(VacЬP�ЬV'}�S�TWя��V,lW���c��V�,lWVcЬPЬT4}�Q�QR+�RSя��T)���ac��T�)Tac�caP�PP�P���~��x�PZ�Z2<�Z7�
ZP�
P�PZP�PP�PP�@Y�i[�kP�[P�P�ZP
�[�ki�[P�Z���^Ь[��!�Z�X�j3�Z���ij�jY�i��[[P�PP�ZP�YP�[[P�PP�ZP�PZ1��ZY�jZ�ZY��X�X	���Z������PZݏ��[~��x
PX�XXP�PP�ZP�PZxX~���PY�Y�����$�[XP�P�PX�[XP�P����P19��P���xX~�Y��-1��[[P�PP�P�8�Y�1��)�T��j���j�Z�
	�Y��~���~���~Y�Y��~��ZPЬ[X�[�kP�[P�PY�Y2:�Y5�
YP�
P�PYP�PP�PP�@���X�hZ�jP�ZP�P�YP�Z��[h�[~���^Ь[�[�[�m~�[�b~�[�Y~�k�^�﵅[ԭ��Z�Z�����֭��jk�kZ��[�[���Э�P�^ЬZ�ݬ����PP�PP�ZP�P��Э�j�Z��}W���}[���}YЭ���}�[P�ZP�ZP�ZP�Pk���P�YP�YP�YP�P�����}�}���}���^Ь[ݬ��������	�[�������[��P�P�����~��Q�PW�W~������PX�X[�XP�W���W���[Z�XYЊ�Э�P׭��P��X[��WWP�PP�XP�P[��WWP�PP�XP�[P�P��#�@h��������|�~��\S�^\��'���|P���|��Ь�|�P�P��~�P�^ݬ��y����P~�������P���P�Pݬݭ�������
�~ݬ��xV�
�~ݬ��dV�^���A�P��1��ݬ��+}��"}��}��Aݏ��8����B�P[����B�PZ߭���B�P���P��	�P������ѭ�����Џ�������[���FB�Z���;BЭ�Pխ��Э�P����Ɩ�����,�>�P�`�l�~�������—ɗ՗�����&�:�N�\�k�z�������ĘИޘ����%�>�R�i�Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough memoryPermission deniedBad addressDirectory not emptyIn useFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesIllegal ioctlText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeLink loopConcurrency violationIt's all Greg's faultSecurity label violationNo such system callOut of security labelsInadequate privilegeЬPЬR�R�Q{RPPR�PR�P�PЬPЬR�R�Q{RPRP�P�PR�RP��~ݬ��B�^ЬU�E��~[�[
ݏ����;ЬU�kE��~OЬUxU�����U�E��e��Uߥ������P[�[
ݏ��;Ь��[
ݏ��;Э���[
ݏ��;�[
ݏ��};ԫԫ�[PլaЬU�U[�U
ݏ
��S;ЬU�UZ�U
ݏ
��;;ЪU�E�~kЬU�U[�U
ݏ��;ЫUЬE��}�� ^ЬU�U���U
ݏ���:Э�UХWЬU�U���U
ݏ ���:���X�V�X
ݏ$��:�hZˏ��ZUЬT�TU��U[�ZU�TU�[T�TUY�Y��XU�U���UX�U
ݏ(��g:xYUˏ��[TЭ�S�TUc�VU�UV�UW����լ�#ЬU�U���U
ݏ1��:Э�U�W��ЬU�U���U
ݏ2���9Э�U��~�������P��Э�U�U���U
ݏ3���9ЬU�U���U
ݏ3��9ЬU�U���U
ݏ3��9Э�UХU�E�~c��Uߥ���~���~�����ݬ������Э����U�U��ЬT�T���T
ݏ7��B9Э�UЭ�TЬE�ЬU�U���U
ݏ8��9Э�U�W�ЬP���U�	UW�X�Y
>I��b��Y�X�WY��X�������P[�[
ݏH���8Ь��[
ݏI��8���	Z�	�H�	�ЬU�UV�U��U
ݏS��8�fU�0U~�
�[��r����P[�ZU�UZ�U��֬:�
�4ЬU�UV�U��U
ݏZ��B8�fU�0U~�
�[��(����P[�Z�Z���[P�Tˏ���U�U	�Tx��ˏ����U�U	�Tx��ˏ����U�U	�Tx��ˏ���?�U�U�TЬU�E�a���ˏ����U�U�Tˏ�����U�U� P�TPЬU�UY�U
ݏ��~7�iZˏ����ZU�U]ˏ����ZU�U�Pˏ����ZU�U!ЬU�UY�U
ݏ���<7�Zi�PЬU�UY�U
ݏ���7�Zi�P�[ˏ��ZU�U�[�ZZˏ���ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U"�[�ZZ�Z�Y�Yˏ����YU�U� PЬU�UY�U
ݏ���z6�Zi�[P���G����P[�[
ݏ���S6Ь��[
ݏ���=6���[P�\^ЬU�U���U
ݏ���6ЬU�U���U
ݏ����5Э�UЭ�Tѥ�Ь��Ь�Э�ЬU�U���U
ݏ����5Э�UХ��ЬU�U���U
ݏ���5Э�UХ��ЬU�U���U
ݏ���~5Э�UХ����ܭ��ЬU�U���U
ݏ���U5Э�Uѭ��֭�ݭ�������P��Э�U�U���U
ݏ��� 5���YЭ�U�E�_��U�YU���Y
ݏ����4�i�Y�Y���ЬU�U���U
ݏ����4�����Э�U�E�^��U���U��ЬU�U���U
ݏ���4�����Э�U�E�^��U���U��Э�U�U���U
ݏ���q4������;Э�U�U���U
ݏ���L4Э�Uˏ��eV��Э�YЭ�[�Z�Y
ݏ���4�[
ݏ���4ˏ��iU�VUˏ��kT�TU�ZUW�WZ�YU�U���UY�U
ݏ����3�[
ݏ����3н�U�UU�VU�kT�TT�TU�ZUX�XZ�[
ݏ���3�X��[
ݏ���z3�Wk�[�Y���:����[
ݏ���W3�ZkЭ�U�U���U
ݏ���;3н�U�UV��Э�YЭ�[�Z�[
ݏ���3�kX�Y
ݏ����2�[
ݏ����2ˏ��iU�VU�kT�TT�TU�ZUW�WZ�[
ݏ���2�W��[
ݏ���2�Xk�[�YU�U���UY�U
ݏ���2�[
ݏ���r2н�U�UU�VUˏ��kT�TU�ZUX�XZ�Y���:����[
ݏ���52�Xk������ѭ�������Э�U�U���U
ݏ���2�����Э�U�E��[��U���U[׭�խ�&������[U�U���U[
ݏ����1Э�U�e�Э�U�U���U
ݏ��1Э�UЭ��Э�P�^ˏ��������~Э�U�E�nݬ��f����P�x����ЬP��~t[*ݏq�������P�gt�P[�[
ݏ��+1�kˏ�����U�U�[ݬ�������PYݬ������Y�x����T�[
ݏ���0�kZ5�[
ݏ ���0�[�[������Pk�PZ�Z
ݏ!��0�j�Z[�w���ЬP��4^x���VЬU�U���U
ݏ4��v0Э�UХXЬU�U���U
ݏ5��U0Э�U��VU�UWЬU�U���U
ݏ6��/0Э�UХ[
�X>K�Z��[�W[��X�������P���U�U���U
ݏ9���/���Y�[!�YU�U���UY�U
ݏ;���/Խ��[�[V�ЬU�U���U
ݏ<��/���ZЬU�U���U
ݏ=��/Э�UХU�E�sY��U�ZU��ʏ������ì Xԭ��YU�U���UY�U
ݏC��A/�Z
ݏC��0/ЬUxUjUЭ�Tɭ�Ud�ZU�U���UZ�U
ݏD��/н�U�X P�XPU���Z����Y
ݏG���.Э�iG�WC�YU�U���UY�U
ݏX��.�ZU�U���UZ�U
ݏX��.нн��Z���Э�U�U���U
ݏZ��x.Э�U�W�ݬ������Э�P��^ЬU�UW�U
ݏe��C.Ч��ЬU�UV�U
ݏf��&.ЦX�X��Э�PЬU�UW�U
ݏo���-�WY�H��W��U�YU[ЬU�UV�U
ݏq���-�V���H��W��U���UZ������[U�UW�U[
ݏt��-������ZU�UV�UZ
ݏt��-�gf7�[
ݏu��u-�Z
ݏu��d-�kj	Џ����W�W�WP�[Y�����P��<^ݬݬ�������P��խ�S�~�������P��Э�U�U���U
ݏ����,Э�U��Э�U�U���U
ݏ����,Э�UԥЭ�Pխ�Ь��Ь�Э����ԭ�ЬU�U���U
ݏ���,Э�Uݥ��n����P��Э�U�U���U
ݏ���q,Э�UЭ�ЬU�U���U
ݏ���O,Э�UХ��ЬU�U���U
ݏ���-,���WЭ�U�E�V��U�WU��ЬU�U���U
ݏ����+Э�UХ��ЬU�U���U
ݏ����+���VЭ�U�E��U��U�VU��Э�U�U���U
ݏ���+���Z�[�W
ݏ���+�V
ݏ���+ˏ��gUˏ��fT�TU�[UYx��Y[�WU�U���UW�U
ݏ���L+�VU�U���UV�U
ݏ���0+н�U�UUн�T�TT�TU�[UXx��X[�Z
ݏ���+�X��Z
ݏ����*�Yj�Z�V���4����|�W
ݏ����*ˏ��gU�[UYx��Y[�WU�U���UW�U
ݏ���*н�U�UU�[UXx��X[�Z
ݏ���s*�X��Z
ݏ���^*�Yj�Z�W���x���׭�������ZU�U���UZ
ݏ���)*Э�U�e�Э�U�U���U
ݏ���*Э�UЭ��Э�P�^ެU�U
ݏ����)ˏ����UÏ�U[ޭ�U�U
ݏ���)�[��ޭ�U�U
ݏ���)ԭ�p��P��0^ЬU�U���U
ݏ���z)���XЬU�U���U
ݏ���\)Э�UХU�E�ES��U�XUZ������ZU�U���UZ
ݏ���*)н�Y�Y�������P[ЬU�U���U
ݏ���)Э�U�[ e�[j�[U�U P�UPYUɏ�@UW�ZX%������ZU�U���UZ
ݏ��(нح�ԭ�Эܭ��[UxUYUЭ�T�[S�S P�SPTT�TUV��ZX%������ZU�U���UZ
ݏ��g(нح�ԭ�Эܭ��[ix[YUȏ�@UЭ�T�[ S�S P�SPTT�TUW�ZX%������ZU�U���UZ
ݏ	��(нЭ�ԭ�Э�Yx[��U�[ T�T P�TPYT�TUVɏ�@YWЭ�Vޭ�U�U
ݏ"���'�WUxWT�TU��ޭ�U�U
ݏ#��'�VUxVT�TU��p��P��^ެU�U
ݏ3��x'ެU�U
ݏ3��c'ЬU�UUx�T�TUYެU�U
ݏ4��<'ެU�U
ݏ4��''ЬU�UUx�T�TU����������P[�[
ݏ?���&�[��ˏ��Y��ʏ�Y�	Y��ȏ���Э���߭���%����PZ6Э�U�UX�U
ݏO��&�Z UxU��U�U��hЭ�U�Z P�ZPU��Э�U�UX�U
ݏS��j&Э�h�[
ݏT��U&Э�U�UW�U
ݏT��=&Э���X�X�X��X��E߭�������PZЭ�U�UX�U
ݏ\���%Э�h�[
ݏ]���%������ ZЬU�UX�U
ݏ����%Ï���U�7U�ZUhЬU�UX�U
ݏ���%�Z8h�[P�^߭�ݬ������pP��߭�ݬ������pP��ЬU�UZ�U
ݏ���W%ЬU�UY�U
ݏ���?%í��Ué�TxTT�TU[�[ޭ�U�U
ݏ���%x[U�U�� �[[ޭ�U�U
ݏ����$x[U�U��g���P��^ԭ���x���|�p�%��Ь��Э�U�U�d��U
ݏ���$��d�U�e�h���h�U�U ��U D��h�U�U	,�U
�|�E�����Ue
�
�
�
�
���h��8M��h�U�U+�U-<��|����U�U�`��U��
ݏ���$��`�U�e��	֭��6���Э�U�U�`��U
ݏ���#��`�U�e0U��x����U�U�\��U��
ݏ	��#��\�U�e0�Э�U�U�X��U
ݏ
��#��X�U�e�pЭ��t�ԭ�ԭ�ԭ��Z+�Z	ŭ�
U�VU�0U���Z
ŭ�
U�VU�0U���Z֭�Э�U�U�\��U
ݏ��$#��\�U�eU�UV�U0�V9��Z���V.����U�U�X��U��
ݏ���"��X�U�eV�Z��(֭����U�U�T��U��
ݏ��"��T�U�eV�V0��V0��V9�Э��t���Э�ԭ�֭��0VO��Э��[��U�U	�
��	�Z�
���[�[��ដU�U	ŭ�
U�VU���Z
ŭ�
U�VU��ԭ����U�U�T��U��
ݏ"��
"��T�U�eV�V0�V9�t���ԭ��V�e�V�E�Z�Zխ���x�Ь���
���p����U�U�T��U��
ݏ=��!��T�U�eU�UV�U�X���X�U�U+�U-*��p����U�U�P��U��
ݏA��T!��P�U�eV�V0��V9�%���U�U�P��U��
ݏE��!��P�U�eV�V0��V0�x�V9�m�0V��Э��l�
ŭ�
U�VU�0U�����U�U�L��U��
ݏI�� ��L�U�eU�UV�U0�V9���l���U�UЏ������p�έ���
ԭ�Ь���Z"խ��b��x��VЬ���Kí���U�U���U��խ��Z���Z�Z�X���X���X���Э�U�UnU�P�
nUTa�!T�P�p�P���ѭ�	1Э�U�UnU�H�
nUTa�� T�H�Э�Ue��E�@\Ta�H�T���Z��խ��խ��ѭ�!�Z[�[Uѭ�U��[��dK�8\��ޭ�U�U
ݏ���q��Э�UdE�\��ޭ�U�U
ݏ���Gˏ�����U�U��c�zޭ�U�U
ݏ��������ѭ������έ�UfE�[����
í�ZU�U��խ��Aˏ������[	dK�y[������ѭ�&�"�\p����
x��������ԭ�$ˏ������U�U
Э�UdE��[��֭�x������ѭ��ޭ�U�U
ݏ���M��Э�UdE�[��ޭ�U�U
ݏ���#ˏ�����U�U���U�d�R���ѭȏ�c@ޭ�U�U
ݏ����Џ�����ޭ�U�U
ݏ����Џ�������ޭ�U�U
ݏ���������խ���έ���ˏ������[	fK�(Z�������x������ԭ�$ˏ������U�U
Э�UdE��Z��֭�x������ѭ��p��TpT��Э�SeC�ZT��q���ke������Э�UdE�Z��q����p�����"��Z��ޭ�U�U
ݏ����Џ���ޭ�U�U
ݏ���ԭ�ݭ��Zݭ���t�������P��Э�U�U�D��U
ݏ���x��D�Uݥ��I����P��Э�U�U�@��U
ݏ���KЭ�U�U�<��U
ݏ���1Э�U�U�8��U
ݏ�����8�UХU�E��E��Uߥ��<�~��@�~��<���߭�߭�p��~��M����P�����`����PWխ�ԭ��XЭ�U�U���U��έ�U�U���UXԭ�ԭ�խ����X­����X��í�9��Э�U�UX�U���X���X�4�Э��4���4�[�[��Э�[�[�[X�[���[��խ�.ݭ��W������PWݭ��W�������P��ݭ������Э����X�Xݭ���s����P��խ�ݭ�ݭ���a����P��խ�ݭ�ݭ���G����P��խ�ݭ��W��2����PWݭ�ݭ���|����PY�Y
ݏ��Щ���Y
ݏ��ԩ�W�Y��$����P[�[�pխ�<ޭ�U�U
ݏ ��]խ�"ޭ�U�U
ݏ ��Cˏ����U�U����Y������PY�W�Y������P���	�[�խ��ޭ�U�U
ݏ*���ˏ����U�U����@ޭ�U�U
ݏ+��ѭ�������ޭ�U�U
ݏ-��ޭ�U�U
ݏ-��vˏ�����U���U��ޭ�U�U
ݏ3��Oԭ��
ޭ�U�U
ݏ7��1ˏ����U�U�ޭ�U�U
ݏ7��	խ��yޭ�U�U
ݏ;���ˏ�������ѭ�����������ޭ�U�U
ݏF��ɏ������ޭ�U�U
ݏG��Џ�������Iխ��>p��TpT�,�pT~��m���aP�,�����W�Y�����pP��qP�$�խ�p�	TpT��pT���ޭ�U�U
ݏb��
խ�"ޭ�U�U
ݏb���ˏ����U�Up���p���Nq���
p���d���r�ܭ�+d�s��խ�p���,�r���,�p�,���`�P��ޭ�U�U
ݏ���qˏ�������ѭ菀�p����ޭ�U�U
ݏ���=��p��~��0���eP����`����ޭ�U�U
ݏ���
ˏ�����U�U�d�ޭ�U�U
ݏ����ѭ�����%ޭ�U�U
ݏ���ѭ�����������ޭ�U�U
ݏ���Џ�����ޭ�U�U
ݏ���|Џ�������ޭ�U�U
ݏ���Y�����Aޭ�U�U
ݏ���6ˏ�����U�U���p����ޭ�U�U
ݏ�������p��~������eP����`����ޭ�U�U
ݏ����ˏ�����U�U��zޭ�U�U
ݏ���ѭ��� ޭ�U�U
ݏ���խ�����ޭ�U�U
ݏ���eЏ���ޭ�U�U
ݏ���Hԭ���ޭ�U�U
ݏ���*��p��~�����eP����`����ޭ�U�U
ݏ����ˏ�������ѭ���vp��TjT��n��RcRT��խ�<ޭ�U�U
ݏ���խ�"ޭ�U�U
ݏ���ˏ����U�Up��TqT�A	qT�08q���,ݭ�������ݭ��������W�������Y����������ݭ�������ݭ�������W�����ݭ�������Y�����լ ЬU�U�D��U
ݏ����Э��D���|�r���<�p���<�p�<�P�L^ЬU�U���U
ݏ���Э�UХ��ЬU�U���U
ݏ���Э�Uѥ���PЬU�U���U
ݏ���a��ح����U�U���E�C=��U���U��ЬU�U���U
ݏ���+���[Э�U�E�=��U�[U��Э�U�U���U
ݏ����Э�U�U���U
ݏ����н�UЭ�T�dT�T�U��D����P��խ���Zԭ�Э�U�U���U���U
ݏ��н�Vˏ��VUЭ�T�TU���UX�VU�TU�XT�TU��Э�U�U���[
ݏ	��Uˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ��(�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ����W��[
ݏ����Yk�[ѭ�������Э�U�U���U
ݏ��Э�U�e�xЬU�U���U
ݏ�����[׭���������U�U���U[!Э�U�U���U
ݏ��]Э�U�e�ЬU�U���U
ݏ��<Э�UЭ�ݬݬ�������P��֭��Zԭ�ЬU�U���U
ݏ%������[ЬU�U���U
ݏ&�����ĭ�Э�U�U���U���U
ݏ)��н�Vˏ��VU���UX�VU�XT�TU��Э�U�U���[
ݏ-��~ˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ0��Q�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ3��#�W��[
ݏ3���Yk�[ѭ����$���ЬU�U���U
ݏ>������[Э�U�E��9��U�[U��Э�U�U���U
ݏ@��Э�U�eZ׭���������U�U���U[!Э�U�U���U
ݏA��{Э�U�e�ЬU�U���U
ݏC��ZЭ�UЭ�Э�P��^��iRi��aRU�U���U
ݏ���Э�U��ER���9RU�U�|��U
ݏ������ RU��|�TxU���R��f������QլԬެU�U
ݏ���ˏ����U�U<ЬU�U���U
ݏ������ެU�U
ݏ���vʏ��ЬU�U���U
ݏ���SԽ�ެU�U
ݏ���;Ѭ��VЬU�U�|��U
ݏ���Џ'�|�Џ��[լ#ЬU�U�x��U
ݏ����
��x�U�[e�[Pq���RЬU�U�|��U
ݏ���
��|�Џ��[լ#ЬU�U�x��U
ݏ���
��x�U�[e�[P߭�߭�p�~�������PXެU�U
ݏ���V
ЬU�UUˏ���UZp���ޭ�U�U
ݏ���+
ʏ����ޭ�U�U
ݏ���
ȏ�@���Zc�
��Td�
T`�y
TnZRd�g
RaRT��p��TjT��qT��
n��RqTR׭����Э�U�U�UЭ�Uq�E�NI׭�ԭ��Z��U�UY�Y	ԭ��Y���Y��ԭ�խ�ԭ�Э�U�U���U��Э�U�U���U��ԭ�ЬU�U�U	Ԭ���Ѭ��ԭ����ЬU�U�|�U�q�E�Ue��)�F�,�I�Џ������Џ�������Z:ԭ�լ��ЬU�UZ�U���U��ԭ����U�UZ�Z���Z���Z�Z�Y���N���N>I�5��Y�YU�UZ���N��V����P�N��NU�U���U[Э�U�U��U�խ���Zp���Э�U�U��Э�������UdЭ�Uˏ����UTpD�G��x��UYˏ����YU�U3ʏ����Yf�nH�֭�ˏ����YU�U֭�dJ�IH��x��YY�Z�Y�f��Fέ��?Э�Uˏ����UTdD�SG�x��UYˏ����YU�U֭�dJ��G�x��YY�Z�Y�խ�(q��Bխ��Э���׭�d��
�֭�n��Td�Ta�
T��ޭ�U�U
ݏv��$
���խ��Э�UgE�F��
Tc��T���Zp�TjTWnWRcRT��[U�U�|��U[�U
ݏ����	��|�U�0Weq����M	c��
TqT����ZU�UZ�U����p�
TdT��dT������UdE�F���Zp�TjTWnWRcRT��[U�U�|��U[�U
ݏ���=	��|�U�0We�Z��Ua��	��Tq�T�*c����	Tq�TA������[U�U�x��U[
ݏ������x�U�e0��[�p�Zd�Q	��`���Э�[p���Э���Э���խ��:ѭ��.Э�UpE�DE���Zp�Tp��RgRTPjPWnWPdPRcRT��[U�U�|��U[�U
ݏ���X��|�U�0We�Z���p�TaTT�p�Tp��RqTRqTR�ˏ����WU�U��[��֭��[
ݏ�����0k)������[U�U�x��U[
ݏ������x�U�e9��[U�U�t��U[�U
ݏ�����t�U��t�T�ed�,e��
TpT�qT�y��Z�����Эȭ�Э���ԭ��Vխ�IѬí�9Z(���Y�YZѭ�Y�Y��í�YU�UY�U���Y��ԭ��Z���Z���������PVխ�+խ�&ѭĭ�Э��|�Э��|���|�Z�Z���Z���Z��խ�\խ�Hխ�+ݭ��V��3����PV�X�V������P���X��<���Э�Xí���Y�Y�X������PXݭ��X�������PX�������P��խ�ݭ�ݭ��������P��ѬKެU�U
ݏ��Eլ.ެU�U
ݏ��+ˏ���U�U֭�֭����ԭ�խ�eЭ�U�U�x��U
ݏ���Э�U�U�t��U
ݏ�����x�UХU�E�/��U�U��t�TޤT�TU�e������P �|���|�����|�Uˏ����UZ�Z Z�Z�Z�Z���Z���Z���Z�Z�Z���Z���Z��խ�ݭ��X������PXխ�ݭ�ݭ�������P��խ�=ݭ��X�������P-׭��~�
�X��
����PXխ��~�
�V�������PVЭ���խ�]ѬWխ��H��X��:����PXݭ��X��e����P�$�[U�U�p��U[�U
ݏ?����p���խ��խ�ݭ��V�������PV�V��խ���V
ݏL��Tݦ��*����PV�V
ݏM��6Э�U�U�p��U
ݏM��Э�U�U�l��U
ݏM����l�UХU�E��-��Uߥ��p�~ߦ��*�����V��9����PV�Zݭ��X�������0P��ݭ��X��P����PY�Vݭ���a����P��Э�U�U�l��U
ݏX����l�Uե��p�ݭ��X������P�p���p���ݭ��������Y�Y�լ�uխ�G��X������PXݭ��X������P��Э�U�U�Uˏ������U�UЭ�U�U���U94�[U�U�h��U[�U
ݏp�������h��,խ�[ѭ�9(�[U�U�h��U[�U
ݏv���9�h��x�[U�U�h��U[�U
ݏy��s��h�U���e���[U�U�h��U[�U
ݏ|��F����h��Z����~�
�X������PXѭ�V�~�
�V��	����PV�P��"�~�
ݭ��������P���~�
�V�������PV�Z�����Z�[U�U�p��U[�U
ݏ���ݭ��X�������0PU�U���U�p��Z���~�
�X������PX�Z���X�������PXݭ��X������PY�Y�Y�ˏ������U�U�1�[��+֭��[U�U�p��U[�U
ݏ���#�1�p��������[U�U�p��U[
ݏ������p�U�e9��[U�U�l��U[�U
ݏ������l�U��l�T�ed+������[U�U�p��U[
ݏ�����p�U�e0��[ݭ�������V Э�U�U�UV
ݭ�������V�������X�������[
ݏ���O�kЬU�U�p��U
ݏ���3��p�U���eլЬU�U�l��U
ݏ���
�[�l�Э�P�^ݬ��=��0��8���um����8���J����P��8�����^�������null pointer dereferenced @%s:%d
stdio/_dtoa.c�A B�?� ����4?DQ[�E�@�?;=z0NaN?�����@��)�?�����@���@A��������P����̽����ݬ�����ݬݬ���;������Q�P���QP�%�d����P��T���ЬPЭ`Э��PЬP�PЬQ�aP���P����Q�
���Q��a�(Џ������7����^�С��ݏ#����]��longjmp botch
�0לּ�����լ�Q���^ЬU�U[	�����P�P�P�PЏ����Pݬ��Vj��ЬU�U[	�����Uʏ����U�UЏ����PЬU�UZ	���_ЬU�UY	���MЬU�UX	���;ЬU�UW	���)�WUѨU�[ЬU�UV	���Ц[�[ݩ�j���Z���P��Э�P�P������P <ЬU�U[	������Џ����PЬU�U[	�����Џ����PЬU�U[	�����ЬU�U[	���zЬU�UZ	���hЪ�ЬU�U[	���QЬU�UZ	���?�����ЬU�U[	���&ЫU�UZ�U��U	���
�jUˏ���UP�^ݬ��`9��.��8���Ki����8��� ����P��8�����Z�������null pointer dereferenced @%s:%d
stdio/_IO_getc.c�~���[���^ЬU�UZ�U	���	��[�[�P�[�E�K�Ue(�0�@��/�(�@�ЬU�UZ�U	���,	��Џ����Pݬ��g����ЬU�UZ�U	����ЬU�UY�U	����ЬU�UX�U	��������ЬU�UZ�U	�����Uʏ����U�U\ЬU�UZ�U	���ЬU�UY�U	���Щ�ЬU�UZ�U	���iЬU�UY�U	���UЩ�-ЬU�UZ�U	� ��:ЬU�UY�U	� ��&Щ���s7��o�����������^7ЬU�UZ�U	�'�����Uʏ����U�U��ЬU�UZ�U	�(���ЬU�UY�U	�(��ЬU�UX�U	�(������ЬU�UZ�U	�)��ЬU�UY�U	�)��rѪ��2ЬU�UZ�U	�*��Q��Uʏ����U�UUЬU�UZ�U	�+��.ЬU�UY�U	�+��ЬU�UX�U	�+�����~ݩ����P� ЬU�UZ�U	�-�����Џ����PЬU�UZ�U	�0��ժ ЬU�UZ�U	�1����Џ����PЬU�UZ�U	�4��ЬU�UY�U	�4��lЬU�UX�U	�4��X����ЬU�UZ�U	�5��=����ЬU�UZ�U	�7��ЪU�UY�U��U	�7����i��ЬU�UZ�U	�9�����Uʏ����U�U�ЬU�UZ�U	�:��ЬU�UY�U	�:��Ѫ��ЬU�UZ�U	�;��ЬU�UY�U	�;��vé���ЬU�UX�U	�<��[��Uʏ����U�U!ЬU�UZ�U	�<��8��~�j��g���ЬU�UZ�U	�=��ЬU�UY�U	�=��ݭ�ݩ�j���U���P�� ЬU�UZ�U	�>�����Џ����PЬU�UZ�U
ݏA��ЬU�UY�U
ݏA��Щ�ЬU�UZ�U
ݏC��ЪU�UY�U��U
ݏC��d��iѬ
�-ЬU�UZ�U
ݏE��<ЬU�UY�U
ݏE��$é���ЬU�UX�U
ݏF����Uʏ����U�U%ЬU�UZ�U
ݏF�����~�j��
���խ�iЬU�UZ�U
ݏG��ЬU�UY�U
ݏG��ݭ�ݩ�j��yT���P��$ЬU�UZ�U
ݏH��o��Џ����PЬU�UZ�U
ݏK��KЬU�UY�U
ݏK��3Щ��ЬU�UZ�U
ݏN��ЬU�UY�U
ݏN����YUѪU��ЬU�UZ�U
ݏO������ЬU�UZ�U
ݏP����Uʏ����U�U%ЬU�UZ�U
ݏP����~�j�����ЬU�UZ�U
ݏQ��gЬU�UY�U
ݏQ��O�ݩ�j��-S���P�ЬU�UZ�U
ݏR����Џ����PЬU�UZ�U
ݏW���ЬU�UY�U
ݏW���Ѫ��uЬU�UZ�U
ݏX��ЬU�UY�U
ݏX��é���ЬU�UX�U
ݏY����Uʏ����U�U%ЬU�UZ�U
ݏY��_��~�j�����խ�iЬU�UZ�U
ݏZ��5ЬU�UY�U
ݏZ��ݭ�ݩ�j���Q���P��$ЬU�UZ�U
ݏ[�����Џ����PЬU�UZ�U
ݏ^���ЬU�UY�U
ݏ^��Щ�ЬU�UZ�U
ݏ_��ЬU�UY�U
ݏ_��ЬU�UX�U
ݏ_��g����ЬU�UZ�U
ݏa��HЪU�UY�U��U
ݏa��+��iЬU�UZ�U
ݏc����ˏ����P�^ݬ��J/��0��8���-_����8�������P��8����P����Ԫ��null pointer dereferenced @%s:%d
stdio/_IO_putc.c�Ь[ЬZ��Z	����Z	���Ѫ�#�[U�UY�[�U	���z�Z�i~�����<�Z	���_ЪU�UX֪�U	���H�[U�UW�[�U	���3�gh�[	���#�k�i����Z����PYЏ����Y�YP�^ݬ��.��0��8����]����8���Ʃ���P��8����sO�����null pointer dereferenced @%s:%d
stdio/fputs.cЬ[�[	������Z�Z(�Z#�J�Ue��������H����[	�	��ի1�[	�	����Uʏ����U�[	�
��gݫ������[	���P���P�[	���=���D����P��[	���#ЫU�UZ	����j���[	���������[	�����[	����ѫ��i�[	�����Uʏ����U:�[	����[	����[	�����~ݫ����P��[	���kի�P�[	���VЫU�UZ	���D�j�[	���5���[	� ��%���[	�!�����[	�"��ЫP�^ݬ��+��0��8���[����8���j����P��8����M����<���null pointer dereferenced @%s:%d
stdio/sclose.cЏ��[�[	������ [�[����[���P�[	�	��^�[	�	��Q�[	�	��Dԫԫԫ�[	�
��.���[	������[	���Џ����k�[P�^ݬ��*��.��8���wZ����8���L����P��8�����K�������null pointer dereferenced @%s:%d
stdio/sopenw.c�Ѭ�����Џ����PЬU�U[	�����P�P,�PQ&�A�P`�����������ЬU�U[	�	��Q��Џ����PЏ����Pݬ���X��ЬU�UZ	���!ЬU�UY	���ЬU�UX	����ը�[ЬU�UW	����Ч[ЬU�UV	������[U�U��U�ЬU�U[	�����ЬU�U[	���ЬU�UZ	���ѫ�Џ����PЬU�U[	���c��Uʏ����UЬU�U[	���D��������1ЬU�U[	���&�������U�UZ�U�	�����j��P�^ݬ��l(��.��8���?X����8�������P��8�����I�������null pointer dereferenced @%s:%d
stdio/ungetc.c��^Ь[ЬYԭ��Wԭ�ԭ��Y	����iP�P
$�	PQ)�A�P`������P �Y��Y	�%����i-�Y	�%���i+#�YU�U���Y�U	�&���U�e-����[N�Y	�-��v�i0	�
[��[�Y	�1��X���x�Y	�1��D���X�Y�[S�[?�Y	�6��#�i0-�Y	�7�����x�Y	�7������X�Y�[�$[��Y
ݏ@����iZ�[X�0Z�Z9�0ZX>яaZ�Z�zÏaZU�
UXяAZ�Z�ZÏAZU�
UX�X[�[WU�XUV�VW����VW�Y֭��u���խ�ЬYլЬU�U��
ݏT��2�Y��խ��"�,&խ�Џ�PЏ���Pխ��WP�WP�^ݬ���%��.��8���U����8���p����P��8����G����B���null pointer dereferenced @%s:%d
gen/strtol.cЬU�UZ	������[�[�[P�^ݬ��4%��.��8����T����8���Ԡ���P��8����F���裂��null pointer dereferenced @%s:%d
stdio/ferror.c�����(�(�(�(�(�(�(�(�(�(l(�(W(�(�(�(
,�+�+�+�+�+�+�+�+�+z+j+d+T+I+;+�6�8N9�;z?vA�C�F�F�F�F�F�F}FkFYFIF=F+FFF�E�E�E�E�E�E�E�E�EoE[EME>E/EE
E�D�D�D�D�D�D�DDfDRD;D&D/tmp/tn000000000000�G� @�^�^�]�L�]�^_,_�]�R�]$^*OX^�^�m��l~��N����Rs��n��l��}||||<         (((((                  H���������������������� /bin/shsh-c*}�@ B�CzEG@�HPtJ$L���M �nO(kQ��R�C@hT��V�*�W ��cY�_�1[���\���.^^kv:@
`#lj�a�x��bXc&���zex�n2���fh
?�WSh��Ρ�[���u��+��p�%��ľ�MO�E��9r�������R�n���J����<d<$�E���'($<- D2�7��DE�EDEDGDIDKDMDPDSDVDXD[DcDzD �D ���D �D ���D �D �D �D ���D �D �<���D!�D!�D"�D"�D#�D#�D$�D$�D%�D%�D&�D&�D'D'D(D(D)@�D)iD*oD*sD+yD"D+���K�"Q� W�"$��D �D-�D.�D/�D0�D1�D2�D3�D4�D5]DD6�D7�D8e�D9&�,D;,i�D<E�KD>K�PD?Pp�D@���DB���DC�DD���DF���DG���DH�t�DI���DK�DL���DN���DO�DPDQDR%xvDS<DTMDUd|r�sDWsDXx�dDY��DZ�D[�D\�D\�D]�D^��jD\���D`�Da�Db��BDc�De�DfDgDh�@�@
�@	�@�@�@������������b���"� Di �i ��i!�$k"�2PDm$�$Dn$�<Do7�@Dp@�p@��pA�$rB2P�"DtD�DDuDDvZ�cDwc�wc�wd$yd&2PD{m�mD�m��D��D����D��D����D��D��D��/%4!9(D����D��>C�D�HD�+M�8D�8R@(V�Z@
\�b��CD�C��Cc��Dl$�Ds2Pz�D�M�MD�M�bD�bD�y��D��D����D��D��D����D���@(���@
��b���D����������$���2D��(����"��"D����D��D��D���D�D��&D�&D�6�:D�:��D�M�ZD�ZD�a�sD�sD�zD��D����D��D��D��D��D��D��D��D��D���@�@
��D���������� ��� "�\�`�``	``"^\&`/`5`=`D`(I�M`"U`�[^j\v`y`�`�`�`�`
�`

�`l��`b"��`l$��`$�^(�\�`�`�`�`l�
�`l��^�\``^4\S`X`\^{\�`�`�`�`"�`"�`"�`"�`�`b��^ ��������d���E���' 
�
$� D%�('�6�"D
���D�D�D�D���D�D���D�D�:�>��	D	B�D)	�6	D6	F��Q	DQ	�]	D]	J_D!}	�	D$	D%�	��	D'�	D(�	D)�	N&�W�\�b�b@(e���	D*�	�*�	��*�	�$,�	� D��(����"D-�	��	D1�	�]��	D2�	D3�	�
D5
D5
D6

D7
D5-
D81
D9:
�@�@(
���<
D:<
�:<
��:=
���$<>
� ��(��D>@
�@
DA@
DBT
DC]
DDp
QDEy
(b����
DF�
�F�
�F�
&$H�
0 D:�(<�K�"DI�
��
DM�
DM�
��
DN�
DN�
DO�
DP�
DN�
DQ�
DR�
DR�
��
DM�
DT�
DU�
RDDV�
V@X�b���
DW�
�W�
\�W�
f$Y�
p Dz�(|���"DZ�
��
D]�
D^D_D_D`!Da3D_8Db<�@�@
�CDcC�cC��cD�\�`�`�`�`�`"�^�\�`�`�`�`�`(���`"`�
^\:`=`C`I`"M`"P`"S`"V`[`b�a^ \�`�`�^�\�`�`�^
�cDc�d�'�E2�'+$�2 P9�(;�D
���D�D�D
�D�D�D���D���J��Q\U`^`e`k`p`"u^y\�`�`�`�`�`(���`"�`��^�\�`�`�`�`"�`"`"`"``b�^ /��7�>d�E�E���'I$�P DW�(Y�h�"m�"D���D�D�Dq�DD%D2t�D?DAD PD R�XD!X�eD"eD#gx��tD%vD&~��D �D(�|�D*�D*�D+�D,�D,�D*�D-�D-���D.�D/�D0���D1���D2�D3
D4
D4
D5#
D60
D60
D42
D76
�8
D9:
D:R
�_
D-_
D<g
��
D=�
D>�
�wD?�
D@�
DA�
��
DB�
DC�
��
DE�
�jDFDGDH)DI=DJIDKP�XDMX�UDNgDOkDPtDQ{DQ}��DR�DS�DT�DU���DV��PDV�DW���DX�DY��D[D\�>D_>D_@D`MD_MDaQDdQDekDfmDimDjp�pDlpDm�Dn�Do�Dp�Dq�Dr�����DQ�Du��8Dv�Dw�D{�@�@
�@	�@"��b��@���D|�|��|�$~� D������"��$D�D�D�%D�2D�ED�KD�O�TD�TD�XD�nD�{D��D��D����D��D���*��D��D��D����D����D��D�D�D��#D�#D�*�:�<D�<��D�PD�^�g�gD�gD�kD�n��D����D��D���@��b���D�����	���		\	`"	`#	`-	^8	\<	`E	`L	`R	`W	`"\	^`	\o	`x	`~	`�	`�	`(�	��	`"�	`��	^�	\�	`�	`�	`�	`"�	`"�	`"�	`"�	`�	`b��	^ 
\5
`:
`>
^]
\|
`�
`�
^�
����
���
d��
�E��'�
$
��
 D�
�(�
��
�"D���D�D�DDD!D.D.�.D.D0D6DCDCDEDIDODODUDfDsDwDwD}D�D ���D!�D"���D$��
8D%�D&�D'�D(D)D*%�.D.D,4�
@�
@
�
�b��
��
@	�6D-6�-6�
�-7\````!`"&^*\9`B`H`P`W`(\�``"h`�n^}\�`�`�`�`"�`"�`"�`"�`�`b��^ �\�``^'\F`K`O^n�-7u-D|dD��E6�'�$D� D��(����"��"��DM�MDMD^DkD|D�D�D�D�D�D�D �D!���D#��pD$���D&�D(D)�D*�[D++�8D-8�CD.CD.E�UD/UD0b�hD1hD2xD3�D4�D5�D6�D7�D8�D9�D9�����D.�D=��rD>���D?��CD@��DBDCDD$DF)DG2DH6DIM�VDKV�4DLj�@�@(
���@	�@�@��b��qDMq�Mq��Mr�$Or
2D
�(
�+
�2
�"DQt�tDTtDU���DW�DW�DX�DY�DW�D[�D[���D\���D]�D^�D`�����D[�DcDdDe"�+Dg+6
@8
@
�2Dh2�h2>
�h3L
\P
`Y
``
`f
`k
`"p
^t
\�
`�
`�
`�
`�
`(�
��
`"�
`��
^�
\�
`�
`�
`�
`�
`�
`�
`�
`` ^$\1`4`:`@`"D`"G`"J`"M`R`b�X^ v\�`�`�^�\�`�`�^�h3h�d�!�E9�'%$�. D7�(9�H�"O�"D
���D�D�D�D�D�D���D�S�D��DW�D�"D"[�D2�?D?_hD ND!WD"kD#xcdD$�D%�D&�D'�D(�D)�D*�D+�D,D-
g`D.!D/5D0>D1RD2[k@n@
t�b��]D3]�3]y�3^�\�`�`�`�`�`"�^�\�`�`�`�`�`(���`"�`��^�\`````%`-`5`=` F^$I\g`j`p`v`"z`"}`"�`"�`�`b��^ �\�`�`�^�\``^:�3^E3�Od�V�E�I�'Z$�c Dl�(n���"D
���D�D�D�DD'D4�JDJDRDTD\D^De�eDeD|D�D!�D!���D"��rD#�D$���D!�D&���b�������8"����D'��'���'��$)�� D��(����"D*�D0D1D2"D2$D3)�lD22D46D5;D6G�fD7ZD8\D9h�`D:{D;�D;���D<�D=�D>�D?�D@��DA�DBDC0�=DD=DEY�r�r�tDHtDI�������D;�DM��@�@,
��� ���H����DN��N��N�$P� D'�()�;�"DQ���DV�DW�DX�DY�DY�DZ�DYD[?@A@,
C�(G��D\�\S�\^$^f Dn�q�"D_'�'Dc'DdKu�y���8 ���cDec�ec��ed�$gd� D��������"Dhm�mDlmDm�������8 ����Dn��n���n��$p�� D�����"Dq���Du�Dv�Dx�Dy"���8 ��:Dz:�z:)�z;4$|<< DD�G�"D}E�ED�ED�iD��D��K�O�X�8 \���D�����h���p$��w D~���"D����D��D��D��D��������8 ����D����������$��� D����"D����D��D�D��D������	�$�
� PD��D�D�/D�8D�C������8 �
�b8$��\D�\��\��]\`&`-`3`8`"=^A\S`\`b`j`q`(v�z`"�`��^�\�`"�`"�`0�`(���^�\�`"�`"`"`$^\'`".`6`@^K\V`b�Z^e\q`t`~`�`�`�`
�`

�`l��`b"��`l$��`$�^(�\�`�`�`�`l�
�`l��^�\``^/\N`S`W^v\�`�`�`�`"�`"�`"�`"�`�`b��^ ���]����d���Eb�'�$���2D�D	���D
�!%D���D�%%%D
�D
�%D�D��$D D #�$�% D' '�$D4 +�$�A DA �A /�B 5$B B DO�(S�_�"DK �K DK Di Do Ds Dw D { D! D"� D#� D$� D%� D&� D'� D(� D)� D*� D+� c�g�p@�� D,� �,� r�,� $.� � D��(����(�������D0!�!D8!�!D9!D9!�%!D:%!D;*!D;,!�7!D<7!��$��$��$��$��$��$D?�!��!D@�!��!DA�!�u$DB�!DC�!�^$�a$�"DE"�F$�G"DGG"�T"D;T"DI_"DIa"�f"DJf"DJi"DKu"DL�"DL�"DJ�"DM�"DN�"�C$DP�"�=$DQ�"��"DI�"DS�"DT�"�3$DU�"DV�"DW�"�)$DX�"DY�"DZ#�$D\'#
$D]4#D^6#D_D#�#Da^#�#Dbk#Dcm#Dd{#�#Df�#�#Dg�#@,@
@	%�()���#Dh�#�h�#5�h�#A\R`"W`"_`0h`(l�}^�\�`"�`"�`"�`$�^�\�`"�`�`�^�\�`b�^\``%`.`4`9`
>`

C`l�I`b"�M`l$�R`$X^(d\m`p`w`}`l�
�`l��^�\�`�`�`�`"�`"�`"�`"�`�`b��^ ��h�#�h$%d$%�E��'&�� $
$%$ D*�3�(7�@�E�(I�U�Z�"D)%�)%D)%D,%D4%�<%D<%^�(�T%DT%Dd%�q%�q%Dq%D�%��%D�%a�(D!�%D"�%D#�%��%D&�%��%D'�%�&D(&D)&D+&e�(D,,&�.&�.&�.&D/.&�I&D0I&D1Y&�_&D3_&�j&D6j&�o&D7o&D8|&��&D:�&i�k���&D;�&�;�&p�;�&v&��{����(��(��(��(��(��(�l(�W(�$E�&� D����(������(������"DF�&��&DL�&DN�&DP�&��&DQ�&DR�&DS�&DT�&��&DV�&DW�&��&DX�&DY'DZ/'D[Q'D\\'�d'D]d'�x'D^x'��'D_�'D`�'Da�'Db�'Dc�'��'��'��'Dg�'Dh�'Di�'Dj(�P(DkG(�L(DmL(��������b����b���N(DnN(�nN(�nO(  0%\6`";`"C`0L`(P�a^r\�`"�`"�`"�`$�^�\�^�\�`b��^�\�`�`�`�`�``
	`

`l�`b"�`l$�`$#^(/\8`;`B`H`l�
L`l�Q^Z\x`{`�`�`"�`"�`"�`"�`�`b��^ ��nO(�n�(�d�(��E��'�$	�(� D��(����(����D�(��(D�(D�(b,D)D)D)�)D)D)DB)�^)D^)Dc)�l)Dl)Dl)S,D�)D�)I,��)D�) !,D!�)D"�)$,D#*(,�%*�%*D%*D&-*,�0�9�8 =�I@K@
�/*D'/*�'/*P�'0*Z&�T�aT��i
,m�+q�+u�+y�+}�+��+��+��+��+�z+�j+�d+�T+�I+�;+�$=0*� P��,��"��D?5*�5*DD5*DEG*�M*DFM*DG\*�
+DI�*��*��*��*DK�*��*��*����*DM�*�M�*��M�*� "�\	`"`"`0`(#�4^E\V`"[`"``"f`$i^z\�`"�`�`�^�\�`b��^�\�`�`�`�`�`�`
�`

�`l�`b"�`l$�	`$^(\$`'`.`4`l�
8`l�=^F\d`g`m`s`"w`"z`"}`"�`�`b��^ ��M�*�Md,�dd,��E��'�$d,�d,�2D������(����"D
m,�m,Dm,Dv,D�,�� ���,D�,��,
 ��, $�,  D# �) �"D�,��,D�,D�,D�,D�,D
-�!-D !-D!4-�M-D"M-D#W-- [2D$j-�p-�p-D'p-D'z-�z-D)z-D*~-1 L2D+�-D,�-D,�-D-�-D.�-��-D'�-D0�-��-D1�-��-D2�-D3�-��-D5�-D6�-5 (2D7�-9 2D8�-D9�-�.D;.�.D<.D='.= �1D>>.�G.D@G.DAK.A �1DC`.DDt.DE{.DF�.E @G �(K �W @
] @	c �b(���.DG�.�G�.g �G�.p $I�.x �.� 2D� �� �� �(� �� �(� �� �"DK�.��.DL�.DM�.�/DN/�N/� �N/� $P/�  D� �� �"� �"DQ/�/DY/� �1D[//D\:/� �1�P/D]P/� �1D^s/��/D`�/Da�/Db�/Dc�/Dd�/De�/�)0Dh)0� �1DiG0DkI0Dlg0Dni0� �1Do�0� �1Dp�0��0Dr�0��0Ds�0� �1Dt�0��0Dv�0Dw�0Dx�0�1Dy1!x1Dz%1�.1D|.1D}71D~R1D[1D�f1D�s1!�
!�!�b$�!@(!�<!�L @!�L!�bL"�P!�P"�u1D�u1��u1R!��v1[!\_!`h!`o!`u!`z!`"!^�!\�!`�!`�!`�!`�!`(�!��!`"�!`��!^�!\�!`�!`�!`�!`"`	"`
"`

"`l�"`b"�"`l$�""`$("^(4"\="`@"`G"`M"`l�
Q"`l�V"^_"\~"`�"`�"^�"\�"`�"`�"^�"\#`#`#`#`"#`"!#`"$#`"'#`,#`b�2#^ P#��v1X#�l2d#dl2n#�E��'r#$l2z# P�#�"�#�"Dn2�n2D
n2D�2�#�2D
�2�#�2�# �# ���# ��2D�2��2�#��2�#\�#`�#`�#`�#`�#`�#`
�#`

�#`l��#`b"��#`l$��#`$$^($\$`$`$`%$`l�
)$`l�.$^7$��2A$�2L$d�2U$�E��'Y$$�2`$ Ng$�,D�2��2D�2D	�2D
�2D3D3k$@�!3D
!3�
!3m$�
"3t$\�$`�$`�$`�$`�$`�$`
�$`

�$`l��$`b"��$`l$��$`$�$^(�$\�$`�$`�$`�$`l�
�$`l��$^�$�
"3%
$3%p3%x3%��%4$%4/%$49%44C%D4N%�5X%�,5d%<5o%L5z%"6�%���%�6�%h6�%�6�%(8�%���%�8�%p8�%�8�%�8�%���%N9�%,9�%\9�%d\9�%�E�B''�%$\9& D
&�(&�"�a9&�&�"�9&�9*&�94&d�9B&�E
D''F&$	�9L& NR&�0T&�Y&�^&�(��9��9`&J;��9�:�:��:��:��:��:��:�;�;�!;i&@k&@
m&@"	o&@�J;q&&"��y&���&�;�&$+J;�&2P�&��S;�&�;�&�b���;�&�1�;�&1�;�&d�;�&�E�D''�&$�;�& ��&�"�&�"�&�(��;�&?�'<��<��<�=�=�\=�=>�=>�&�"�?�&&"��'��
'z?'$5?'2P'��?$'X?)'�b��T?-'�;U?=';�?H'�?R'd�?`'�E� m&d'$�?j' Dp'�(r'@(t'�y'�~'A�'&"���'���'vA�'$A�'2P�'��'TA�'�QA�'�A�'d�A�'�ED''�'$�A�' D�'�"��A�'��'�"��A�'��A	(�A(&C(��'(�C+(lC/(�C;(d�CK(�E�D''O($�CW( D_(�"c(�"��Cg(@(i(�k(�"p(�"��Cr(��C�(�C�(�C�(��(�F�(�F�(�F�(�F�(�F�(�F�(}F�(kF�(YF�(IF�(=F�(+F�(F�(F�(�E�(�E�(�E�(�E�(�E�(�E�(�E�(�E�(�E�(oE�([E)ME)>E
)/E)E)
E)�D)�D)�D")�D&)�D*)�D.)�D2)D6)fD:)RD>);DB)&DF)DJ)�FU)d�Fd)�E�D''h)\k)$�Fr) �y)�"��F��F{)�G�RG�jG�G�)&b\�)@"��G�)&"p�)p�)�G�)$�G�)2P�)���G�)�G�)�b���G�)��G�)H�)dH�)�E��S'�)&dt�)t�)&dt*t*&�t	
*t	*�^*�^#*�]+*�L3*�];*�^C*_K*,_S*�R[*�]c*$^k**Os*X^{*�^�*$�H�* D�*�(�*�"�*�"�	H�*��H�*Zm�8H�	I��I��I��I��I��I�!J�DJ�dJ��J��J��J��J��K��L��L�*@�*@
�*@	��L�*$��L�*2D�*�(�*���*��*��*���L�*@�)O�*$�*O�*2D+�(+��+�
+�+��/O�yO��O�OP�]P�hP�pP�3Q�VQ�\Q�dQ�'R�DR�WR�]R��R��R+@+@"
!+@	��R#+$��R*+2D1+�(3+��8+�>+�D+���R�TN+$�TY+Te+2Dp+�(r+��w+�}+��+��+��+��+�" �+�"$�T�T�OU�+n�]U�cU�+n�+n�+n��U��U��U��V��V�DW��W��W�X�/X�PX��X��X��X��X��Y��Y��Y�MZ�F[�L[�m[�\�]��]��]�+@"�+@
�+@	�+@�+�b��+@�+�"��+����]�+$T�]�+2D�+�(�+���+�,�,���],�m,n��],$W�]",2D),�(+,��0,�6,�<,���]F,�m��]K,$Z�]R,2DY,�([,��`,�f,�l,���]v,�m{,�m�#^�,$]$^�,2D�,�(�,���,��,��,��&^�W^�,$aX^�,2D�,�(�,���,��,��,��Z^��^�,$d�^�,2D�,�(�,���,��,��,���^-�m-�m��^-$h�^-2D-�(-�� -�&-�,-���^6-L_��^@-$k�^G-2DN-�(P-��U-�[-�a-���^��^k-$n�^r-2Dy-�({-���-��-��-���^�_�-$q_�-2D�-�(�-���-��-��-��_�+_�-$t,_�-2D�-�(�-���-��-��-��._�K_�-$wL_�-2D�-�(.��.�.�.�.��Z_��_��`��`��`��`��`��`��`��`��`��`��`��`��`�;a��a��a�tb�d��g��g�_j�kj��l��l�Jm .@".�+.@
0.@"	7.@<.@"A.�bF.@J.�O.�" W.�$\.�,�Zm^.&"t
f.t
o.�mt.$�Zm|.2P�.��cm�.�m�.�b���m�.(��.���m�.�n�.dn�.�EE''�.&�x
�.x
�.��.l�.~��.��.N�.�/Rs/�/�/n�&/�./$?n6/ D>/�(@/�"B/�"�nG/�N/�T/�Z/���bn��n��o��p��p��p��p�Fq��q�sc/@e/@
k/@	q/��Rsv/$lRs}/2D�/�(�/���/��/��/��Ts�_s��s��t��t��t�/$��t�/�t�/2D�/�(�/���/��/��/��/��/���t��u��u��u�uv��v�Cw�hw�sw�@x��x��x�y�y�!y��y��z��z��z��z��{�$|�I|��|��}��}��~�J�J�/@�/@
�/@	�/@�/��N�/$�N�/2D0�(0��0�0�0��P�k0$�l$02D+0�(-0��20�80�>0��n��C0$��J02DQ0�(S0��X0�^0�d0�����i0$��p02Dw0�(y0��~0��0��0������0$���02D�0�(�0���0��0��0������0$���02D�0�(�0���0��0��0������0$���02D�0�(�0���0��0��0������6��F��'��-����P��C��$��*��
�������i�1@1@"
1@	
1@1@1�b�m�1$n�12D&1�((1��-1�31�91��s�������������������>1@"@1@
B1@	��E1$4�L12DS1�(U1��Z1�`1�f1�����:���k1@"m1@
� �o1$B �u1 �|12D�1��1�"�%��L��]��c�����5��_��1@�~��1$T~��12D�1�(�1���1��1��1�����e��#��*��`��1@"�1@"
�1@	�1@����1&"x�1x�1���1$n���12P�1�����1܎�1�b��؎�1("��1(��1(�2�tَ2t�2d�(2�E>E'',2$�12 P62������0�=2@?2@$
�@�A2$B�H2 DO2�$�D��O��[�Q2@�f�S2 �^2�f�k2h�u2���2$���2ԏ�2!��2�T��2����2���2����2����2���2����2���3!0�3d0�3�ETfl&3$0� 3 D%3�"'3�A�23D�;3dD�F3�EUfl&J3$D�O3 DT3�"V3�U�a3X�m3��y3����3����3�Й�3�ؙ�3dؙ�3�EUfl&�3$ؙ�3 G�3�"�3���3��3d��3�E&�R'�3$���3��32��3����3����4������i�4@(4����4$	��4�� 42P&4�(������������(4$�04�942�A4�(C4�E4����F�����қ���������G4@I4@
L4@	N4@.P4@T4@V4�(���Y4$=��]4��b42�f4�"h4�l4�o4�����[����r4@(t4@
v4@	x4@z4@��|4$^��4��42D�4�������������%��.��;��K��X��k��4@�o��4${p��4p��42D�4�.�r��������՞���������� ��,��4��@��H��T��v��4@�4@
����4$����4���42��4�����4@(�ӟ�4$�ԟ�4ԟ�42��4�(�4�(�ݟ���-�����С�ڡ�������ޢ�������֣�֣�4@.�4@
�4@.	�4@�4@�4@�4�.�4�.�4��4�.�4�.5�.5�(5� 	5�$5�(�r�5�5$r�5r�&52�/5�(15��w�350����ߤ�ߤ���	��*��_��b�85&d�<5@(?5@(
C5@(	F5��m�H5$(n�O5n�W52�^5�(`5��s����������2�b5@d5@.
f5@.	i5@l5@o5@q5�.t5�v5�(���y5$_��}5���52D�5�(�5�(����C��Ĩ�5@.�5@.
�5@.	�5@�5��5�.�Ǩ�5$|Ȩ�5Ȩ�52��5�(�5�(�ͨ���6��;��N��b��"��4�����5@�5@.
�5@	�5@�5@.�5@.�5��5�.�5�.�5�(�5��5����5$���5��52G�5����5@�5��o��5$�p��5p��52G�5�(�5�$�u����~���������*��5@�5@.
�5@	6@.6@6@6�
6�6��u�6$+v�6v�62�6� 6�$"6�$�{��A��P���������)�'6@()6@
+6�-6@	06�.26�56�76�:6��q�<6$�r�B6r�I62GO6�(Q6�(�w���� �S6@U6�X6�[6�^6��'�a6&g�f6�l6&g�t6�}6&g��6��6$�(��6 G�6�"�6���1��6��6���ױ�
��7�������7��|��������������������1��@��K��������Ҵ�����������������6���C��Y��_��a��u��������������-��M��S��6���h��w����E��h��h��h��y��������6�����*��_��_��_��v��>��O��Q��b����������������������h��¼�¼�
��������̽�6���"��6���2��4��6���U��U��W���������������������O�����������������*��|��6���6������6���������6��6@�6@
�6@(	�6@�6@(�6@�6��6�"�6�(�6��6�(7�$7�(
7�,7�07�47�87�(<7�@7�D!7�H%7�L)7�T/7�X67�`:7�h>7�l@7�pC7�(tG7�xJ7�|L7��P7��U7��Y7�"�\7��b7�"��;�e7$�<�l7<�t72D{7�(}7�(�E��K��P��)��]�����������1����]�������7@.�7@
�7@	�7@�7@�7@�7��7�.�7��7��7�.�7�.�7�����74�78�7$k���7 ��7��7��7��7�$�7�$�7���������6��`��������7���-��7��7������7���7���7���7���]��r������������������������������8�����c��������
����-��9��I��R��z����������8�����8��������������������������/��/��/��?��R��i��y������������m��s�����������������������������������$��)��.��3��^��t�����������������������������������������u��������8��;����������E��J��P��x�������"��"��*��-��{�����������D��F��q������8(8 8((4'8@")8@
+8@	-8@(/8@18@(58�:8�>8�(@8�B8�E8�(I8�( O8�"$R8�(U8�0Y8�4\8�8_8�<b8�De8�Ho8�Lr8�Pu8�Tz8�X�8�\�8�`�8�d�8�h�8�l�8�p�8�t�8�x�8�(|���8&"��8��8r��8$���82P�8����8P��8�b��L��8((0�8(���8��M�9��9��9$�&9�4�19�L�=9X�G9l�S9�|�]9��h9��t9�4��9D��9\��92��9��9���9x��9���9d���9�E�B''�9$���9 P�������9��9$���9 D:�:�(���:P�
:����������/��7��J��s�����c�������������N��}�����b�����������������"��"��h����>��>��>��{��H��l�����)�:&�:��O�:&"�#:�,:��1:$kP�9:2PA:��Y�F:��K:�b����O:�q��`:q��j:d��x:�E�-&|:$���: D�:�"�:@"�:�(�:@(
�:���:&"��:��:���:$	���:2P�:��:���:����:��:d��:�E�ʾ&�:$��: �;�(;@(;��;0�;&"�;�#;R�';$$��/;2P7;�<;0�@;�*-�O;*d�Z;�c;�l;n�p;L�t;��;d���;�EH*m&�;$���; D�;��;�(�;>��;&"��;��;���;$>��;2P�;��;���;�#���;#���;d��<�ERfl&<$��
< D<�"<�� <�%<@*<��3<&"�;<�D<J�H<$_��P<2PX<�]<(�a<�e'�n<eX�y<~��<��<���<���<���<�<~<�<r��<����<��A�<	���<tD��<	���<	���< ��<���<!ԏ�<���<g�=E�=D=�<"=�\9+=��3=�A;=��H=^�S=��	`=��l=
>
t=���=h�
�=F�C�=�
�=��=d�=t�8�=	���=��C�=x�?�=&���=L5�=���=���=���>��>�>L�6>�:3>D4&>��,0>$��8>h
A>\�R>�5X>,/b>��&h>�4p>YB ~>)$%�>�� �>!��>�$4�>�l2�>�<5�>;4�>�44�>	y��>;0*�>u�(�>q0��>���>����>��?a�F?\�2?�X�?v,5#?e�?*?N�91?��;?��H?X$3O?��3V?(x3]?��3c?�j?��q?���y?�4��?pl��?�|��?���?����?�&5�?y���?�h��?6�;�?H�?�T��?�\��?����?.��?����?n�?��B@bd�	@��@9��@��� @���'@���.@A��6@nؙ<@	��H@�ЙO@XB�W@���]@+l�e@7��n@���v@	�<{@�Ք�@V���@�X��@z$��@�D��@N(��@�4��@�L��@?X��@�q��@����@bX��@crt0.oexitjukebox.ojukebox.crccmainmainargcargv_42_32_usage_args_argc_argt_unload_59_eject_66_78_88_92_prstatus_106_errexitcUflagaflageflagmflagpflagrflaguflagsflagwarmsecserrbufvol_idmainusageusage_117usageerrexiterrexiterrbuferrexitprstatusprstatus_135_136_134_143_142_144_145lunluncerrbufprstatusunloadunloadforcelluncerrbufunloadejectejectjjukeface.h$4.4vol_iderrbuf_171shdrejectjukeboxjukeface.h$4.4argv0lunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4scsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdlib.h$12.3quotrem/usr/ape/include/stdlib.h$12.3/usr/ape/include/stdlib.h$11.2quotrem/usr/ape/include/stdlib.h$11.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1jukebox.cshelves.oshelves.crccj_wrshelf_6j_rdshelvesj_rdshelvesjjukeface.h$4.4err_16_15_17_21_26havereadshnovnamefp/usr/ape/include/stdio.h$29.3j_rdshelvesj_wrshelvesj_wrshelvesjjukeface.h$4.4err_31shnofp/usr/ape/include/stdio.h$29.3j_wrshelves_40j_namej_namejjukeface.h$4.4n_46errj_namej_shelfofj_shelfofjjukeface.h$4.4vol_id_64ibufj_shelfofj_driveofj_driveofjjukeface.h$4.4vol_idishj_driveoflunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1shelves.cjinit.ojinit.crccj_initj_initjjukeface.h$4.2j_initlunoccupiedspunupshelfsidedesclunjukeface.h$4.2nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1jinit.ccold.ocold.crccj_coldj_coldjjukeface.h$4.4typeerr_8_11_18_19_32_48_53_56_65_84shdrivenshdiditvol_idnsidej_coldgetvolgetvolshdrivevol_idside_104_107_115_117_118ibufgetvolTcl_InterpresultdynamicerrorLineTcl_Interplunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1cold.cwarm.owarm.crccj_warmj_warmjjukeface.h$4.4buf_30shdrivevol_idsideij_warmlunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1warm.cload.oload.crccj_loadj_loadjjukeface.h$4.4vol_idbuftlimit_18_22_j_empty_drive_43_48nllunshsidedrdisk_to_loadj_loadj_empty_drivej_empty_drivejjukeface.h$4.4tlimitbufitstopj_empty_drivelunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4tmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdsttm/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1load.callocate.oallocate.crccallocateallocatejjukeface.h$4.4vol_idbuf_12_13_16_17_20_27shdrivenbufallocatelunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4tmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdsttm/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1allocate.cso_juke.ojuke.crccj_configj_configj../jukeface.h$4.6err_33bufcmdscsi_cmdretscsi_returnj_configj_drstatusj_drstatusj../jukeface.h$4.6err_47_52_55idwhereretscsi_returnj_drstatusj_shstatusj_shstatusj../jukeface.h$4.6erridretscsi_returnj_shstatusj_ejectj_ejectdrerrcmdscsi_cmdretscsi_returnj_ejectj_sh_to_drj_sh_to_drshsidedrerrcmdscsi_cmdretscsi_returnj_sh_to_drj_dr_to_shj_dr_to_shdrshsideerrcmdscsi_cmdretscsi_returnj_dr_to_shj_startj_startdrerrcmdscsi_cmdretscsi_returnj_startj_stopj_stopdrerrcmdscsi_cmdretscsi_returnj_stopj_load_unloadedj_load_unloadeddrerrj_load_unloadedj_resetj_resetcmdscsi_cmdretscsi_returnerrj_resetlunoccupiedspunupshelfsidedesclun../jukeface.h$4.6nshelvesnlunsndrivesnwormslunslunshelvesnames../jukeface.h$4.6../scsish.h$23.5nameverboseextsensefns../scsish.h$15.4../scsish.h$23.5../scsish.h$15.4namehelpparamfn../scsish.h$15.4Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdlib.h$12.3quotrem/usr/ape/include/stdlib.h$12.3/usr/ape/include/stdlib.h$11.2quotrem/usr/ape/include/stdlib.h$11.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1juke.cso_status.ostatus.crccshelf_shelfshelfi_5_9_10_8_16_19_22_23_24shelfsony_istatussony_istatusretscsi_returnerrcmdscsi_cmdnsony_istatussony_statussony_statuscdClientDataitTcl_Interpargcargv_90_91_85_88_86_84_103_107_106_108_121_122_123_124_127_128_131_132_135_136distartretscsi_returnsony_status../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1status.cs_h_io.oh_io.crccfd_fds_ignuass_ioss_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_9_15_23nretvss_iosmsg_smsg_29_30_31_32_33_34_35_36s_ios_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_83mycmdscsi_cmdnioerrstatusbufignoreduas_ios_idss_extsense../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1h_io.cge_sense.osense.crccgen_sensegen_sensecdClientDataitTcl_Interpargcargv_7_26_30_31_39_46cmdscsi_cmdretscsi_returniunitgen_senseexstab_exstab_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63gen_extsensegen_extsensedatadestndata_69_70_71classgen_extsenseargv0../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sense.cs_volid.ovolid.crccmyread_myreadmyreaddriveblockretscsi_returnerrcmdscsi_cmdmyreadj_rvolidj_rvoliddriveerr_39_49_61_62_66_70bretscsi_returnlastbdebugbufj_rvolidmywrite_mywritemywritedriveblockcmdscsi_cmdretscsi_returnerrmywritej_wvolidj_wvoliddrivevol_iderr_77_80_81_111_114_116_119_123cmdscsi_cmdtmpfilefp/usr/ape/include/stdio.h$29.1retscsi_returnbufnj_wvolidlunoccupiedspunupshelfsidedesclun../jukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnames../jukeface.h$4.4scsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdlib.h$12.3quotrem/usr/ape/include/stdlib.h$12.3/usr/ape/include/stdlib.h$11.2quotrem/usr/ape/include/stdlib.h$11.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1volid.cs_pperror.opperror.crccpperrorpperrorbufmesg_5_6errnosys_errlistsys_nerrpperrorscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdpperror.cs_longat.olongat.crcclongatlongatsrcnlongatscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdlongat.cnrand.o_3rand.o_seedLC_access.oLC_close.oLC_open.oLC_read.oLC_sleep.oLC_time.oLC_unlink.oLC_write.oS_fclose.o__YYnull__YYfile_24_25S_fflush.o__YYnull__YYfile_50_51S_fopen.o__YYnull__YYfile_11_12S_fprintf.ostdio/fprintf.crccfprintffprintfffmtnargsstdio/fprintf.cS_fread.ostdio/fread.crccfreadfreadpreclnrecf__YYnulldnsc_YYfile__YYfile_56_YYnull_YYnullline_57bufstdio/fread.cS_freopen.ostdio/freopen.crccfreopenfreopennamemodef__YYnullnm_YYfile__YYfile_101_YYnull_YYnullline_102bufstdio/freopen.cS_fscanf.oS_fseek.ostdio/fseek.crccfseekfseekffoffstype__YYnull_YYfile__YYfile_43_YYnull_YYnullline_44stdio/fseek.cS_printf.ostdio/printf.crccprintfprintffmtnargsstdio/printf.cS_setvbuf.o__YYnull__YYfile_45_46S_sprintf.ostdio/sprintf.crccsprintfsprintfbuffmtfnargsvstdio/sprintf.cS_stdio.oS_strerror.o__IO_errlist_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44S_tmpnam.ostdio/tmpnam.crcc_4tmpnamtmpnams__YYnullnamep_YYfile__YYfile_25_YYnull_YYnullline_26bufstdio/tmpnam.cS_vfprintf.ostdio/vfprintf.crcclflag_lflagtflag_tflagocvt_ocvt_ocvt_E_ocvt_G_ocvt_X_ocvt_c_ocvt_d_ocvt_e_ocvt_f_ocvt_g_ocvt_n_ocvt_o_ocvt_p_ocvt_s_ocvt_u_ocvt_xvfprintfvfprintffsargs_nprint__YYnullflagswidthprecisionocvt_cocvt_cfargsflagswidthprecisioniocvt_socvt_sfargsflagswidthprecisionisnocvt_nocvt_nfargsflagswidthprecisionocvt_fixed_ocvt_fixedocvt_fixedfargsflagswidthprecisionradixsgnedalphabetprefix_386_389_392_393dpnumnlzeronpaddigitsnoutsignsnumocvt_Xocvt_Xfargsflagswidthprecision_604_603ocvt_docvt_dfargsflagswidthprecision_605ocvt_oocvt_ofargsflagswidthprecision_607_606ocvt_pocvt_pfargsflagswidthprecisionocvt_uocvt_ufargsflagswidthprecisionocvt_xocvt_xfargsflagswidthprecision_609_608ocvt_Eocvt_Efargsflagswidthprecision_ocvt_fltocvt_Gocvt_Gfargsflagswidthprecisionocvt_eocvt_efargsflagswidthprecisionocvt_focvt_ffargsflagswidthprecisionocvt_gocvt_gfargsflagswidthprecisionocvt_fltocvt_fltfargsflagswidthprecisionafmtiexponentnoutdigitsndigeptrebuffmtsignedigitsechrd_YYfile__YYfile_980_YYnull_YYnullline_981bufnprintstdio/vfprintf.cS_vfscanf.ostdio/vfscanf.crccicvt_icvt_icvt_f_icvt_x_icvt_sq_icvt_c_icvt_d_icvt_i_icvt_n_icvt_o_icvt_p_icvt_s_icvt_uvfscanfvfscanffsargs_nread_ncvt_fmtp__YYnullcwidthstoretypeicvt_nicvt_nfargsstorewidthtypeicvt_fixed_icvt_fixedicvt_fixedfargsstorewidthtypeunsgnedbasecdignumndigsignicvt_dicvt_dfargsstorewidthtypeicvt_xicvt_xfargsstorewidthtypeicvt_oicvt_ofargsstorewidthtypeicvt_iicvt_ifargsstorewidthtypeicvt_uicvt_ufargsstorewidthtypeicvt_picvt_pfargsstorewidthtypeicvt_ficvt_ffargsstorewidthtypecsndptnexpndigbuficvt_sicvt_sfargsstorewidthtypescnnicvt_cicvt_cfargsstorewidthtypescmatch_matchmatchcpatokicvt_sqicvt_sqfargsstorewidthtypespatcnn_YYfile__YYfile_826_YYnull_YYnullline_827buffmtpncvtnreadstdio/vfscanf.cS_exit.ostdio/exit.crccexitexitstatusifatexitatexitfi_atexitfnsstdio/exit.cS_abort.oLC_strlen.oLC_strcmp.oLC_strcpy.oLC_strncpy.oLC_memcpy.oLC_memset.oLC_memcmp.oLC_malloc.oLC_sbrk.oLC_cerror.oLC_ctype.oLC_strdup.oG_atoi.ogen/atoi.crccatoiatoisgen/atoi.cG_atol.ogen/atol.crccatolatolsgen/atol.cLC_system.oLC_errlst.oLC_udiv.oLC_urem.oLC__exit.oG_atof.ogen/atof.crccatofatofsgen/atof.cS__dtoa.ostdio/_dtoa.crccBalloc_BallocBallock_freelist__YYnullrvxBfree_BfreeBfreevmultadd_multaddmultaddbmayxizxwdsib1s2b_s2bs2bsnd0ndy9biykxhi0bits_hi0bitshi0bitsxklo0bits_lo0bitslo0bitsykxi2b_i2bi2bibmult_multmultabxccarryxz2zyxaexbwcxaxc0xbecwawbk_244pow5mult_pow5multpow5multbk_p5sp05p5p51b1ilshift_lshiftlshiftbkixx1k1n1nxezb1cmp_cmpcmpabxaxbxa0jixb0diff_diffdiffabborrowxcyzxaxbwaxaexbeciwbulp_ulpulpxLab2d_b2db2daekxayxa0d0d1dzwd2b_d2bd2bdebitsbkzd0xdeyd1iratio_ratioratioabkdadbkakbtens_tensbigtens_bigtenstinytens_tinytensstrtodstrtods00se_532_554_662_699_737_837_846_849_920_921_924rvinddeltabb2bscbd2sbdybbaadjbs2dsignnzjzbd0bbeebb5bd5aadj1bbbitsadjrv0Le1bb1nfknd0signnz0s0esigns1quorem_quoremquorembSbxborrowyyszsizssxcarryqbxesxen_1045_1046_dtoa_dtoadmodendigitsdecptsignrve_1071_1080_1092_1091_1093_1094_1122_1153_1154result_kresultsijbLmhiilimdigSkdsmlodeltas0j1epss2b2m2d2leftrightb5s5iepsk_checktry_quickbbitsm5beilim1ilim0k0spec_caseb1_YYfile__YYfile_1399_YYnull_YYnullline_1400bufp5sfreeliststdio/_dtoa.cLC_alarm.oLC_creat.oLC_execl.oLC_execv.oLC_execve.oLC_fork.oLC_getpid.oLC_kill.oLC_lseek.oLC_setjmp.oLC_signal.oLC_wait.oS__IO_getc.o__YYnull__YYfile_64_65S__IO_putc.ostdio/_IO_putc.crcc_IO_cleanup_IO_cleanup_4_IO_putc_IO_putccf__YYnull_39firstcnt_YYfile__YYfile_289_YYnull_YYnullline_290bufstdio/_IO_putc.cS_fputs.ostdio/fputs.crccfputsfputsssff__YYnull_YYfile__YYfile_31_YYnull_YYnullline_32stdio/fputs.cS_sclose.ostdio/sclose.crccsclosescloseff__YYnull_57_YYfile__YYfile_66_YYnull_YYnullline_67stdio/sclose.cS_sopenw.o__YYnull__YYfile_25_26S_ungetc.ostdio/ungetc.crccungetcungetccf__YYnull_YYfile__YYfile_60_YYnull_YYnullline_61stdio/ungetc.cG_strtol.ogen/strtol.crccstrtolstrtolnptrendptrbasebase__YYnull_YYfile__YYfile_82_YYnull_YYnullline_83gen/strtol.cS_ferror.o__YYnull__YYfile_8_9_exitstart_main_environ__IO_stream_setvbuf_argv0_atol_s_id_jukebox_j_init_j_config_strcpy_j_cold_j_warm_allocate_j_load_j_start_fprintf_j_stop_printf_j_rdshelves_j_wrshelf_j_wrshelves_j_drstatus_j_name_j_dr_to_sh_j_shelfof_sprintf_j_driveof_j_eject_j_sh_to_dr_fopen_errno_strerror_fscanf_strdup_fclose_strcmp_j_shstatus_malloc__ctype_getvol_fflush_nrand_sleep_j_rvolid_strlen_j_reset_j_load_unloaded_time_j_wvolid_s_io_access_sony_istatus_ss_io_sony_status_s_ignua_open_pperror_write_close_read_ss_extsense_gen_extsense_gen_sense_atoi_memset_memcmp_strncpy_tmpnam_longat_system_unlink_fseek_fread_sys_nerr_sys_errlist_frand_lrand_srand_randcerror_alarm_setjmp_signal_getpid_kill_pause_longjmp_ftime_free_abort_freopen_vfprintf_memcpy__IO_getcudiv_creat_lseek_vfscanf__IO_setvbuf_sopenw_sclose__IO_putcurem_fputs__dtoa_ungetc_atof__atexitfns__exit_atexit_sbrk_ialloc_realloc_mstats_end_brk_strtol_fork_execl_wait_strtod_execv_execve_vfork_getppid__IO_cleanup_ferror0707070035050421051006660011710000040000011560650477113660300001200000010013jukebox.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdio.h>
#include	<stdlib.h>
#include	<unistd.h>
#include	<string.h>
#include	"scsi.h"
#include	"jukeface.h"
#include	"jukebox.h"
#include	"arg.h"

Jukebox jukebox;
char *argv0;
static void prstatus(void);
static void usage(void);
static void errexit(char *errbuf);
static void unload(int);
static eject(Jukebox *j, char *vol_id, char *errbuf);

main(int argc, char *argv[])
{
	int c;
	int aflag = 0, eflag = 0, mflag = 0, pflag = 0;
	int rflag = 0, sflag = 0, uflag = 0, Uflag = 0;
	int warm = 0;
	long secs = 3600L*24*183;	/* half a year is enough */
	char *vol_id;
	char errbuf[1024];

	setvbuf(stderr, (char *)0, _IOLBF, 4096);
	setvbuf(stdout, (char *)0, _IOLBF, 4096);
	ARGBEGIN{
	case 'a':       aflag = 1; break;
	case 'e':       eflag = 1; break;
	case 'm':	mflag = 1; break;
	case 'p':       pflag = 1; break;
	case 'r':       rflag = 1; break;
	case 's':       sflag = 1; break;
	case 'u':       uflag = 1; break;
	case 'U':       Uflag = 1; break;
	case 'w':	secs = atol(ARGF()); break;
	case 'W':	warm = 1; break;
	default:	usage(); break;
	}ARGEND
	s_id = 2;
	j_init(&jukebox);
	if(j_config(&jukebox, errbuf) < 0)
		goto scram;
	if(!aflag&&!eflag&&!mflag&&!pflag&&!rflag&&!uflag&&!Uflag)
		sflag = 1;
	vol_id = argc? argv[0] : 0;
	if(uflag || Uflag)
		unload(Uflag);
	if(eflag){
		if(vol_id == 0){
			strcpy(errbuf, "-e needs a vol_id");
			goto scram;
		}
		if(eject(&jukebox, vol_id, errbuf))
			goto scram;
	}
	if(rflag){
		if(j_cold(&jukebox, vol_id? vol_id : "u", errbuf) < 0)
			goto scram;
	}
	if(warm){
		if(j_warm(&jukebox, errbuf) < 0)
			goto scram;
	}
	if(aflag){
		if(vol_id == 0){
			strcpy(errbuf, "-a needs a vol_id");
			goto scram;
		}
		if(allocate(&jukebox, vol_id, errbuf))
			goto scram;
	}
	if(mflag){
		if((c = j_load(&jukebox, vol_id, errbuf, secs)) < 0)
			goto scram;
		if(j_start(c, errbuf) < 0)
			fprintf(stderr, "jukebox: %s\n", errbuf);
		if(j_stop(c, errbuf) < 0)
			fprintf(stderr, "jukebox: %s\n", errbuf);
		printf("%d\n", c);
	}
	if(sflag)
		prstatus();
	if(pflag){
		if(j_rdshelves(&jukebox, errbuf) < 0)
			goto scram;
		for(c = 0; c < jukebox.nshelves; c++)
			if(jukebox.names[c])
				printf("%d: %s\n", c, jukebox.names[c]);
	}
	if(j_wrshelf)
		if(j_wrshelves(&jukebox, errbuf))
			errexit(errbuf);
	exit(0);
scram:
	if(j_wrshelf)
		j_wrshelves(&jukebox, errbuf);
	errexit(errbuf);
	return(1);			/* shut up compiler */
}

static void
usage(void)
{
	fprintf(stderr, "Usage: jukebox [-aemprsuU] [-w secs] [vol_id\n");
	exit(1);
}

static void
errexit(char *errbuf)
{
	fprintf(stderr, "jukebox: %s\n", errbuf);
	exit(1);
}

static void
prstatus(void)
{
	struct lun *lun;
	int c;
	char errbuf[1024];

	if(j_drstatus(&jukebox, errbuf)){
		fprintf(stderr, "jukebox: %s\n", errbuf);
		exit(1);
	}
	for(c = 0, lun = jukebox.luns; c < jukebox.nluns; c++, lun++){
		if(!lun->occupied)
			continue;
		printf("lun %d(%s,%sline): ", c, lun->desc, lun->spunup?"on":"off");
		if(lun->shelf >= 0){
			printf("%s%c", j_name(&jukebox, lun->shelf), "ab"[lun->side]);
		} else
			printf("<unknown shelf??>");
		printf("\n");
	}
}

static void
unload(int force)
{
	struct lun *l;
	int c;
	char errbuf[1024];

	if(j_drstatus(&jukebox, errbuf)){
		fprintf(stderr, "jukebox: %s\n", errbuf);
		exit(1);
	}
	for(c = 0, l = jukebox.luns; c < 8; c++, l++){
		if(l->occupied && (force || !l->spunup))
			if(j_dr_to_sh(c, -1, SIDEA, errbuf))
				fprintf(stderr, "jukebox: %s\n", errbuf);
	}
}

static
eject(Jukebox *j, char *vol_id, char *errbuf)
{
	int sh;
	int dr;

	if(j_rdshelves(j, errbuf))
		return(-1);
	if(j_drstatus(j, errbuf)){
		fprintf(stderr, "jukebox: %s\n", errbuf);
		exit(1);
	}
	sh = j_shelfof(j, vol_id);
	if(sh < 0){
		sprintf(errbuf, "no vol_id %s", vol_id);
		return(-1);
	}
	j_wrshelf = 1;
	if((dr = j_driveof(j, vol_id)) >= 0){
		j_wrshelf = 1;
		j->shelves[sh] = 0;
		j->names[sh] = 0;
		return(j_eject(dr, errbuf));
	}
	dr = j->nluns-1;
	if(j_sh_to_dr(sh, SIDEA, dr, errbuf) < 0)
		return(-1);
	if(j_eject(dr, errbuf))
		return(-1);
	j_wrshelf = 1;
	j->shelves[sh] = 0;
	j->names[sh] = 0;
	return(0);
}
0707070035050551001006660011710000040000010260350476064441400001200000001353jukebox.h#define		JUKEDIR		"/usr/worm/jukedir"
#define		UNALLOCATED	"<unallocated>"
#define		NONAME		"<no name??>"

extern int j_wrshelf;

/* general functions */
extern j_wrshelves(Jukebox *, char *);
extern j_rdshelves(Jukebox *, char *);
extern char *j_name(Jukebox *, int);
extern void j_init(Jukebox *);
extern char *strdup(char *);
extern j_cold(Jukebox *, char *, char *);
extern j_warm(Jukebox *, char *);
extern int j_rvolid(int, char *);
extern int j_wvolid(int, char *, char *);
extern getvol(int sh, int drive, char *vol_id, int *side);
extern j_shelfof(Jukebox *j, char *vol_id);
extern j_driveof(Jukebox *j, char *vol_id);
extern j_load(Jukebox *j, char *vol_id, char *buf, long tlimit);
extern allocate(Jukebox *j, char *vol_id, char *buf);
0707070035050550761006660011710000040000011767700474377020200001300000001631jukeface.h#define		SIDEA		0
#define		SIDEB		1

typedef struct {
	int nshelves;
	int nluns;		/* address range of luns */
	int ndrives;		/* physical drives */
	int nworms;		/* number of drives visible in namespace */
	struct lun {
		char occupied;
		char spunup;
		int shelf;
		int side;
		char *desc;
	} *luns;
	char *shelves;		/* set or not depending if a disk is there */
	char **names;
} Jukebox;
extern j_config(Jukebox *, char *);
extern j_drstatus(Jukebox *, char *);
extern j_shstatus(Jukebox *, char *);

/* general */
extern j_eject(int, char *);
extern j_sh_to_dr(int, int, int, char *);
extern j_dr_to_sh(int, int, int, char *);
extern j_start(int, char *);
extern j_stop(int, char *);
extern j_read(int, unsigned long, char *, int, char *);
extern j_write(int, unsigned long, char *, int, char *);
extern j_capacity(int, unsigned long *, unsigned long *);
extern j_load_unloaded(int, char *);
extern void j_reset(void);
0707070035050370231006660011710000040000010654430457563432300000600000000741lib.c#include	<stdio.h>
#include	"scsi.h"
#include	"scsish.h"
#include	"generic/fns.h"
#include	"sony/fns.h"

s_start(int dr, char *err)
{
	int iargs[1];
	char *cargs[1];

	iargs[0] = dr;
	return(gen_start(1, iargs, 0, cargs, err));
}

s_stop(int dr, char *err)
{
	int iargs[1];
	char *cargs[1];

	iargs[0] = dr;
	return(gen_stop(1, iargs, 0, cargs, err));
}

s_eject(int dr, char *err)
{
	int iargs[1];
	char *cargs[1];

	iargs[0] = dr;
	return(sony_eject(1, iargs, 0, cargs, err));
}
0707070035050377361006660011710000040000010647610474377074100000700000004347load.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdlib.h>
#include	<unistd.h>
#include	<stdio.h>
#include	<string.h>
#include	<errno.h>
#include	<time.h>
#include	"jukeface.h"
#include	"jukebox.h"

static j_empty_drive(Jukebox *, long tlimit, char *buf);

j_load(Jukebox *j, char *vol_id, char *buf, long tlimit)
{
	int side;
	int n, sh, dr;
	char disk_to_load[256];
	struct lun *l;

	if(j_rdshelves(j, buf))	/* read in shelf names */
		return(-1);
	if(j_drstatus(j, buf))	/* get the jukebox status */
		return(-1);
	if(j_shstatus(j, buf))	/* get the jukebox status */
		return(-1);
	/* now check which side we want */
	n = strlen(vol_id);
	strcpy(disk_to_load, vol_id);
	if(disk_to_load[n-1] == 'a')
		side = SIDEA;
	else if(disk_to_load[n-1] == 'b')
		side = SIDEB;
	else {
		sprintf(buf, "vol_id '%s' must end in a or b", vol_id);
		return(-1);
	}
	disk_to_load[n-1] = 0;
	/* which shelf is that? */
	sh = j_shelfof(j, disk_to_load);
	if(sh < 0){
		sprintf(buf, "can't find vol_id %s", disk_to_load);
		return(-1);
	}
	while(tlimit >= 0){
		for(n = 0; n < j->nluns; n++){
			l = &j->luns[n];
			if(l->shelf == sh){
				if((l->side == side) && (n < j->nworms))
					return(n);
				if(l->spunup)
					goto await;
				if(j_dr_to_sh(n, -1, 0, buf))
					return(-1);
				if(j_drstatus(j, buf))	/* get the jukebox status */
					return(-1);
				break;
			}
		}
		/* disk is available */
		dr = j_empty_drive(j, tlimit, buf);
		if(dr < 0){
			sprintf(buf, "can't find a free drive");
			return(-1);
		}
		if(j_sh_to_dr(sh, side, dr, buf) < 0)
			return(-1);
		return(dr);
await:
		sleep(10);
		tlimit -= 10;
		if(j_drstatus(j, buf))	/* get the jukebox status */
			return(-1);
	}
	sprintf(buf, "disk '%s' busy", disk_to_load);
	return(-1);
}

static
j_empty_drive(Jukebox *j, long tlimit, char *buf)
{	
	int i, tstop;
	
	tstop = time((long *)0) + tlimit;
	while(time((long *)0) <= tstop){
		/* look for empty drives */
		for(i = 0; i < j->nworms; i++)
			if(!j->luns[i].occupied)
				return(i);
		/* look for spun down drives */
		for(i = 0; i < j->nworms; i++){
			if(!j->luns[i].spunup){
				if(j_dr_to_sh(i, -1, SIDEA, buf))
					return(-1);
				else
					return(i);
			}
		}
		sleep(10);
		if(j_drstatus(j, buf))	/* get the jukebox status */
			return(-1);
	}
	return(-1);
}
0707070035050422011006660011710000040000010133710503442343700000700000006057mkfileSYS=research
< $SYS.mk
CFLAGS="$CFLAGS -A"
JL=juke.a
X=shelves jinit cold warm load allocate # getstatus iodr_sh lib
JLIB=${X:%=$JL(%.o)}
JSRC=${X:%=%.c}

SL=scsi.a
X=s_$IO ge_sense s_volid s_pperror s_fixedstr s_longat s_xd
SLIB=${X:%=$SL(%.o)}

SHL=scsish.a
GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start\
	ge_reset ge_tur ge_scsi ge_readt ge_read # ge_sense in $SL
SONY=so_dev so_inq so_alt so_config so_sense \
	so_i0.tab so_i1.tab so_scsi.tab so_nesd.tab \
	so_status so_set so_shelfside so_diskid so_copy so_eject \
	so_media so_rel so_internal so_readid so_juke
WREN=wr_dev wr_inq wr_driver wr_elite wr_mpage wr_wren5 #wr_rmode wr_wmode wr_diag
X=$GENERIC $SONY $WREN
SHLIB=${X:%=$SHL(%.o)}

TL=tcl.a
X=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory\
	tclProc tclUtil
TLIB=${X:%=$TL(%.o)}

all:V:	scsish jukebox

both:V:	../jukebox ../scsish

../%:	%
	cp $prereq $target

jukebox:	jukebox.o $JL $SHL $SL
	$CC $CFLAGS -o $target $prereq $LDFLAGS

scsish:	scsish.o $SHL $SL $TL
	$CC $CFLAGS -o $target $prereq $LDFLAGS

jpp:V:
	pr mkfile juke.h scsi.h jukebox.c $JSRC | lp -ddp -n2

poot:V:	scsish
 	echo 'id 5; dev wren
	modesense; modeselect gc maxpref 23' | scsish
	#echo capacity 0 | scsish

poot1:V:	scsish
	echo 'read 0 2644042 10 temp' | scsish
	ls -l temp

scsi.cpio:V:	inc/scsi.h
	find * -print | sed -e '/\.[oa]$/d' -e '/\.cpio$/d' | cpio -oc > $target
inc/scsi.h:Pcmp -s:	/usr/include/scsi.h
	cp $prereq $target


# below is just magic; believe it.

$JL(%.o):N:	%.o
$JL:Q:	$JLIB
	names=`membername $newprereq`
	ar rv $JL $names && rm $names
	$RANLIB $JL

$SL(%.o):N:	%.o
$SL:Q:	$SLIB
	names=`membername $newprereq`
	ar rv $SL $names && rm $names
	$RANLIB $SL

$SHL(%.o):N:	%.o
$SHL:Q:	$SHLIB
	names=`membername $newprereq`
	ar rv $SHL $names && rm $names
	$RANLIB $SHL

$TL(%.o):N:	%.o
$TL:Q:	$TLIB
	names=`membername $newprereq`
	ar rv $TL $names && rm $names
	$RANLIB $TL

s_%.o:	scsi/%.c
	cd scsi; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
so_%.o:	sony/%.c
	cd sony; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
so_%.o:	sony/fns.h
ge_%.o:	generic/%.c
	cd generic; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
ge_%.o:	generic/fns.h
wr_%.o:	wren/%.c
	cd wren; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
wr_%.o:	wren/fns.h
so_%.o wr_%.o ge_%.o:	scsish.h scsi.h
s_%.o:	scsi.h
tcl%.o:	tcl/tcl%.c
	cd tcl; $CC $CFLAGS -c -I. -DTCL_VERSION=\"3.3\" -I.. tcl$stem.c && mv tcl$stem.o ../$target
tcl%.o:	tcl.h

so_%.tab.o:Q:	sony/%.tab
	cd sony
	echo generating $target
	p=$stem.tab
	awk -F'	' '
	BEGIN	{ h["0"]=0;h["1"]=1;h["2"]=2;h["3"]=3;h["4"]=4;h["5"]=5;h["6"]=6;h["7"]=7;
		h["8"]=8;h["9"]=9;h["a"]=10;h["b"]=11;h["c"]=12;h["d"]=13;h["e"]=14;h["f"]=15;
		}
	function done(	i){
		for(i = 0; i < 256; i++) if(x[i]){
				print "\t\"" x[i] "\","
				x[i] = ""
			} else printf "\t\"<#%x>\",\n", i
		print "};"
	}
	function hex(n,	i){
		return(h[substr(n, 1, 1)]*16+h[substr(n, 2, 1)]);
	}
	NF == 1	{ if(NR > 1) done(); print "char *" $1 "[] = {" }
	NF > 1	{ x[hex($1)] = $2; }
	END	{ done(); }' < $p > $p.c && $CC $CFLAGS -c $p.c && mv $p.o ../$target
	rm $p.c
0707070035050406421006660011710000040000010511230457563431100000700000000340nlun.c#include	<stdio.h>
#include	"scsi.h"
#include	"juke.h"

int nlun = 1;

void
setnlun(void)
{
	char buf[512];

	for(nlun = 0; nlun < NLUN; nlun++){
		sprintf(buf, "/dev/worm%d", nlun);
		if(access(buf, 0) < 0)
			return;
	}
}
0707070035050370111006660011710000040000010000000457563432400001200000000000nohup.out0707070035050421750407770011710000040000020452300457563430600001000000000000osanity0707070035050421741006660011710000040000010452310457563430600002200000001051osanity/tstfill.cshort pat[][8] =
{
	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
	0xb6db, 0xeb6d, 0xb6db, 0xeb6d, 0xb6db, 0xeb6d, 0xb6db, 0xeb6d,
	0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
	0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 
	0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 
};

fillbuf(buf, n)
	char *buf;
{
	int i = 0;
	register j;

	while(n > 0){
		if(i >= sizeof(pat)/sizeof(pat[0]))
			i = 0;
		for(j = 0; j < 64; j++, buf += 16)
			memcpy(buf, pat[i], 16);
		n--;
		i++;
	}
}
0707070035050421731006660011710000040000010452320457563430600002000000002004osanity/tstrd.cmain(argc, argv)
	char **argv;
{
	long first, last, t;
	char buf[32768], buf1[32768], *bufp;
	int fd, n;
	char *worm = "/dev/worm0";

	if((argc < 3) || (argc > 4)){
		print("Usage: tstrd [device] firstblock firstnonblock\n");
		exit(1);
	}
	if(argc > 3)
		worm = *++argv;
	if((fd = open(worm, 0)) < 0){
		perror(worm);
		exit(1);
	}
	first = atol(argv[1]);
	last = atol(argv[2]);
	if((first < 0) || (last <= first)){
		print("bad first=%ld last=%ld\n", first, last);
		exit(1);
	}
	print("reading blocks %ld - %ld inclusive on %s\n", first, last-1, worm);
	fillbuf(buf, 32);
	bufp = &buf[1024*(first%5)];
	lseek(fd, first*1024, 0);
	while(first < last){
		n = last-first;
		if(n > 25) n = 25;
		if(read(fd, buf1, n*1024) != n*1024){
			print("block %ld: ", first);
			perror("read");
			exit(1);
		}
		if(memcmp(bufp, buf1, n*1024)){
			print("block %ld: bytes differ\n", first);
			exit(1);
		}
		if((first%5000) == 0){
			t = time((long *)0);
			print("done block %ld: %s", first, ctime(&t));
		}
		first += n;
	}
	exit(0);
}
0707070035050421721006660011710000040000010452410457563430600002000000002730osanity/tstsk.cmain(argc, argv)
	char **argv;
{
	long first, last, t;
	char buf[32768], buf1[32768], *bufp;
	int fd, n, i;
	char *worm = "/dev/worm0";
	long bands[50][2];
	int nbands;
	long loop;
	double tseek, tbl;
	float floop;

	if(argc < 3){
		print("Usage: tstsk [device] firstblock firstnonblock ...\n");
		exit(1);
	}
	if((argc&1) == 0)
		worm = *++argv;
	if((fd = open(worm, 0)) < 0){
		perror(worm);
		exit(1);
	}
	nbands = 0;
	while(*++argv){
		first = atol(*argv);
		last = atol(*++argv);
		if((first < 0) || (last <= first)){
			print("bad first=%ld last=%ld\n", first, last);
			exit(1);
		}
		bands[nbands][0] = first;
		bands[nbands][1] = last;
		nbands++;
	}
	tseek = tbl = 0;
	last = 0;
	fillbuf(buf, 32);
	for(loop = 0;; loop++){
		i = nrand(nbands);
		first = bands[i][0] + lrand()%(bands[i][1]-bands[i][0]);
		n = 20;
		if(first+n > bands[i][1])
			first = bands[i][1]-n;
		if(first < bands[i][0])
			first = bands[i][0], n = bands[i][1]-first;
		tbl += n;
		lseek(fd, first*1024, 0);
		last -= first;
		if(last < 0) last = -last;
		tseek += last;
		bufp = &buf[1024*(first%5)];
		if(read(fd, buf1, n*1024) != n*1024){
			print("block %ld: ", first);
			perror("read");
			exit(1);
		}
		if(memcmp(bufp, buf1, n*1024)){
			print("block %ld: bytes differ\n", first);
			exit(1);
		}
		if(loop && ((loop%100) == 0)){
			t = time((long *)0);
			floop = loop+1;
			print("loop %ld: ave blocks=%.1f, ave seek=%.1fk at %s",
				loop, tbl/floop, tseek/floop, ctime(&t));
		}
		last = first+n;
	}
}
0707070035050421711006660011710000040000010452420457563430600002000000001646osanity/tstwr.cmain(argc, argv)
	char **argv;
{
	long first, last, t;
	char buf[32768], buf1[32768], *bufp;
	int fd, n;
	char *worm = "/dev/worm0";

	if((argc < 3) || (argc > 4)){
		print("Usage: tstwr [device] firstblock firstnonblock\n");
		exit(1);
	}
	if(argc > 3)
		worm = *++argv;
	if((fd = open(worm, 1)) < 0){
		perror(worm);
		exit(1);
	}
	first = atol(argv[1]);
	last = atol(argv[2]);
	if((first < 0) || (last <= first)){
		print("bad first=%ld last=%ld\n", first, last);
		exit(1);
	}
	print("writing blocks %ld - %ld inclusive on %s\n", first, last-1, worm);
	fillbuf(buf, 32);
	bufp = &buf[1024*(first%5)];
	lseek(fd, first*1024, 0);
	while(first < last){
		n = last-first;
		if(n > 25) n = 25;
		if(write(fd, bufp, n*1024) != n*1024){
			print("block %ld: ", first);
			perror("write");
			exit(1);
		}
		if((first%5000) == 0){
			t = time((long *)0);
			print("done block %ld: %s", first, ctime(&t));
		}
		first += n;
	}
	exit(0);
}
0707070035050421701006660011710000040000010452440457563430600001700000000214osanity/mkfileCFLAGS=-g
NPROC=2
ALL=tstwr tstrd tstsk

all:V:	$ALL

tst%:	tst%.o tstfill.o
	$CC $CFLAGS -o $target $prereq

clean:V:
	rm -f *.o $ALL core
0707070035050421671007770011710000040000010454620457563430600001500000000113osanity/seektstsk 5 100000 400000 500000 800000 900000 1200000 1300000 1500000 1600000
0707070035050375161006660011710000040000010653560466302006200001400000000126research.mk# config stuff: research unix
CC=pcc
CFLAGS=-g
RANLIB=ranlib
LDFLAGS=
IO=h_io
NPROC=2
0707070035050406400407770011710000040000020511270474377165700000500000000000scsi0707070035050406371006440011710000040000010535150464677426000001500000027722scsi/dslib.c/*
|| dslib.c - library routines for /dev/scsi
||
|| Copyright 1988, 1989, by
||   Gene Dronek (Vulcan Laboratory) and
||   Rich Morin  (Canta Forda Computer Laboratory).
|| All rights reserved.
*/
#ident	"dslib.c: $Revision: 1.1.1.1 $"

#include <stdio.h>
#include <sys/types.h>

#include "dslib.h"
#ifdef aux
#include <sys/vio.h>
#include <sys/scsireq.h>
#endif aux

int dsdebug=0;
long dsreqflags;	/* flag bits always set by filldsreq */

#define min(i,j)  ( (i) < (j) ? (i) : (j) )


/*
|| Startup/shutdown -----------------------------------------------
*/

static struct context *dsc[FDSIZ];


/*
|| dsopen - open device, set up structures
*/

struct dsreq *
dsopen(opath, oflags)
  char *opath;
  int   oflags;
{
    
  struct dsreq *dsp;
  struct context *cp;
  int fd;
  DSDBG(fprintf(stderr,"dsopen(%s,%x) ", opath, oflags));

  fd = open(opath, oflags);
  if (fd < 0)						
    return NULL;  			/* can't open	*/
  if (dsc[fd] != NULL)		        /* already in use */
    ds_zot("dsopen: fd already in use");

  cp = (struct context *) calloc(1, sizeof(struct context));
  if (cp == NULL)				      /* can't allocate	*/
    ds_zot("dsopen: can't allocate space");
  dsc[fd] = cp;
  cp->dsc_fd = fd;
  dsp = &(cp->dsc_dsreq);

  dsp->ds_flags =	0;
  dsp->ds_time =	10 * 1000;	/* 10 second default timeout */
  dsp->ds_private =	(ulong) cp;	/* pointer back to context */
  dsp->ds_cmdbuf = 	cp->dsc_cmd;
  dsp->ds_cmdlen = 	sizeof cp->dsc_cmd;
  dsp->ds_databuf = 	0;
  dsp->ds_datalen = 	0;
  dsp->ds_sensebuf =	cp->dsc_sense;
  dsp->ds_senselen = 	sizeof cp->dsc_sense;
  DSDBG(fprintf(stderr,"=>cp %x, dsp %x\n", cp, dsp));
  return dsp;
}


/*
|| dsclose - close device, release context struct.
*/

dsclose(dsp)
  struct dsreq *dsp;
{
  int fd;
  struct context *cp;

  if (dsp == NULL)
    ds_zot("dsclose: dsp is NULL");

  cp = (struct context *)dsp->ds_private;
  fd = getfd(dsp);
  if ( cp == NULL )
    ds_zot("dsclose: private is NULL");

  cfree(cp);
  dsc[fd] = (struct context *)NULL;
  return;
}


/*
|| Generic SCSI CCS Command functions ------------------------------------
||
|| dsp		dsreq pointer
|| data		data buffer pointer
|| datalen	data buffer length
|| lba		logical block address
|| vu		vendor unique bits
*/

/*
|| testunitready00 - issue group 0 "Test Unit Ready" command (0x00)
*/

testunitready00(dsp)
  struct dsreq *dsp;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_TEST, 0, 0, 0, 0, 0);
  filldsreq(dsp, 0, 0, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| requestsense03 - issue group 0 "Request Sense" command (0x03)
*/

requestsense03(dsp, data, datalen, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_REQU, 0, 0, 0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| write0a - issue group 0 "Write" command (0x0a)
*/

write0a(dsp, data, datalen, lba, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_WRIT, B3(lba), B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| inquiry12 - issue group 0 "Inquiry" command (0x12)
*/

inquiry12(dsp, data, datalen, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_INQU, 0, 0, 0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| modeselect15 - issue group 0 "Mode Select" command (0x15)
||
|| save		0 - don't save saveable pages
|| 		1 - save saveable pages
*/

modeselect15(dsp, data, datalen, save, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char save, vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_MSEL, save&1, 0, 0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_WRITE|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| modesense1a - issue group 0 "Mode Sense" command (0x1a)
||
|| pagectrl	0 - current values
||		1 - changeable values
||		2 - default values
||		3 - saved values
||
|| pagecode	0   - vendor unique
||		1   - error recovery
||		2   - disconnect/reconnect
||		3   - direct access dev. fmt.
||		4   - rigid disk geometry
||		5   - flexible disk
||		6-9 - see specific dev. types
||		0a  - implemented options
||		0b  - medium types supported
||		3f  - return all pages
*/

modesense1a(dsp, data, datalen, pagectrl, pagecode, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char pagectrl, pagecode, vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN, 0x10,
    ((pagectrl&3)<<6) | (pagecode&0x3F),
    0, B1(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| senddiagnostic1d - issue group 0 "Send Diagnostic" command (0x1d)
||
|| self		0 - run test, hold results
||		1 - run test, return status
||
|| dofl		0 - device online
||		1 - device offline
||
|| uofl		0 - unit online
||		1 - unit offline
*/

senddiagnostic1d(dsp, data, datalen, self, dofl, uofl, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen;
  char self, dofl, uofl, vu;
{
  fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN,
    (self&1)<<2 | (dofl&1)<<1 | (uofl&1),
    0, B2(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| readcapacity25 - issue group 1 "Read Capacity" command (0x25)
||
|| pmi		0 - return last logical block, entire unit
||		1 - return last logical block, current track
*/

readcapacity25(dsp, data, datalen, lba, pmi, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char pmi, vu;
{
  fillg1cmd(dsp, CMDBUF(dsp), G1_RCAP, 0, B4(lba), 0, 0, pmi&1, B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
    /* |DSRQ_CTRL2 */ );
  /* dsp->ds_time = 100;	/* often takes a while */
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| readextended28 - issue group 1 "Read Extended" command (0x28)
*/

readextended28(dsp, data, datalen, lba, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char vu;
{
  fillg1cmd(dsp, CMDBUF(dsp), G1_READ, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
    /* |DSRQ_CTRL2 */ );
  /* dsp->ds_time = 100;	/* often takes a while */
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| writeextended2a - issue group 1 "Write Extended" command (0x2a)
*/

writeextended2a(dsp, data, datalen, lba, vu)
  struct dsreq *dsp;
  caddr_t data;
  long datalen, lba;
  char vu;
{
  fillg1cmd(dsp, CMDBUF(dsp), G1_WRIT, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
  filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
    /* |DSRQ_CTRL2 */ );
  /* dsp->ds_time = 100;	/* often takes a while */
  return(doscsireq(getfd(dsp), dsp));
}


/*
|| Support functions ----------------------------------------------------
*/

/*
|| fillg0cmd - Fill a Group 0 command buffer
*/

fillg0cmd(dsp, cmd, b0,b1,b2,b3,b4,b5)
  struct dsreq *dsp;
  uchar_t *cmd, b0,b1,b2,b3,b4,b5;
{
  uchar_t *c = cmd;
  DSDBG(fprintf(stderr,"fillg0cmd(%x,%x, %02x %02x %02x %02x %02x %02x)\n",
		dsp, cmd, b0,b1,b2,b3,b4,b5));
  *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
	
  CMDBUF(dsp) = (caddr_t) cmd;
  CMDLEN(dsp) = 6;
}


/*
|| fillg1cmd - Fill a Group 1 command buffer
*/

fillg1cmd(dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9)
  struct dsreq *dsp;
  uchar_t *cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
{
  uchar_t *c = cmd;
  DSDBG(fprintf(stderr,
    "fillg1cmd(%x,%x, %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x)\n",
		dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9));

  *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
  *c++ = b6, *c++ = b7, *c++ = b8, *c++ = b9;
	
  CMDBUF(dsp) = (caddr_t) cmd;
  CMDLEN(dsp) = 10;
}


/*
|| filldsreq - Fill a dsreq structure
*/

filldsreq(dsp,data,datalen,flags)
  struct dsreq		*dsp;
  uchar_t		*data;
{
  DSDBG(fprintf(stderr,"filldsreq(%x,%x,%d,%x) cmdlen %d\n",
		dsp,data,datalen,flags,CMDLEN(dsp)));
  dsp->ds_flags	= flags | dsreqflags |
	  (((dsdebug&1) ? DSRQ_TRACE : 0) |
	  ((dsdebug&2) ? DSRQ_PRINT : 0));
  dsp->ds_time	= 10 * 1000;	/* default to 10 seconds */
  dsp->ds_link	= 0;
  dsp->ds_synch	= 0;
  dsp->ds_ret  	= 0;

  DATABUF(dsp) 	= (caddr_t) data;
  DATALEN(dsp)	= datalen;
}


/*
|| bprint - print array of bytes, in hex.
*/

#define hex(x) "0123456789ABCDEF" [ (x) & 0xF ]

bprint(s,n,nperline,space)
	char *s;
{
	int   i, x;
	char  *sp = (space) ? " ": "";

	for(i=0;i<n;i++)  {
		x = s[i];
		fprintf(stderr,((i%4==3)?"%c%c%s%s":"%c%c%s"),
			hex(x>>4), hex(x), sp, sp);
		if ( i%nperline == (nperline - 1) )
			fprintf(stderr,"\n");
	}
	if ( space )
		fprintf(stderr,"\n");
}


/*
|| doscsireq - issue scsi command, return status or -1 error.
*/

doscsireq( fd, dsp)
  int	fd;		/* ioctl file descriptor */
  struct dsreq *dsp;	/* devscsi request packet */
{
  int	cc;
  int	retries = 4;
  uchar_t	sbyte;

  DSDBG(fprintf(stderr,"doscsireq(%d,%x) %x ---- %s\n",fd,dsp,
    (CMDBUF(dsp))[0],
    ds_vtostr( (CMDBUF(dsp))[0], cmdnametab)));

  /*
   *  loop, issuing command
   *    until done, or further retry pointless
   */

  while ( --retries > 0 )  {

   caddr_t sp;

    sp =  SENSEBUF(dsp);
    DSDBG(fprintf(stderr,"cmdbuf   =  ");
		bprint(CMDBUF(dsp),CMDLEN(dsp),16,1));
    if ( (dsp->ds_flags & DSRQ_WRITE) )
      DSDBG(bprint( DATABUF(dsp), min(50,DATALEN(dsp)),16,1 ));
  	
DSDBG(fprintf(stderr,"databuf datalen %x %d\n",DATABUF(dsp), DATALEN(dsp)));
    cc = ioctl( fd, DS_ENTER, dsp);
    if ( cc < 0)  {
      ds_panic(dsp, "cannot ioctl fd %d\n",fd);
    }
  	
	DSDBG(fprintf(stderr,"cmdlen after ioctl=%d\n",CMDLEN(dsp)));
    DSDBG(fprintf(stderr,"ioctl=%d ret=%x %s",
      cc, RET(dsp), 
      RET(dsp) ? ds_vtostr(RET(dsp),dsrtnametab) : ""));
    DSDBG(if (SENSESENT(dsp)) fprintf(stderr," sensesent=%d",
      SENSESENT(dsp)));

    DSDBG(fprintf(stderr,
      " cmdsent=%d datasent=%d sbyte=%x %s\n",
      CMDSENT(dsp), DATASENT(dsp), STATUS(dsp),
      ds_vtostr(STATUS(dsp), cmdstatustab)));
    DSDBG(if ( FLAGS(dsp) & DSRQ_READ )
      bprint( DATABUF(dsp), min(16*16,DATASENT(dsp)), 16,1));

#ifdef aux
  /*
   *  check for AUX bus-error 
   *  we retry with poll-dma
   */
    if ( RET(dsp) == DSRT_AGAIN )  {
      int n = SDC_RDPOLL|SDC_WRPOLL;
      DSDBG(fprintf(stderr,"setting rd/wr-poll"));
      cc = ioctl( fd, DS_SET, n);	/* set bits */
      if ( cc != 0 )
        return -1;
    }
#endif aux

    if ( RET(dsp) == DSRT_NOSEL )
      continue;		/* retry noselect 3X */

    /* decode sense data returned */
    if ( SENSESENT(dsp) )  {
      DSDBG(
        fprintf(stderr, "sense key %x - %s\n",
          SENSEKEY(sp),
          ds_vtostr( SENSEKEY(sp), sensekeytab));
        bprint( SENSEBUF(dsp),
          min(100, SENSESENT(dsp)),
          16,1);
      );
    }
    DSDBG(fprintf(stderr, "sbyte %x\n", STATUS(dsp)));

    /* decode scsi command status byte */
    sbyte = STATUS(dsp);
    switch (sbyte)  {
      case 0x08:		/*  BUSY */
      case 0x18:		/*  RESERV CONFLICT */
    	sleep(2);
    	continue;
      case 0x00:		/*  GOOD */
      case 0x02:		/*  CHECK CONDITION */
      case 0x10:		/*  INTERM/GOOD */
      default:
    	return sbyte;
    }
  }
  return -1;	/* fail retry limit */
}


/*
|| opttovar - lookup option in table, return var addr (NULL if fail)
*/

int *
opttovar( ostr, table)
  char *ostr;
  struct opttab{
    char *opt;
    int  *var;
  } *table;
{
  register struct opttab *tp;

  for (tp=table; (tp->var); tp++)
    if ( strncmp( ostr, tp->opt, 3) == 0 )
      break;

  if ( !tp->var )
    fprintf(stderr,"unknown option %s", ostr);
	
  return (tp->var);
}


/*
|| ds_vtostr - lookup value in table to return string pointer
*/

char *
ds_vtostr( v, table)
  long v;
  struct vtab *table;
{
  register struct vtab *tp;

  for (tp=table; (tp->string); tp++)
    if ( v == tp->val )
      break;
	
  return (tp->string) ? tp->string : "";
}


/*
|| ds_panic - yelp, leave...
*/

ds_panic( fmt, v)
  char *fmt;
  int v;
{
  extern errno;

  fprintf(stderr,fmt,v);
  fprintf(stderr,"\nerrno = %d\n",errno);
  exit(1);
}


/*
|| ds_zot - go away, with a message.
*/

ds_zot(message)
  char *message;
{
  fprintf(stderr, "%s\n", message);
  exit(1);
}
0707070035050406351006660011710000040000010535250474351741200001500000005761scsi/volid.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdio.h>
#include	<stdlib.h>
#include	<string.h>
#include	<errno.h>
#include	<unistd.h>
#include	"../scsi.h"
#include	"../jukeface.h"

static
myread(int drive, long block, struct scsi_return *ret, char *err)
{
	struct scsi_cmd cmd;

	cmd.bus_id = s_id;
	set10(cmd, 0x28, drive<<5, block>>24, block>>16, block>>8, block, 0, 0, 1, 0);
	return(s_io(0, &cmd, 0, ret, 1024, err));
}

j_rvolid(int drive, char *err)
{
	struct scsi_return ret;
	long b, lastb;
	char buf[1024];
	int debug = 0;

	err[0] = 0;
	if(j_start(drive, err) < 0)
		return(-1);
	if(myread(drive, 0L, &ret, err) == 0){
		memset(buf, 0, 1024);
		if(memcmp(buf, ret.data, 1024)){
			if(debug)
				fprintf(stderr, "superblok at 0\n");
			goto done;	/* found a superblock at 0 */
		}
	}
	for(b = 1, lastb = -1;;){
hack:
		if(debug)
			fprintf(stderr, "read block %d\n", b);
		if(myread(drive, b, &ret, err))
			break;
		lastb = b;
		b = ((long *)ret.data)[9];
	}
	if(lastb < 0){
		if(b == 1){	/* for disks with a bad block 1 */
			b = 2;
			goto hack;
		}
		if(debug)
			fprintf(stderr, "tried for superblock at blocks 1,2\n");
		sprintf(err, "no superblock");
		j_stop(drive, buf);
		return(1);
	}
	if(myread(drive, lastb, &ret, err) < 0){
		j_stop(drive, buf);
		fprintf(stderr, "read fail on block %d (b=%d)\n", lastb, b);/**/
		return(-1);
	}
	if(debug)
		fprintf(stderr, "superblock at %d\n", lastb);
done:
	strncpy(err, (char *)&ret.data[42], 128);
	err[127] = 0;
	j_stop(drive, buf);
	return(0);
}

static
mywrite(int drive, long block, struct scsi_cmd *cmd, struct scsi_return *ret, char *err)
{
	set10((*cmd), 0x2A, drive<<5, block>>24, block>>16, block>>8, block, 0, 0, 1, 0);
	return(s_io(0, cmd, 1024, ret, 0, err));
}

j_wvolid(int drive, char *vol_id, char *err)
{
	char tmpfile[L_tmpnam];
	char buf[512];
	struct scsi_return ret;
	struct scsi_cmd cmd;
	FILE *fp;
	int n;

	printf("mkfs %s\n", vol_id);
	/* first get the capacity/size for mkfs to make a valid superblock */
	tmpnam(tmpfile);
	if((fp = fopen(tmpfile, "w+r")) == NULL){
		sprintf(err, "%s: %s", tmpfile, strerror(errno));
		return(-1);
	}
	if(j_start(drive, err) < 0)
		return(-1);
	set10(cmd, 0x25, drive<<5, 0, 0, 0, 0, 0, 0, 0, 0);
	if(n = s_io(0, &cmd, 0, &ret, 8, err))
		return(n);
	switch(longat(&ret.data[0]))
	{
	case 1637999:		/* sony 12in clv single density */
		sprintf(buf, "worm mkfs -n %d -f %s %s", 1600000, tmpfile, vol_id);
		break;
	case 3275999:		/* sony 12in clv double density */
		sprintf(buf, "worm mkfs -n %d -f %s %s", 3250000, tmpfile, vol_id);
		break;
	default:
		fprintf(stderr, "warning: bad capacity %d\n", longat(&ret.data[0]));
		sprintf(buf, "worm mkfs -f %s %s", tmpfile, vol_id);
		break;
	}
	if(system(buf)){
		sprintf(err, "%s: error", buf);
		return(-1);
	}
	unlink(tmpfile);
	fseek(fp, 1024L, 0);
	if(fread(cmd.data, 1, 1024, fp) == 0){
		sprintf(err, "mkfs read: %s", strerror(errno));
		return(-1);
	}
	fclose(fp);
	if(mywrite(drive, 1L, &cmd, &ret, err))
		return(-1);
	unlink(tmpfile);
	j_stop(drive, err);
	return(0);
}
0707070035050406341006660011710000040000010535270457563431200001700000000434scsi/pperror.c#include	"../scsi.h"

void
pperror(char *buf, char *mesg)
{
	extern int sys_nerr;
	extern char *sys_errlist[];
	extern int errno;

	if((errno < 0) || (errno >= sys_nerr))
		sprintf(buf, "%s: unknown errno %d", mesg, errno);
	else
		sprintf(buf, "%s: %s", mesg, sys_errlist[errno]);
}
0707070035050406331006660011710000040000010535310457563431200002000000000400scsi/fixedstr.c#include	"../scsi.h"

void
fixedstr(uchar *src, int len, char *dest)
{
	uchar *s;

	while((*src == ' ') && (len > 0))
		src++, len--;
	for(s = src+len-1; s >= src; s--)
		if(*s != ' ')
			break;
	memcpy(dest, (char *)src, len = s-src+1);
	dest[len] = 0;
}
0707070035050406321006660011710000040000010535330457563431200001600000000247scsi/longat.c#include	"../scsi.h"

unsigned long
longat(uchar *src)
{
	unsigned long n;

	n = *src++;
	n = (n<<8) | *src++;
	n = (n<<8) | *src++;
	n = (n<<8) | *src;
	return(n);
}
0707070035050404071006660011710000040000010535350457563431200001200000001642scsi/xd.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"

#define	WIDTH	32

void
xd(uchar *p, int n, FILE *fp)
{
	register i, nd, l;
	unsigned char buf[WIDTH];
	int didstar;
	unsigned char *s;

	for(nd = 0; n > 0; n -= l, nd += l){
		l = min(WIDTH, n);
		if(nd && (l == WIDTH) && (memcmp(buf, p, l) == 0)){
			p += WIDTH;
			if(didstar++ == 0)
				fprintf(fp, "*\n");
			continue;
		}
		memcpy(buf, p, l);
		didstar = 0;
		fprintf(fp, "%5.5d", nd);
		s = p;
		for(i = 0; i < l; i++){
			if((i%4) == 0) putc(' ', fp);
			fprintf(fp, "%2.2x", *p++);
		}
		putc('\n', fp);
		fprintf(fp, "     ");
		for(i = 0; i < l; i++){
			if((i%4) == 0) putc(' ', fp);
			if((*s >= ' ') && (*s < 0177))
				fprintf(fp, " %c", *s++);
			else switch(*s++)
			{
			case '\n':	fprintf(fp, "\\n"); break;
			case '\t':	fprintf(fp, "\\t"); break;
			default:	fprintf(fp, ".."); break;
			}
		}
		putc('\n', fp);
	}
	fprintf(fp, "%5.5d\n", nd);
}
0707070035050377471006660011710000040000010535370464714335200001500000005050scsi/md_io.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	<sys/types.h>
#include	<sys/dsreq.h>

#define	DEV(buf, target, lun)	sprintf(buf, "/dev/scsi/sc0d%dl%d", target, lun)

static fd = -1;
int s_id;
void (*ss_extsense)(uchar *, char *, int);

ss_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
{
	int retv;
	dsreq_t ds;
	char dev[512];

	err[0] = 0;
	retv = -1;
	if(ncmd && nret){
		sprintf(err, "both input (%d bytes) and output (%d bytes) expected", ncmd, nret);
		return(retv);
	}
	if(cmd->bus_id & 0x8000){
		sprintf(err, "reset not supported");
		return(retv);
	}
	if(fd < 0){
		DEV(dev, cmd->bus_id, ((cmd->cmd[1]>>5)&7));
		if((fd = open(dev, 2)) < 0){
			pperror(err, dev);
			return(-1);
		}
	}
	ds.ds_flags = DSRQ_SENSE;
	ds.ds_time = 30000;
	ds.ds_cmdbuf = (char *)cmd->cmd;
	ds.ds_cmdlen = 10;
	if(ncmd){
		ds.ds_databuf = (char *)cmd->data;
		ds.ds_datalen = ncmd;
		ds.ds_flags |= DSRQ_WRITE;
	} else {
		ds.ds_databuf = (char *)ret->data;
		ds.ds_datalen = nret;
		ds.ds_flags |= DSRQ_READ;
	}
	ds.ds_sensebuf = (char *)ret->sense;
	ds.ds_senselen = sizeof ret->sense;
	ds.ds_iovbuf = 0;
	ds.ds_link = 0;
	if(ioctl(fd, DS_ENTER, &ds) < 0){
		pperror(err, "DS_ENTER ioctl");
err_ret:
		close(fd);
		fd = -1;
		return(retv);
	}
	if(ds.ds_ret
		&& (ds.ds_ret != DSRT_SHORT)
		&& (ds.ds_ret != DSRT_OK)
	)	/* an error */
		fprintf(stderr, "ds_ret = #%x\n", ds.ds_ret);
	ret->type = 3;
	ret->scsi_stat = ds.ds_status;
	ret->scsi_msg = ds.ds_msg;
	ret->reg1 = ret->reg2 = 0;
	if(nret >= 0){
		if(ds.ds_datasent != nret){
			if(ds.ds_datasent == 0)
				retv = 1;
			else
				sprintf(err, "data transfer error; wanted %d, got %d", nret, ds.ds_datasent);
			goto err_ret;
		}
	} else {
		ret->nread = ds.ds_datasent;
	}
	if(!preserve){
		close(fd);
		fd = -1;
	}
	return(0);
}

static char *smsg[16] =
{
	"good", "check condition", "met/good", "reserved",
	"busy", "reserved", "reserved", "reserved",
	"intermediate good", "reserved", "intermediate good/met", "reserved",
	"reservation conflict", "reserved", "reserved", "reserved",
};

s_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
{
	int n;
	int status;
	char buf[512];
	char ioerr[512];

	cmd->bus_id = s_id;
	if(n = ss_io(preserve, cmd, ncmd, ret, nret, err)){
		if(n < 0)
			return(n);
		strcpy(ioerr, err);
		err[0] = 0;
	} else
		ioerr[0] = 0;
	if(status = ret->scsi_stat){
		(*ss_extsense)(ret->data, buf, sizeof buf);
		sprintf(err, "%s; %s", ioerr[0]? ioerr : smsg[(status>>1)&0xF], buf);
		return(1);
	}
	return(0);
}
0707070035050377461006660011710000040000010307670470270635200001400000004726scsi/h_io.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	<scsi.h>

#define		DEV		"/dev/scsi"

static fd = -1;
int s_id;
int s_ignua = 1;
void (*ss_extsense)(uchar *, char *, int);

ss_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
{
	int n;
	int retv;

	err[0] = 0;
	retv = -1;
	if(fd < 0){
		if((fd = open(DEV, 2)) < 0){
			pperror(err, DEV);
			return(-1);
		}
	}
	cmd->flags |= (ncmd == 0)? SCSI_RD:SCSI_WR;
/*	cmd->nret = (nret>=0)? nret : -nret;*/
/*printf("wr");*/
	if((n = write(fd, cmd, 16+ncmd)) != 16+ncmd){
		pperror(err, "scsiio write");
err_ret:
/*printf(" erk(n=%d retv=%d err=%s nret=%d)", n, retv, err, nret);*/
		close(fd);
		fd = -1;
		return(retv);
	}
/*printf(" ok; ");*/
	if(nret >= 0){
		if((n = read(fd, ret, 36+nret)) != 36+nret){
			if(n == 36)
				retv = 1;
			else
				pperror(err, "scsiio read");
			goto err_ret;
		}
	} else {
		if((n = read(fd, ret, 36-nret)) < 0){
			pperror(err, "scsiio read");
			goto err_ret;
		}
		ret->nread = n-36;
	}
/*printf("scsio(%d): n=%d; %x %x %x %x\n", nret, n, ret->data[0], ret->data[1], ret->data[2], ret->data[3]);/**/
	if(!preserve){
		close(fd);
		fd = -1;
	}
	return(0);
}

static char *smsg[16] =
{
	"good", "check condition", "met/good", "reserved",
	"busy", "reserved", "reserved", "reserved",
	"intermediate good", "reserved", "intermediate good/met", "reserved",
	"reservation conflict", "reserved", "reserved", "reserved",
};

s_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
{
	int n;
	int status;
	char buf[512];
	char ioerr[512];
	struct scsi_cmd mycmd;
	int ignoredua = 0;

	cmd->bus_id = s_id;
again:
	if(n = ss_io(preserve, cmd, ncmd, ret, nret, err)){
		if(n < 0)
			return(n);
		strcpy(ioerr, err);
		err[0] = 0;
	} else
		ioerr[0] = 0;
	if(status = ret->scsi_stat){
		mycmd.bus_id = s_id;
		set6(mycmd, 0x03, cmd->cmd[1]&0xE0, 0, 0, 100, 0);
		if(n = ss_io(0, &mycmd, 0, ret, -100, err))
			return(n);
		if(s_ignua){	/* ignore unit attention ?? */
			if((ret->data[2]&0xF) == 6){	/* it is */
				if(ignoredua++ == 0){	/* but only ignore once */
					mycmd.bus_id = s_id;
					set6(mycmd, 0x12, cmd->cmd[1]&0xE0, 0, 0, 5, 0);
					if(n = ss_io(0, &mycmd, 0, ret, 5, err))
						return(n);
					goto again;
				}
			}
		}
		if(ss_extsense == 0)
			ss_extsense = gen_extsense;
		(*ss_extsense)(ret->data, buf, sizeof buf);
		sprintf(err, "%s; %s", ioerr[0]? ioerr : smsg[(status>>1)&0xF], buf);
		return(1);
	}
	return(0);
}
0707070035050377451007550011710000040000010535410464677445500001400000000251scsi/gendevawk 'END { for(t = 1; t < 8; t++) for(l=0; l < 8; l++){
		printf "/etc/mknod sc0d%dl%d c 43 %d\n", t, l, l*8+t
		}
		print "chmod 600 *; chown andrew *"
	}' < /dev/null
0707070035050421201006660011710000040000010454750470270311300000700000003041scsi.htypedef unsigned char uchar;

struct scsi_cmd
{
	unsigned long id;
	uchar bus_id;		/* SCSI id of destination device */
	uchar flags;
	uchar cmd[10];		/* SCSI command */
	uchar data[4096];	/* optional data */
};

struct scsi_return
{
	unsigned long id;
	uchar scsi_stat;	/* scsi status byte */
	uchar scsi_msg;		/* scsi message byte */
	uchar flags;
	uchar type;		/* 1=td 2=us */
	unsigned short reg1;	/* td=sa, us=per */
	unsigned short reg2;	/* td=mscp, us=per */
	unsigned char sense[22];
	char pad[2];
	uchar data[4096];	/* any data */
	uchar nread;		/* chars read(-8) if ret count was -ve */
};

#define	set6(x,a,b,c,d,e,f)	(x).flags=0,(x).cmd[0]=(a),(x).cmd[1]=(b),(x).cmd[2]=(c),\
	(x).cmd[3]=(d),(x).cmd[4]=(e),(x).cmd[5]=(f)
#define	set10(x,a,b,c,d,e,f,g,h,i,j)	(x).flags=0,(x).cmd[0]=(a),(x).cmd[1]=(b),(x).cmd[2]=(c),\
	(x).cmd[3]=(d),(x).cmd[4]=(e),(x).cmd[5]=(f),(x).cmd[6]=(g),(x).cmd[7]=(h),\
	(x).cmd[8]=(i),(x).cmd[9]=(j)
#define	setdiag(x,lun,n)	(x).flags=0,(x).cmd[0]=0x1C,(x).cmd[1]=(lun)<<5,(x).cmd[2] = 0,\
	(x).cmd[3]=(n)>>8,(x).cmd[4]=(n),(x).cmd[5]=0

extern s_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *);/* return 0 on no error, does sense on error */
extern ss_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *);/* return 0 on no error */
extern int s_ignua;	/* should s_io ignore unit attentions? */
extern void (*ss_extsense)(uchar *, char *, int);
extern int s_start(int, char *);
extern int s_stop(int, char *);
extern int s_eject(int, char *);
extern int s_id;
extern unsigned long longat(uchar *);
0707070035050377431007770011710000040000010132560503442324000000700001513744scsishXt*X;�^Юn��P�P�Հ��P��p�P��P����
�P����˗�P�\�������������\�������vR���8���~��<��^��6��P�m�[ݬ���A�[ ���8��Q��@H��8���Cݬݏ�������E�P�[	�~��Ο��������l��
��PZ�Z�[��[�~�Z���[�����PY�Y*���[U�e�a������[����Q�H����Y����{Q�Y����jQ��p[��h[��d��OQ��U��BQ�����ЬUե)ݼ��q��Pݬݼ��R��PЬP����PЬ����UХ��ZЬUХ[�k�~��kݫ�k���Z��m��[�ЬUե
ЬUХY�Y�YZլPЬUݥ�e����PЬUХ[,�k(�Z�k�Z��.����Pݫ��R��TP�[��P=ЬUХ[1�k-ݬ�k����Pݫݼ����P�P�[��P��+�~Ѭ�[ЬUХ[�[�����#����P�P)���Ѭ�[ЬUХ[�[����������PѬ-��	���Z��Z�Z��j��}O���UЬUݥ��3��P2��)��ROЏ[�kw�kUݥ�e����2O�[�Џ[�kݻЬUݥ����P�[��k���������k������ЬUݥ����5���D�PЬU�Uݬ��O��d5��DЬ�X�^Џ���Џ���ԭ�߭����X�~������sonydev%d is an invalid target
device '%s' unknown
	%s(%s)
available devices:
?dev=%s
(%s) %s
	%s
device %s(%s):

: %sError %dError%s
% dev=%s, target=%d:
Ѭ���W��$��MЬUݥ��u��P�������Pcurrent SCSI id = %d
generic scsitestunit [lun=0testunitstop [lun=0]stopstart [lun=0]startsense [lun=0]senseI?I?I?I?I?I?I?I?I?I?scsi bytes... # 6 or 10scsiresetIL?readt count [lun=0]readtLII?read lun start [count [file]]readinq [lun=0]inqid [target=0]idhelp [cmd]helpdisplayS?dev [type] # dev ? for listdevL?capacity [lun=0 ...]capacityX!^�ZѬ
��U�Eͨ�PѬ&ЬUݥ��ť�P�[�[1��U�[Eͨ��[��[�[���U�UY�K���PIͨ��[��[�[Z�'�������xKͨ�U�U���������$������ݬݏ���������~�����~����PЬ��P������U�E�d����Ux��UU�E�K�Kͨ���0U�����K����U�Uz�ͨ����������ͨ������J����U�U N�ͨ�������+�ͨ���g��J����U�U$"�ͨ�������ͨ���3��J����~����}J�[������P [%d bytes]
 rev=%s/%s %sinq(%d,%d): %s %s;cd-romwormprocessorprintersequential accessdirect accessremovablenonremovable8 ^Ѭ�[�UЏ
E��[�[���K���PZ����%���xZU�U���������������������������ݬ������~�����~����P
Ь��PC������PY������PX�X�Y�X�Y�Z��9S����I�[�M����Pcapacity(%d,%d): %ld blocks of %ld bytes (#%xx#%x)
0l!^�Z���R͘����R���R������H����������������������ݬ�~�����~�����~����P�;��p��WH�(�[�[��������x[U�U���������$������ݬݏ���������~�����~�ﳂ�PЬ��Z������U�U��d��������Ȉ�����d����I����U�U �����������������I����U�U�͜�������l�����d���I�͜������dߚ���U�E�y�����Ux��UU�E�`��[��(��1G�[�������3Q�_����͘��$Q�ZP	lun(%d): %s %s, %s/%s rev=%s
??responded to test unit ready
target %d:
8 ^Ѭ�[�UЏ�E��[�[�Z�K���r��PZ�������xZU�U���������������ݬ�~�����~�����~����P
Ь��P�[��P08 ^Ѭ�[�UЏD
E��[�[�[�K�����PZ�������xZU�U���������������ݬ�~�����~�����~��z��P
Ь��P�[��P08 ^�����������������������O������U�0U���ݬ�~�����~�����~��~�P8 ^Ѭ�[�UЏJE��[�[�n�K���
��PZ�������xZU�U���������������ݬ�~�����~�����~���P
��P�Z���N�����D�[��P(%d,%d): good status
0< ^ЬU�U�U
��@����ЬUݥ��W��P���ЬUݥ��D��P���ЬUݥ��1��P���ЬUݥ����P���ЬUݥ����P���ЬUݥ�����P���������ЬUݥ��۝�P���ЬUݥ��ȝ�P���ЬUݥ�ﵝ�P���ЬUݥ��P���ЬUݥ��P���ЬUݥ��|��P���ЬUݥ��i��P���ЬUݥ ��V��P���ЬUݥ$��C��P���ЬUݥ(��0��P�����~��:ݬ��dE�P(ݬ�~�����~�����~���}�P
��P�Pnumber of bytes (%d) must be 6 or 10
�X ^ѬЏ���P�%ЬUݥ��PVѬЬUݥ��w��P͸��͸��͸�W����%���xWU�U���������������������������ݬ������~�����~���|�PЬ��P�������p��Pͼ�������`��PX�XЏU�X�U��_��Pʹ��ʹ��ʹ�Z�������$�������Vͼ�~��A�P[�Z�XZ~�[�V�W��K��6��A��.(��o3������p$�VY�Yw����(���xWU�U���x��[U�U���x��[U�U���x��[U�U���[���������Z������ݬ�XZ~�����~�����~���{�P
Ь��P{�Z[�ZY��������#�XUnUͬ�
nUTa�^Tͬ���������ͨ�
�������ͨ�NVUvͬ�TDTUVUTf�$Tnͨ�RgRT~�������~����@�P�E�P t=%ds (%.0fKB/s)
read(%d,%d): %d blocks @%d (bs=%dB, %d sectors),usage errorSony WDA-3000sonystatusSLset shelfside lunsetsense [lun=0]senseLS?rel lun [shelfside]relLI?readid lun [start]readidLIIS?media [-v] [-f output] lun start countmediaII?internal [test [drive]]internalinq [lun]inqLeject lunejectdiskid [lun]diskidLIILIcopy srclun start n destlun destcopyconfigL?alternate [lun]alternate�X ^�ZѬ
��U�Eͨ�PѬ&ЬUݥ��P�[�[1��U�[Eͨ��[��[�[���U�UY�K���S��PIͨ��[��[�[Z�r�������xKͨ�U�U���������������ݬ������~�����~���x�PЬ��P�$�Kͨ���H�����=����Uʏ���U�U ����Uˏ���U~��P���=������Uʏ����U�U ����Uˏ���U~����=�����Uˏ���U~����Uʏ����U�U	ЏYЏY�Y����Uʏ����U�U	Џ$XЏ0X�X����Uʏ����U�U	Џ1WЏ0W�W����Uʏ����U�U	ЏGVЏ>V�V��V���<�[�����Pnot readyreadydrive errorno alternatewritablewrite protect%s,%s,%s,%s (0x%x)
empty (0x%x)
power off (0x%x)
inq(%d,%d): ЬU��Z�Zݬݬ��XF��b��;<���[�[ZM�
[~�
nÎ[U�U	�
Y� Y�YЬU�eT��SxSS�ST��UxUU�UT~�����;���[��
[~�
nÎ[U�U4�Z0��n"�e"��Q"�
��@!��P"U�U�G"�
e8 ^Ѭ�[�UЏE��[�[���K���F��PZ���ߐ�����xZU�U��ߔ��ߔ��ߔ��ߔ���ݬݏ�����~�����~���u�P
��P*�[�[x
[U�E���߫�Z������[��[�q����P0%ld%c(%d,%d): alternate table %d (%d entries)
<"^���ߐ��ߔ��ߔ��ߔ��ߐ,��ߔ���ݬ�,�����~�����~��#u�P���Ь��P�/���!�~���P[����������.{>K�P�U�e1	Џ3ZЏ1Z�Z>K�1�U�e~>K�%�U�e1	Џ3YЏ1Y�Y>K��U�e~���ݚ���U�U	Џ<XЏ4X�X�~���C���	�9����U�E��������9����9��"�U�U����"�~��|��o9��$�U�U����$�~��L��O9��'�~��&�~�� �~��
��39�P IF-129=0x%x, SY-46=0x%x, SS-30=0x%x
 lo cont.=0x%x, up cont.=0x%x,	ROMS:	Unibus-SCSI controller=%s
sUnknownWORMconfig(%d,%d): %s device, '%s', %c controller%s, %c drive%s
U.S. Design 1158T.D. Systems Vikingno doard80^Ѭ�[�UЏLE��[�[���K������PZ�������xZU�U��������� ������ݬݏ���������~�����~��r�P
Ь��PE�Z���A�����7ݏ�������������������7�[�V����P^��ЬU��[�[�[!�[I�[
.B���ݬ��v9�\��bݬ��`9�F��Lݬ��J9�0ЬU��U�UЬU��~��J�U�� 9ЬU��Uʏ����U�E�J���������8���ݬ���ЬU��Uʏ���U�U>ЬU��T��
SxSS�ST��	UxUU�UT~�������8���ݬ��΄ЬU��U�E���������z8���ݬ���Uʏ���U�UIЬU��T��SxSS�ST��SxSS�ST��UxUU�UT~�������"8���ݬ��H� info=#%x, ext sense: %s at addr #%xsense: %swarning: extra data is %d, not 4! no errorkey #fmiscomparevolume overflowkey #caborted commandcopy abortedkey #9blank checkdata protectunit attentionillegal requesthardware errormedium errornot readyrecovered errorno sense%s
sense(%d,%d): 0<#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8><#d7><#d6><#d5><#d4><#d3><#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5><#c4><#c3><#c2><#c1><#c0><#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4><#b3><#b2><#b1><#b0><#af><#ae><#ad><#ac><#ab><#aa><#a9><#a8><#a7><#a6><#a5><#a4><#a3><#a2><#a1><#a0><#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95><#94><#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70>carrier errorshelf errordrive 1 errordrive 0 errori/o shelf errorhook servo errorroter servo errorz-axis servo error<#67><#66><#65><#64><#63><#62><#61>no data in specified address<#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56>tracking erroruncorrectable read errordata could not be readall address could not be readaddress block not foundspecified address not found<#4f><#4e><#4d><#4c><#4b><#4a><#49><#48>alternation troubledisk warningwrite protect error 2write protect error 1cannot read disk iddisk errorwrite errorwrite warning<#3f><#3e><#3d><#3c><#3b>disk already exists in shelfdisk already exists in drive<#37><#36><#35><#34><#33>drive not readyno disk in drivedrive power offdrive error<#2e><#2d><#2c>over laser powerunder laser powerwrite modulation troublehead lead outskew troubleslide trouiblespindle troubletracking troublefocus troubleloading troubledrive interface parity errorcommand not terminated<#1f><#1e><#1d><#1c><#1b><#1a><#19><#18><#17><#16><#15>scsi hardware/firmware errorSONY I/F II hardware/firmware errorcontroller errortime out errorecc trouible occurred<#f><#e><#d><#c><#b>copy aborted<#9>message reject errorparity errorunit attention<#5><#4>illegal requestrecovered errorinvalid commandno sense�����+ˏ����U�U�ˏ�����U�U	Џ�,[Џz,[�[��V��+ˏ�����U�U
����+ˏ�����U�U
�����+ˏ�����U�U%ˏ�����~����g+
����X+����K+^����������������
�������������������������	�ݬ�~ݬ�
�����~��e�P[�[PF����������������������ݬݏ�ݬ�~�����~��Le�P[�[P�P�(^ݬ������/����PЬ��P����[�Z�Z�(�kUʏ���U�U	Џ�+XЏ�+X�X�kUʏ����U�U	Џ,WЏ�+W�W�kUʏ����U�U	Џ,VЏ�+V�V�Z������)�kUʏ����U�U���Uʏ���U�UU��Uˏ����U~����)��Uʏ���U�UV��Uˏ����UT���+~ʏ����U�U~��L��p))��Uˏ����UT�Tʏ����Uߥa�T~����E)��t��8)�Z�[������Z�Z2_�ZY�ZU�UZ�U2�[ZU�eU�[YT�dT�UT��YU�ZU�Y�����(�Z~�Y�����(�[YU�e~�������2[��e��(�k~������[��B��(�kUˏ����UZ�kUʏ���U�U �Zˏ����ZUߥa�Z~�����g(
�����X(�[�kUʏ���U�U�kUˏ����U~����0(
��u��!(�[�kUʏ���U�U�kUˏ����U~��2���'
��
���'�Plower drive: no disk
lower drive: disk, LUN=%d
upper drive: no disk
upper drive: disk, LUN=%d
no disk
disk shelf=%d%c (%d)
carrier: I/O shelf%d-%d%ddisk in shelf %d%c (%d)ab, return shelf %d%cdisk in drive %donoffno not drive %d: %sready,%sdisk in LUN,power %s,
no diskuse shelf instead of drive for LUN %dwait ejection,wait loading,temporarydisk%s,: < ^Ѭ
Џ(-��PyݬЬUݥ��w�P����P\�������ЬUݥ���xPU�U������������������ݬ�~�����~�����~��`�P
Ь��P�Pusage error�^Ь����U�U0�U9ݭ���kݬ���'Џ����PV�[��U�U0�U9ЬU�U��[
T�eU�TU�0U[�>K�h���[���a
���b��[��U�U��e��[Pshelfside '%s' must be numa or numb8 ^Ѭ�[�UЏ�.E��[�[���K���~�PZ�������xZU�U���������������ݬݏ�����~�����~��H_�P
Ь��P6�Z��.��*��w$��ݏ�������e�[�e����P(%d,%d) disk id block:
0�L^��9.����1.���W͸�ѬЏ4��P��ЬUݥ���}�P��ЬUݥ���}�P[ЬUݥ��}�PWЬUݥ��}�P��ЬUݥ��}�P��Э�U�WUT�T~�Uݭ�ݭ��W[U�U~�[ݭ�ݭ���f�	�z#ݬ�ͼ���"����PЬ��P�T��D�Uʏ���U�U��D�Uʏ����Uѭ�Uԭ�I��E�Uʏ���U�U��E�Uʏ����Uѭ�U���!ݭ����ݬ��(%Ь��P����6?��.?��&?��>�ʹ���Џ����V�W�>�Wݏ��_�PXvݬ��X�[ݭ�ݭ���p�PZ�ZW�Z[�Z���ZW�ZXFǏ'[U�UV�Ǐ'[V߭���7߭�����P�V�'~�����."�v����Wݏ�����PX�R���ݬ�~�X�[ݭ�ݭ�����PY�Y�/���ݬݭ�ݭ�ݭ��Y�[ݭ�ݭ�����P�����Y[�Y���YWǏ'[U�UV�Ǐ'[V߭���߭���
�P�V�'~��8��z!�L���߭���R�ʹ��խ����ݭ�����K!�Wݭ��W�[����3!Ь��P#�͸�UNUTN��SFSTVT~�U��{��!�P8 ^�������x�U�U�����������������������x�U��U��x�U��U������x��U�U��x��U�U�	�x���U�U�
���x��U�U��x��U�U�
�x���U�U����x��U�U��x��U�U��x���U�U����ݬ �~����������~���Z(^���լ�PjѬ�Џ�ݬ����ݬݬݬ���P	Џ����P4����[ЬU�U��U�kU���nU��T�UT�[�����U�U[P%d blocks at %.1fKB/s
copy buggered up: sbase=%d nblks=%d dbase=%d
%ds: 	doing block %ld at %sdrive %d not occupied
copying drive (%d,%d)[%d-%d] to drive (%d,%d)[%d-%d]
usage error8 ^Ѭ�[�UЏ�4E��[�[�[�K���x�PZ�������xZU�U���������������ݬ�~�����~�����~��Y�P
Ь��P�[��P0^�������x�U�U���������
������
��լ�Z�Z�Z����������x���U�U��x��U�U�����	�ݬ�~ݬ�
�����~��mX�P[�[PK�������x�U�U���������������ݬݏݬ�~�����~��$X�P[�[P�P�L^�����Z�ͼ���@ݬݬ��6��PX�P�����@�X�v�X�v�X�f	�������$'ͼ��Џ�=��P�J���U�U�Џ�=��P�+���U�E���v�P�����U�E����U�U��U�e��v�P�����U�E����U�U��U�e��]v�P����ͼ�2��O�ͼ����PZ�ͼ�ݬ���\Ь��P�ݬ�����������PЬ��P�t��`�Uʏ���U�U��`�Uʏ����U����U����L��a�Uʏ���U�U��a�Uʏ����U����U����"������ݬ���Ь��P��������%����Џv=͸�	Џp=͸��͸�����U����T�TUS�S~�U�T�����`�Z�ͼ�����K���������
�����U�U���
e���7��Y�Y�*�Y��R������������Xo�PI�7�Y�ЏK=�7Џ1=�8Џ=�8Џ�<�8Џ�<�8Џ�<�z8Џ�<�s8Џ�<�T9Џ�<�M9Џ�<�F9Џg<�?9ЏWЏ����V�����Y�Y��I�;�Y�����Y����X�X��ݬ���������Y����������PЬ��P�H����[����U�[U���Z'Ѫ��Z�k~��T�ЪU�U��ke��kU�UW��[YU����T�TUʹ�����d�V`�V�G�T6�Vʹ�~�����q����U�U����U4����������������
��������U�U����
e�kW�ʹ�V��U�E��9�&���X��Y������X�ݬ���������Y����������PЬ��P�!����[�X���Z'Ѫ��Z�k~��3�ЪU�U��ke��kU�UW��[YU����T�TUʹ�����d�V`�V�G�35�Vʹ�~����P����U�U����U4���������������
������U�U���
e�kW�ʹ�V��U�E��8�X�*����Z)Ѫ��Zݏ��d�ЪU�U��e��W���[YU����T�TUʹ�����d�V`�V�G�d4�Vʹ�~���������U�U����U4��������������
��������U�U����
eЏW�ʹ�V����0�����������
������U�U���
e��W����X�X�(�H�7�H�3�H�7�� ���X���
���P
%d %s, 	%d %s@%d, uncorrectable (alternated)>96% burst (alternated)50-96% burst (alternated)<50% burstread error 3 (alternated)unwrittenread error 1 (alternated)seek error 3 (alternated)seek error 2 (alternated)seek error 1 (alternated)goodrare error 0x%x stored in '%s'upperlowermedia margin check for %d blocks [%d-%d] on %s drive (%d,%d):drive %d not occupied and ready
wusage errorvf:@ ^Ѭ
��������'����ݬЬUݥ������P���
Ь��P_�������ЬUݥ��nxPU����U������������������ݬ�~�����~�����~��'O�P
Ь��P�P^���������������
�������x���U�U�����������������	�ݬ�~ݬ�
�����~��N�P�ЬPL�������������x���U�U��������ݬݬݬ�~�����~��[N�P�ЬP�PL ^Ѭ:��	���Z�J����J����Z��y	��a�Z��P��ЬUݥ��'m�P����PY�Y��Y��I�Ue�?�@)A�A�BPEݬ����ݏ�~ݏ�������PЬ��P�^����U�E�>������������Z����[�Z�$��~��~��U�E����k~��>���Z�[�ݬ����ݏ�~ݏ��������PЬ��P������U�E�������1����$�Z����[�Z���U�E�o���~��U�E�`���U�E�U��kU�E�K���%����Z�[�����U�E�3��������D����ͼ����ݬ������~ݏ�������PЬ��P���͸���Q�����[�kU�U��}��P��~��~�k~��@��6�ͼ�͸�~����!�����U�E��������������ͼ�����ݬ������~ݏ���j����PЬ��P�D�͸��������[�kU�U�������~��~�k~�����ͼ�͸�~��h��m��ѬЬUݥ��3j�PX�X�X���ݬ�����������PЬ��P���`�Uʏ���U�U��`�Uʏ����U����UЏʹ�S��a�Uʏ���U�U��a�Uʏ����U����UЏʹ�%��������o���Ь��P�*����U�E�
��ʹߏ	Џ�GXЏ�GX�X������*��l������;�ͼ���<�ݬ����ݏ�ʹ���������PЬ��P��͸��������[��Uʏ���U�U��������Uʏ����U�U��r������Uʏ����U�U
��>����Uʏ����U�U
������Uʏ����U�U
�������~�����o��Uʏ����U�E�������N�ͼ�͸�~��4��9�Z�Z
7~J�3���U����U�U�[U�eU�E�}��J����Z��"���
�Z�������
��h[�Z�Z%�kU��TxTT�TU~�Z�����
�Z�[�����
�*���ߐ����ߔ��ߔ��ߔ��ߔ��ߔ��ߔ��ߔ��ߔ��ߔ���ݬ������~�����~��H�PЬ��P������U�E������7
����[� ��U��TxTT�TU~��~��~��������
� ��	U��TxTT�TU~��
~��~�������� ��
U��TxTT�TU~��~��~��U��s����U��TxTT�TU~��U��TxTT�TU~��
��~�Pbackup mem(0/%d/%d)
sys controllower driveupper drive%s(%d/%d/%d)%c%s: component(fatal err/err/cmds)

 %d:%ddiagnostic count (drive:avail):test %d[%s]: %s
diagnostic not performed: %s (last error code 0x%2.2ux) disk-fault drive-fault controller-fault no faultsdiagnostic result:upplowdrive %d[%ser]: %s
drive %d not occupied
internal 3 (%s):
 (time: %lds)
	failed, error codes=#%x, #%x, #%x	ended normallyinternal 2 (%s):
%s[%s]: %s[#%x] (%s)
Diagnostic #E4: last 16 errors; initiator[identify] error[sense] (cmd)
internal 1 (%s):
[%d] %s (%d,%d)
Diagnostic #E5: last 16 internal tasks (drive,shelf)
internal 0 (%s):
	internal %d: %s
available internal commands:
read data compareECC margin checkwritesearch writable areawritten sector searchblank sector searchseekmoveread disk iddrive on/offurk 15urk 14urk 13urk 12urk 11urk 10urk 9urk 8urk 7urk 6urk 5urk 4diagnostic aborted: write area fulldiagnostic aborted: write-protectdrive connected but no diskdrive not connected or powered offjukebox statusdrive controller diagnosticsscsi control board diagnosticsarm controller diagnosticserror information tableinternal command table^���������(���x�U�U���x��U�U���x��U�U���x���U�U�����������������ݬݏݬ�~�����~��@�P�������P��^�X�V���ݬݬ����PW�P�����E�W�z�W�z"�W�v�X������`�PV�Џ�M��P�C���������U�U��Џ�ME���������U�E���o`�PZ��X��V[�[ݬ�����[�Z������P��[Џ����Y�X�[�����I�������ݬ�����[�Z��b����P
�[Y�� �[��Y�[����Ь��Pmݬ�����Y�Z��#����P
Ь��PMݏ���&���X���XU������X��Z�����&����9���z����������P(%d,%d): '%s'
read(blk=%d) failed
%d: 0usage errorvz:Wrens/Elite diskswrenlogselect {page fields}*logselectlogsenseIIIIIIIImodeselect {page fields}*modeselectmodesenseextinqdiagX ^���������������`������ЬU�U��Uݏ`�����~�����~��+?�P
Ь��Pf�ͼ��������NE�ͨ��������=E�������ͨ��ͼߚ���U�E�Y�����Ux��UU�E�@��~��(��
�	��Pinq(%d,%d): %s %s, %s/%s rev=%0.4s serial=%0.8s
L ^���������������� ������ݬ� �ʹ��~�����~��C>�P
Џ����P�߭��������dD�[�Z�K���!�K���U�e߭���#R�P�Z�[��Z5�K����L�K�������U�eݥ�����%��{�����|�Uݥ߭���t����Pݬ������P
Ь��PJ��D�Uե��#ݬ��QЬ��P$ݬݬݬ���U���P
Ь��P�Pݬ������P
Ь��PJ����Uե��ݬ��TQЬ��P$ݬݬݬ���U���P
Ь��P�Pݬ��8����P
Ь��PJ��x�Uե�� ݬ���PЬ��P$ݬݬݬ��I�U���P
Ь��P�Pݬ�������P
Ь��PJ���Uե��ݬ��PЬ��P$ݬݬݬ����U���P
Ь��P�Pݬ��l����P
Ь��PJ���Uե��<ݬ��"PЬ��P$ݬݬݬ��}�U���P
��P�Plogging not implementeddiagnostics not implementedmodeselect not implementedmodesense not implementeddrive is '%s'; pretending it's a %s
drive is a %s (%s)
8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ��ߔ���ݬ������~�����~��:�P
Џ����P����Uʏ����U�U
��	�U�U�U���	�~����~������������[�[4��
�Ux[T�TT�TU�U�Z�Z�Z�K����u��l��[Ț��UxUU���T�TU~���~���~����?��P8 ^����������x�U�U������������ݬ������~�����~��9�P	Џ����Pl����Uʏ����U�U
����U�U�U�����~�����~��������e�������~��6�������~������P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ$��ߔ���ݬ�$�����~�����~���8�P
Џ����P�Z���Uʏ����U�U
��	�U�U�U���	�~����~��������4�����������[�[4���Ux[T�TT�TU�U�Z�Z�Z�K�g�������[����
������UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~��'
��"����UxUU���T�TU~��
�UxUU���T�TU~���UxUU���T�TU~���UxUU��
�T�TU~�������P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ$��ߔ���ݬ�$�����~�����~��27�P
Џ����P����Uʏ����U�U
��	�U�U�U���	�~����~��\
��:����Uʏ����U�E�����UxUU���T�TU~��
�~��
�UxUU���TxTT���S�ST�TU~��O�����P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ��ߔ���ݬ������~�����~��J6�P
Џ����P�����Uʏ����U�U
��	�U�U�U���	�~����~��t��R���
��E��[�[4��
�Ux[T�TT�TU�U�Z�Z�Z�K��������[ǚ��Uˏ����U~���Ux��UUˏ����U~���	�������UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~��	����P8 ^���ߐ��ߔ���x�U�8U��ߔ��ߐ��ߔ���ݬ������~�����~��5�P
Џ����P�����Uʏ����U�U8
��	�U�U�U���	�~�8���~��*����������[�[=�K��0��
�Ux[T�TT�TU�U�Z�Z�Z�K�ú���
����[���
�Uˏ����U~��M������~���~��
�~���~���~�����v��PѬ1����x���n���ݬ��r��P��Ѭ,�[�[ЬUݥ�K�:����G�P�[��[��[�K����������ݬ�[������P�Pkݬ�[������P�PVݬ�[��9����P�PAݬ�[�������P�P,ݬ�[������P�Pݬ�[�������P�P�P�^�W���X��ռ'�Z�Z ݼ�J�\���	G�P�ZW���Z�ռ��������Z�Z.�J� ��Z	Џ|VЏ[V�V�������Z���w�����Z�Z��U��$1�Z��U��$�Z	Џ|V� V�V��:����Z�������P�l�Z�Z��U��$"ݼ�Z��U��$��F�P�Z��Z��U��$�����ZY��U�U��eu�Y��U��$������Z�ZU�Y��T��,T�TU�e)�ZU�Y��T��,T�TU�e��B�����Z��������P�ռx�Y��U��,U[�kݼ�k��TE�P�[��k�Q�����U�U��e�k��ݬ���Џ����P;ЬU�U��e��)P�P��[���hݬ����Y��U��(�W��t< ^���ߐ�M��ߔ���x�U�0U��ߔ��ߔ��ߔ��ߔ��ߔ��ߐ,��ߔ���ݬ�,�����~�����~��a0�P
Џ����P������Uʏ����U�U0����UxUU����T�TU�U((�(����UxUU����T�TU~�0����~��u��S�����F����Uʏ���U�U	Џ`[Џvc[�[���UxUU���T�TUxUU���TxTT���S�ST�TU~��
�Uʏ���U�U	Џ`ZЏvcZ�Z���UxUU��
�T�TUxUU���TxTT���S�ST�TU~���Uʏ���U�U	Џ`YЏvcY�Y���UxUU���T�TUxUU���TxTT���S�ST�TU~��p��U���"�Uʏ���U�U	Џ`[Џvc[�[��$�UxUU��%�T�TUxUU��&�TxTT��'�S�ST�TU~���Uʏ���U�U	Џ`ZЏvcZ�Z���UxUU���T�TUxUU���TxTT���S�ST�TU~������P�[�K�
������!���ݬ�[��x����P�P�Plogsense(id=%d,%s values):
default cumdefault threshcurrent cumcurrent thresh	requests: %d in segment%s, %d out of segment%s
[DU]	blocks: %d read%s, %d written%s, %d read from cache%s
cache statistics:
expected val for field %s '%s'fields for page %s: fields ...
]%c%sUsage: modeselect zlrwiececsizevcmaxprefminprefrdrprcdgcread retriesawrearretbrceerperdtedcrermodesense(id=%d,%s values):
usage: modesense [%s|%s|%s|%s]saveddefaultchangeablecurrent	prefetch: thr=%d max=%d(mult %d) min=%d(mult %d)
, cache size=%d
vendor caching parameters:
	ZLRWIECE	prefetch: min=%d, max=%d, ceiling=%d

	rd retent priority=%d, wr retent priority=%d
generic caching parameters:
	WCEMFRCDdrive geometry:
	%d cyls, %d heads, %d RPM, spindle-sync=%s
reservedmasterslavedisabled	%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol
	sec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d

	drive type:format parameters:
SoftSecHardSecRemoveSURF write reconnect=%d/256 empty
	read reconnect=%d/256 full,disconnect/reconnect:

	%d retries, max ecc span=%d, recov tlimit=%d
 %s=%derror recovery:
	pg=#%x(#%x) data=#%x(#%x)
AWREARRETBRCEERPERDTEDCRElite-1ST41520N�< ^����������x�U��U������<������ݬݏ���������~�����~���(�P
Џ����P�"����Y����Uʏ����U�U�
����U�U�UY�Y����~ݬ����~��B������-����Ь[�kZ5�kUݥ�e�kUѥ	ЏgWЏgW�W�������[��������2���s�����Ь[�kZ��ЪW�W���W��G�Ue
f
f
f
f
f
f
f�eOfOfOfOfOfOfOf�eЪU��E���}x���UЪT�UD���ЪU��E���`ЪUЪTxUD�Z�XЪU�E���U�XT�TT�TU���ЪUxU�U�XT�TUЪT�U���D����jݪ�����Џ����Pt�[������Y���������x<�������U���U�����������������Y������ݬ�~�����Y�����~���&�P	Џ����P�Punknown size %d for field %s
; kill me if that's wrong
countbit %s '%s'=%dsettingpg=#%x(#%x) data=#%x(#%x)
8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ��ߔ���ݬ������~�����~��&�P
Џ����P����Uʏ����U�U
��	�U�U�U���	�~����~��������
����[�[4��
�Ux[T�TT�TU�U�Z�Z�Z�K��
�����[Ț��~���~���~��d
����P8 ^����������x�U�U������������ݬ������~�����~��%�P	Џ����Pl����Uʏ����U�U
����U�U�U�����~�����~��
�� ���	�������~��	�������~��P	�����P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ$��ߔ���ݬ�$�����~�����~��T$�P
Џ����P�Z���Uʏ����U�U
��	�U�U�U���	�~����~��Y	��\���{��O���a��B��[�[4���Ux[T�TT�TU�U�Z�Z�Z�K�������
��[����������UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~��n������UxUU���T�TU~��
�UxUU���T�TU~���UxUU���T�TU~���UxUU��
�T�TU~�����=��P8 ^����������x�U�U������ ������ݬ� �����~�����~��"�P	Џ����Pk����Uʏ����U�U
����U�U�U�����~�����~���������~����UxUU����TxTT����S�ST�TU~�����~��P8 ^���ߐ��ߔ���x�U�8U��ߔ��ߐ��ߔ���ݬ������~�����~���!�P
Џ����P�����Uʏ����U�U8
��	�U�U�U���	�~�8���~���������2�����[�[=�K�ƫ0��
�Ux[T�TT�TU�U�Z�Z�Z�K������[���
�Uˏ����U~�����~����~���~��
�~���~���~��i��X��PѬ1��j���`���V���L����ݬ��T��P�Ѭ,�[�[ЬUݥ�K�����4�P�[��[��[�K�������������ݬ�[������P�PVݬ�[������P�PAݬ�[������P�P,ݬ�[��H����P�Pݬ�[�������P�P�P�^�W���X��ռ'�Z�Z ݼ�J�N����3�P�ZW���Z�ռ���W����Z�Z.�J���Z	Џ|VЏ[V�V��!�����Z��������Z�Z��U�� 1�Z��U�� �Z	Џ|V� V�V�������Z�����v��P�l�Z�Z��U�� "ݼ�Z��U�� ��3�P�Z��Z��U�� �����ZY��U�U��eu�Y��U�� �� �����Z�ZU�Y��T��(T�TU�e)�ZU�Y��T��(T�TU�e�������Z��������P�ռx�Y��U��(U[�kݼ�k��J2�P�[��k�Q�����U�U��e�k��Pݬ��v�Џ����P;ЬU�U��e��=�P��[���hݬ����Y��U��$�W��j���expected val for field %s '%s'fields for page %s: fields ...
]%c%sUsage: modeselect cevcbuffer emptybuffer fulldrread retriesawrearretbrceerperdtedcrermodesense(id=%d,%s values):
usage: modesense [%s|%s|%s|%s]saveddefaultchangeablecurrent	prefetch: thr=%d max=%d(mult %d) min=%d(mult %d)
, cache size=%d
vendor caching parameters:
	WIECEdrive geometry:
	%d cyls, %d heads
	%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol
	sec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d

	drive type:format parameters:
SoftSecHardSecRemoveSURFINS write reconnect=%d/256 empty
	read reconnect=%d/256 full,disconnect/reconnect:

	%d retries, max ecc span=%d, recov tlimit=%d
 %s=%derror recovery:
	pg=#%x(#%x) data=#%x(#%x)
AWREARRETBRCEERPERDTEDCRWren V94181-15�\ ^ѬЏ�u��P�9ЬUݥ��n9�PVЬUݥ��q9�PZѬЬUݥ��F9�Pͬ��ͬ��ͬ����ѬЬUХͨ��ͨ��ͨ�ͼ��ͼ������Z�V�������ͼ�/����ͼ���F��PW�ͼ����Ь��P��W����%���xVU�U���������������������������ݬ������~�����~��J�PЬ��P�'��������P͸��������PX�XЏU�X�U��B�Pͤ��ͤ��ͤ��������U�U�XU~�Z�����V��:������������������Y����[�Y��Y[�Y[����(���xVU�U���x��ZU�U���x��ZU�U���x��ZU�U���Z���������[������ݬ�X[~�����~�����~��B�P
��P#�[Z�W�W�[�X��������[Y�_����Pread(%d,%d): %d blocks @%d (bs=%dB, %d sectors)
wlun=%d addr=%d count=%d file=%s
usage error<#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8><#d7><#d6><#d5><#d4><#d3><#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5><#c4><#c3><#c2><#c1><#c0><#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4>disk rotatedisk releasedisk set<#b0><#af><#ae><#ad><#ac><#ab><#aa><#a9><#a8><#a7><#a6><#a5><#a4><#a3>carrier movedisk check<#a0><#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95><#94><#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70><#6f><#6e><#6d><#6c><#6b><#6a><#69><#68><#67><#66><#65><#64><#63><#62><#61><#60><#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56><#55><#54><#53><#52><#51><#50><#4f><#4e><#4d><#4c><#4b><#4a><#49><#48><#47><#46><#45><#44><#43><#42><#41><#40><#3f><#3e><#3d><#3c><#3b><#3a><#39><#38><#37><#36><#35><#34><#33>readmoveseek<#2f><#2e><#2d><#2c><#2b><#2a><#29><#28><#27><#26><#25>disk outdrive offdrive onrecalibratesense drive status<#1f><#1e><#1d><#1c><#1b><#1a><#19>diagnostics<#17><#16><#15><#14><#13><#12><#11><#10><#f><#e><#d><#c><#b>error margin check<#9>sense alternate information<#7><#6><#5>recover disk warning<#3>version checksense resultnop<#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8><#d7><#d6><#d5><#d4><#d3><#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5><#c4><#c3><#c2><#c1><#c0><#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4><#b3><#b2><#b1><#b0><#af><#ae><#ad>no disk in LUNreservedmedium removal preventeddrive not readyunit attentionunacceptable diagnostics parameterillegal parameterillegal parameter lengthillegal shelf numberillegal logical addressreserved bit nonzeroinvalid LUNinvalid command<#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95>drive error (SONY)<#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70><#6f><#6e><#6d><#6c><#6b><#6a><#69><#68><#67><#66><#65><#64><#63><#62><#61><#60><#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56><#55><#54><#53><#52><#51><#50><#4f><#4e><#4d><#4c><#4b><#4a><#49><#48><#47><#46><#45><#44><#43><#42><#41><#40><#3f><#3e><#3d><#3c><#3b><#3a><#39><#38><#37><#36><#35><#34><#33><#32><#31><#30><#2f><#2e><#2d><#2c><#2b><#2a><#29><#28><#27><#26><#25><#24><#23><#22><#21><#20><#1f><#1e><#1d><#1c><#1b><#1a><#19><#18><#17><#16><#15><#14><#13><#12><#11><#10><#f><#e><#d><#c><#b><#a><#9><#8><#7><#6><#5><#4><#3><#2><#1><#0>not connected or power offdrive not ready (no disk)diagnostic could not be donetest not donegooddis/reconnect-LUN 7dis/reconnect-LUN 6dis/reconnect-LUN 5dis/reconnect-LUN 4dis/reconnect-LUN 3dis/reconnect-LUN 2dis/reconnect-LUN 1dis/reconnect-LUN 0no dis/reconnect-LUN 7no dis/reconnect-LUN 6no dis/reconnect-LUN 5no dis/reconnect-LUN 4no dis/reconnect-LUN 3no dis/reconnect-LUN 2no dis/reconnect-LUN 1no dis/reconnect-LUN 0<#d7><#d6><#d3><#c4><#c3><#c2><#c0>7<#2d><#2c><#2a><#28><#25><#1e><#1d><#1c><#1b><#1a><#18><#17><#16><#15><#12><#c><#b><#a><#8><#3>1<#1><#0><#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8>disk releasedisk set<#d5><#d4>request recovered status<#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5>recover disk warningsense alternate informationread disk id<#c1>disk eject<#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4><#b3><#b2><#b1><#b0><#af><#ae><#ad><#ac><#ab><#aa><#a9><#a8><#a7><#a6><#a5><#a4><#a3><#a2><#a1><#a0><#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95><#94><#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70><#6f><#6e><#6d><#6c><#6b><#6a><#69><#68><#67><#66><#65><#64><#63><#62><#61><#60><#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56><#55><#54><#53><#52><#51><#50><#4f><#4e><#4d><#4c><#4b><#4a><#49><#48><#47><#46><#45><#44><#43><#42><#41><#40><#3f><#3e><#3d><#3c><#3b><#3a><#39><#38><#37><#36><#35><#34><#33><#32><#31><#30><#2f><#2e>written sector searchblank sector search<#2b><#29><#27><#26>read capacity<#24><#23><#22><#21><#20><#1f>prevent/allow medium removalsend diagnosticsreceive diagnosticsstart/stop unitmode sense<#19>copyreleasereservemode select<#14><#13>inquiry<#11><#10><#f><#e><#d>moveseekwrite<#9>read<#7><#6><#5><#4>request sense<#2>rezero unittest unit ready�^��Џ��������
�5�������P����ݬ���Џ����P�լ	Џ@[Џ�[ЬU��T�[T���~ݬ���h��P����U�PU2��ݬ����x�����Џ�����f�Э�P�լA�$�~ݬ��I���Ʀ�P���$�U�PUZѭ�$������ݬ��0�ì$~ݬ�����P����qݬ���g���ЬU�$���$լ��ϥ��D�Џ����・�P^����ЬU��K��ݬݬݬݬݬݬ��h����P���$��������P�zݬ������������ЬU������O�������������ЬU��U�U��������d������ݬݏ����ݬ�~�����~�������P�������P�����ЬU��&Uʏ����U�Uk����U�U����U\��_����������ЬU��U�U���������������ݬ�ݬ�~�����~��U����P������������Pk���ЏD����ݏ����ЬUߥ$���������������[x�����Uʏ����U�E��[�[��ݬ�����P�P%s; %sreservation conflictintermediate good/metintermediate goodbusyreservedmet/goodcheck conditiongoodscsiio readscsiio write/dev/scsi8 ^Ѭ�[�UЏv�E��[�[���K����PZ�������xZU�U���������������ݬ������~�����~��0����PЬ��P��Z��x������[�����Uʏ����U����@�����Uˏ����U~����Uˏ����U~����Ux��UUˏ����U~��I�������Uʏ���U+����U����TxTT�TU����TxTT�TU~�������������[������P�^��Ux��UUˏ����U��ѭ�m��Uʏ���U8ЬU��~��~��~��~��Uʏ����U�E����ݬ���GЬU��Uʏ����U�E����Iݬ��\���Uˏ����U~ݭ���
ݬ��;�sense: class=#%x, code=#%xextended sense: %sextended sense: %s info=#%2.2x#%2.2x#%2.2x#%2.2xreserved (#f)miscomparevolume overflowequalaborted commandcopy abortedvendor specific (#9)blank checkdata protectunit attentionillegal requesthardware errormedium errornot readyrecovered errorno sense
, addr=0x%xerror class=0x%x, code=0x%x, sense=0x%xno error
sense(%d,%d): 0���U�U	�U������ݬ��6ݬ���!��i�U�E�Iݬ��ݬ��^�%s: %s%s: unknown errno %d��U�U 
լ֬׬����U������U[�[��kU�U �[�ЬU�U[T�T�T��T�Uݬ�����U�eЬU�U��eSЬU�U�xST�eU�UTSЬU�U�xST�eU�UTSxSU��T�TUS�SP�� ^�Zլ��ݬ� ����PY�Z?�Y :�Yݬ߭���c�P'� ���U�U����ݬ�����Yݬ߭����
�W�Z���ݬ��ٳЬX�[�[YX�[~�nÎ[U�U)ЬUѥ�ݬ� ��<�ЬUХT�T�� dЬU�U��e~��bݬ��z��[�ЬUѥ�ݬ�
���ЬUХT�T��
d��ݬ��=��[�[Y��[~�nÎ[U�U)ЬUѥ�ݬ� �ЬUХT�T�� d�hU�U �U���~��ݬ��ԲC��V�V	�V
$��ݬ�ﳲ"��yݬ���dݬ��[�L���ЬUѥ�ݬ�
���ЬUХT�T��
d�Y��YZ������Z��
ݬ��?�%5.5d
..\t\n %c     %2.2x%5.5d*
����P[ݏd��q�PkЏd�ԫ�[PЬ[�k���
�[���
�^Ь[ݬ��	
�PY�Yԫ�kP�ݬ���	�PY�Y�U�U��ѭ��EЫU>E�h����ѭ���Э���ݭ�����P���kݭ���e
�k��p
Э�kЭ��ݬ�k�~��D
�Y��kZ�X�jU��MZUʏ����U�j
�X�Z�j�Xԫ�kP�P�~�Z��?��PZ�ݏ ��M�P[��X[kԫԫԫԫԫԫԫ ԫ$ԫ(ԫ,ԫ0ԫ4ԫ8ԫ@ԫ<ԫDԫHԫLԫPԫT��XЏ�4ZЏ05Y�jA�j����PU�U~���
�PX�ihԨԨЫ��X��jߨ��P	�Z�Y��[P�^Ь�����
�P[ЬkЬ�Э�UХT�Э�U�[�TЬX��Lը�ШTY�Yݬݩ���Y���ЩY�Ш[�[իݫ���[���Ы[�Ԩ�X��U�ը(
ݨ(��ը4ݨ4��Ш4UХ�4�ШPZ�Z�Z��ЪZ��X��x�^Ь��ݬݬ��Iݬ���PU�U~��	�P[ЬkЬ�Ь�Э�UХ�Э�U�[�ݬ߫���^Ь���~ݬݭ�����P[�[իݫ��Э�UЫ��[���
�@^�����Џ�������V�
���ԭ�ԭ����ЬYթ�i��
ԩ��XYi��X֩ѩ�dЏ��i�P�3
ЬZ���ˏ�����U��]�����լ������Z��j����jU��MZTʏ����T�U;�Z�j#�Z�j���j
�Z���Z�Э�[ԭ������U������U���[f�Z���Z���j�������U�U;�{�U;i����U�U	��U
�v�U
��U
�����d�����U�U �Z�U"�(�U$��}����U�U�{V�U�}��U�}�Q����U�U�[�[�U�\��U�]��խ�խ�Э�U�[Ef�Z���������{k�[խ���֭���ѭ�Vԭ蘪U��MZTʏ����T����T�UT��U��U;��Z��Џd����I��}k�[խ��t׭��kխ�)խ�
Э�U�[Ef�"k�[�L�Z������=ԭ���U��MZTʏ����T� ���T�UT��U��U;���Z��ЏA����խ���[k�[�����ˏ�����U�U~ߪݬ������P�����Z����W�i���P����[��U�U���~�
���U�[Uí�U��ݭ����P���Э�U�U[~�U������í�����������[�W�W��
����Gf�W����Uѭ�U
ݭ����������������U������U�������i�[������[��խ��$k�[������Zݬ��\w�P�����������oթ�i��zԩ����i��������Z�����խ�����]���]k�[�uխ�խ����jk�[�Zխ�խ������խ�խ��jk�[�/�Z���Z����Z���k�[֭�����Uѭ�UR����U>E�`���������U�E�`�����P����W�W���GfG����W�����U�VU	�V������VЭ�U�[Ef���
���Z����Z������Z��h��Pkխ�����
�jk�Z�[������Z]����U�UZ�[Pխ�Џ1����խ�Џ!���������]�Ь��Џ������jk�[�Z�[�������Э�U>E�_����ݭ�����P���Э�U�U[~�U������sí�����������[�W�W��
����Gf�W����Uѭ�U
ݭ���Z������������U������U���k���ˏ�����LU��Z���k֭�խ�թH��Э�U�Ef��f�Y����P��խ�0�~�~ݬ��f����f���i��߳�������fЩPX�X8�h�*�j����j�Vݭ�Э�Uݥ�eݭ�ݩݬݨ������jШX�ˏ�����UЭ�<�Z�@ԩ<֩D��Lթ�i��Qԩ��XYi��X�Vݭ�ݬЭ�Uݥ���P�����
�Z���������Uѭ�U
ݭ�������U�VU	�V���שթ{���������UT�UO�~�~ݬ��D����	Џ��i,���	Џ��i��XYi������ߩX����ˏ�����LU
ݬ��H�������Hˏ�����LU�7��Ь�������������
֩��������U��MZTʏ����T�U;����
֩�����Џe�����
ݭ���o��P�������ݭ�����P���í�����������U��	Џ`��������(�(���Џ`����ˏ�����LUN�i����P2 ����ݭ������i�������{�<����ݭ������i��^�����[�����ݭ�������!�����=����ݬ��Y��L��L���P���~�~ݬ��|�����������U�U����
���������������U�U
�����������U�U<������������������U�U�F��F������������������b�i�+���U�U�U���~����T�T�TU~�����"�i��V�����"���ЬZ�����P[ЬkЬ�Ь�ЪP��[�P�[PЬ[ЬZѫPZЪ�P�Z����$ЫPY�YѩZЪ��Z����ЩY��^Ь[ˏ�����LU����mݬ��Bo�P��խ�Џe���ݭ�����P��ݬ����P��Uߥ����P��ݭ�ݭ���=�ݬ�����~��-��ݭ����ݬ��@o��L�ݬ���ݬ��%o���Y�[ЬUХZ�ZC��Y4ݬߪ����P#�[Ъ�ЬUХ�ЬU�Z��ZP��Z[ЪZ�լ�Po���hݬ��Fn�PV�V	�f1�PMݬ����PW�X�[ЬUХZ�Z-��Y�Wݬߪ��x��P�X�P�ZX�Z[ЪZ��XPnoAbbreverrorInfo%s: '%.*s => %.*s'%s, invoked from within
"%.*s%s"%.50s..., while executing
"%.*s%s"%s, while executing
"%.*s%s" ...command returned bad code: %dinvoked "continue" outside of a loopinvoked "break" outside of a loopor ambiguous abbreviation"%.50s" is an invalid command name %smissing close-bracketunmatched braceunmatched quoteextra characters after close-quoteextra characters after close-bracetoo many nested calls to Tcl_Eval (infinite loop?)upleveltimestringsourcesetscanreturnrenamerangeprocprintlistlengthinfoindexifglobalglobformatforeachforfileexprexecevalerrorcontinueconcatcatchcasebreakѬݼ��@ݼ��P�P�d^Ѭ"ݼ������ݼ��h��P�}ЬUХZ�Y��ЬUݥ�����P�[�[�[�����U�[Uݼ��7ݼ����P�!�K�W�g"�gU��MZTʏ����T	�U�\�WڕgC�K�U�e�d����U��Z��P�[Y�K��Z��s~�P�c�[Y�b߭�߭��K�ݬ��A}�PX�X	�XP��V�V���F���Z��&~�P�[Y�V�ݭ���0��V��	�[������YG�~�~�I�ݬ��3����PX�X(ЬUݥ�K���߭�����߭�ݬ������XP�P�^ЬU�U�Uݼ��ݼ�ﺩ�PZ�~�~ЬUݥݬ������P��Ѭ�~ЬU�eЬTݤ�U��i�~�~ݬ���xݭ���4ݼ��]��PѬݼ���ݼ��?��P!ЬUߥ��~��1x�P�ЬU���PѬݼ��ݼ�����P�P�^Ь��ЬU�U�Uݼ��:ݼ��ɨ�P5ѬЬUݥݬ������Э�U��L�ЬUݥݬ��x�P@^Ѭݼ��ݼ��l��P�Ѭ�~�~ЬUݥݬ��b����P[5ЬUߥ��~��:w�P���~�~ݭ�ݬ��5����P[ݭ������[$ЬUݥ��L߭����߭�ݬ������[P��^Џw����WЏ������мV�[�[��~ЬU�K�R��T�T�UT�Ked�K�U�e<��O�[�[��V��ݼ��q��P��K����[�[�ЬU�K�'R��T�T�UT�Ked�[����[�v���׬ЬU�E�Ѭ�V��ݼ����P�ݼݬ��K�P��խ�	�P�Џ������Џ������Џ������Џ������ݭ������P��ѭ܏��߭���A��P+��� ��P�V��Iݼ��|�����_ݭ�ݭ�ݭ���f��P��)��F���ߦ�P���ݼ��=����� ݭ���݁Џ��������߭��數�~ݏ߭���?��P��խ�+�����y��P�V��?ݼ��ե����ݭ�ݭ�ݭ��ᅥ�P��)���8��P���ݼ�����y�~�~ݭ��ﮃ�P�����߭���G��P�����)��L�����P��Jݼ��C�����&߭���σ�P�V���ݼ����������l��P��ѭ�����+�����}��P�V��ݼ��٤����խ����~ݭ���|��P�����*�ݭ���g��P������ݭ���R��P�����-Џ���p���p�����P��p�ݭ���e�����ݭ����ݭ����ݭ����ݬݭ����ݼ��s��t������t���*��P��t��������~ݭ���Џ������ݭ���Џ�������Z�XЏ�������ZXU�U�dA�X	Џ�X>H�}N��X�X�����P���W�Z�Wݭ���Y��W��l�Э�W�ZXU�U~�WZ~ݭ�����PY�Y4�Y'��?���أ�P�V��bݼ��4�����YZ�_����WZU�e�W�ЬU��ѭ�����S߭�����P��ѭԏ�������ݼ������ѭԭ��խ���ݼ�¬���Э��ѭ�����
ݭ���V~ѭ�����
ݭ���B~ѭ������
ݭ���.~ѭ������
ݭ���~Э�P�^Ѭݼ��ݼ��B��P8߭�ЬUݥݬ���@�P��խ�Э�Pݭ����ݼ����P�0^Ѭݼ��xݼ����P�ЬUݥ�����P[ЬUݥݬ��yF�PZЬUХU�e�d`�[��"�U����PK�/�Z��:��P��խ�
Џ���%ѭ�Z
Џ��������Zݬ���p�/���P�ЬUХU�e�r[�[V�[��
�U��2��PA�.�Z�����P��խ���Zݬ��pp�����Zݬ��]p�.���P�ЬUХU�e�e`�[[�[��/
�U�����PF�.�Z��^��P���/�Z��O��P��Э�UЭ�T�TU�ݭ�ݬ���o�P�ЬUХU�e�tT�[����U��`��P?�/�Z�����P��խ��Э�Uߥݬ��o��Zݬ��o�P�O�Z	�P�BЬUХU�e�rM�[H�[��D�U�����P3���ݭ��Z��p{�P�����
Џ���Џ���P��ЬUХU�e�w�[����U����P����ЬUХU�e�e$�[�[���U��h��P
����v���ЬUХU�e�e#�[�[��o�U��6��P	ԭ��E���ЬUХU�e�o�[��=�U��
��P	ԭ��~ЬUХU�e�i �[�[���U�����P���PЬUХU�e�i �[�[���
�U����P���"ЬUݥ�e��
ݼ��|��P�߭��Z���P�����Џ����P�Э�U�U(�UD�]��V|2��U�PU�Y�Y�Y��@<��Uʏ���U�U���Y�Y�Y��<��Uʏ���U�U�@�Y�Y�Y��խ�
Џ��Џ����P@^Ѭݼ��		ݼ��P��~�~ЬUݥݬ������P[�[�[��ݬ������[P��߭�ЬUݥݬ���;�P[�[	�[P��խ���~�~ЬUݥݬ��1����P[�[�[5�[1�[�iЬUݥ��!߭����߭�ݬ�����C�~�~ЬUݥݬ�������P[�[$�[�R����[��ݬ�������[P�[�[�[�~�~ݬ���k�[Pl^Ѭݼ��Aݼ��T��P��߭�߭�ЬUݥݬ���n�P[�[	�[P��Z�Z���x�~�J��ЬUݥݬ��\�~�~ЬUݥݬ������P[�[=�[�[4�[�[3�[.ЬUݥ��߭��ﵛ߭�ݬ�������Z�|���ݭ�����[�~�~ݬ���j�[P�T^мV�YЏ���Ѭݼ���ݼ��N��P��������ЬUХ[�k�ޭĭ�ԭ�ԭ��W�X�k%K�[���[���kU�U%+�U'�k�\߭��[���j�P�����[�k���[֭��í���Z����u��%�[���Z����[�[�%��֭��[�k-	�-��֭��[�k0	�0��֭��[�kU��MZUʏ����U#�[����PX�[�kU��MZUʏ����U�&�k*!լ��ݽ������PX׬����[�X�X���	ݭ�������֭���k.	�.��֭��[�kU��MZUʏ����U#�[����PW�[�kU��MZUʏ����U�&�k*!լ�Iݽ���a��PW׬����[�W�W��f	ݭ�����֭���k#	�#��֭��[�k�l�[�k��֭����լ���k��Э�U�U�D%�U�G-�E�����Ue˼]�]�]�խ���Э�U�U�c*�U�g\�E�z���Ue"�˼]�]�]�Э�U�U�U�l�U�Xc�U�X�:ѭ��OJ�*Э�U�U�s�p�U�u(�U�x�U�x��ѭ��o���~߭�ݽ������P��ս����ݽ���ݼ��-����(Z��н���ݽ���+��PZ��~߭�ݽ���s��P��ս����ݽ���Eݼ��֗�q�Zm߭���$ݽ�����Pݽ����ݼ��;���Џ@Z�W
,�WZ'Џ"����k~��Oݼ��d���׬����[�XZ�XZ�ZYU�U��K�ZYU>E�B�������~��n��P���Y�Y�Vݭ�����ѭ���	�V����Э�VЭ���խ��Zݭ��VY~����ZY�VYU�e����խ�p��~߭��VY~�vݭ�߭��VY~�殺�VY~����PY�c����V�ѭ������ԭ�ЬUЭ���P)ݼ��!ݼ��_�ѭ���	�V��<��Pinvoked "%.50s" without enough argumentsbad field specifier "%c"format string ended in middle of field specifierexpected floating-point number but got "%.50s" instead%Fexpected integer but got "%.50s" insteadtoo few args: should be "%.50s formatString [arg arg ...]" ("foreach" body line %d)wrong # args: should be "%.50s varName list command" ("for" loop-end command) ("for" body line %d) ("for" initial command)wrong # args: should be "%.50s start test next command"bad "%.30s" option "%.30s": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writableisdirectoryisfileownedexistsexecutablewritable10readabletailextensionrootname/.dirnamewrong # args: should be "%.50s name option"wrong # args: should be "%.50s expression"command terminated abnormallychild process disappeared mysteriouslyerror reading stdout during "%.50s": %.50scouldn't find a "%.50s" to executeforked process couldn't set up input/outputcouldn't fork child for "%.50s" command: %.50scouldn't create output pipe for "%.50s" commandcouldn't reset or close input file for command: %.50scouldn't write file input for command: %.50scouldn't create input file for "%.50s" command: %.50scouldn't write pipe input for command: %.50scouldn't create input pipe for "%.50s" command: %.50snot enough arguments to "%.50s" commandspecified "<" but no input in "%.50s" command ("eval" body line %d)wrong # args: should be "%.50s message [errorInfo]"not enough args:  should be "%.50s arg [arg ...]"%dwrong # args: should be "%.50s command [varName]" ("%.50s" arm line %d)defaultextra pattern with no body in "%.50s"innot enough args:  should be%s "%.50s string [in] patList body ... [default body]"too many args: should be "%.50s"T^м��Ѭݭ���'"ݼ����P�ЬUХ������мU�e�t&�U����P���!ݼ�����P׬��Ѭ�м����׬լ
Џ&���AмU�e�e&�U����P��!ݼ����P׬��Ѭ�D���м��Э���߭�ݭ�ݬ��-�P[�[�[PJխ�Э���~�~ݭ�ݬ��I����P[�[$ЬUݥ��� ߭����߭�ݬ��-����[P�^Ѭݼ�� ݼ�����P�jЬUХ��ЬUݥ��p��PZЬU��U��MZUʏ����U�Z ЬUݥ��1 ݼ��P�Ѭ��Z0߭�߭�ޭ�U�U߭�ݭ�ݬ��
W�P[�[	�[P���Z�ѭ������~��o��P�ЬU��խ�ݭ�ݭ�ݼ��������U�e�ݼݭ�ݭ���dX�wѬ�����ЬUݥ�����P��[ЬUݥ�����PЬUݥ��ݼ��P)ݭ�����P���Z�����ZUмT�edмU���P�h^Ь[Ѭݼ���k��G��P�ЬU����ЬUݥ��C��P������a�ݭ���EЬUݥ����PlѬݼ����k����P�&ЬUݥ�[��P�P��խ�ЬUݥ���k�頋�P���XЭ�UХZԬ�����bkݭ���TЬUݥ��}��PPѬݼ���k��U��P�ЬUݥ�[��xO�P��խ��l���Э�UХk�P�i����c\ݭ���ЬUݥ����PAѭ�;Ѭݼ��[�k��݊�P� ݫD��=�k��Š�P�����cOݭ���ЬUݥ����P4ѭ�.Ѭݼ���k��z��P��XЫY�{����d��ݭ���|ЬUݥ��L��P��Ѭݼ���k����P�aЬUݥ�[��AN�P��խ��5���Э�UХZ�Z"ЬUݥݥ���k��щ�P�ߪЬUݥ��W��PH�j�~�jЬUݥ�[��IЏ��k�~��ЬUݥ�[��~IЏ��k�P�ЪZ�s�������e�oݭ���ЬUݥ��I��PTѬݼ���k��!��P�d�~ЬUݥ�[��H�P��խ��1��0��kU���P�1����gHݭ���WЬUݥ�����P-Ѭݼ���k�靖�P���XЫZ�����l\ݭ����ЬUݥ����PAѭ�;Ѭݼ��w�k��V��P��Xի �Z�Tл Z�J����l�=ݭ���/ЬUݥ����P�ѭ��Ѭ,ի 	Џ��kЫ Uݥ��J�k��χ�P�Ѭ��
߭�ЬUݥ��$��P��Э�UЬT�U��eЬUݥ���k��|��P�խ�ի �Ы U����խ��P�Ы ��խ�Э�Uѥ��Э�UХ���խ�����Э�Uݥݥ���R�Pk���P�Pݼ����k����P�5����pIݭ���ЬUݥ�����P.Ѭݼ��S�k�﯆�P���XЫY�����t2ݭ���ЬUݥ����P����k��D��P�����vOݭ����ЬUݥ��N��P4Ѭݼ���k��&��P�i�Xի ЫZ'л Z!ЬUݥ�e����k����P�5Ѭ
ЬUХV�Vޭ���WԬѬWN>G�0��W�WU�E�0�������P��ЬU�E�v0��ݬݭ���e�ޭ�UѬU
ݬ��m�Э���X�X8�X�Y�Y���I�PЩY��Y�hЬU�YE�ЩY0�X�Zˏ�����UЪZ��Z6ЬU�ZE�ЪZ�V�VЬU�E���X�P����֬����ݬݬ��P�Pk��ޭ�UѬU
ݬ����P�^Ѭݼ��@ݼ��P�ЬUХ��Ѭ>�[����x�~�~ޭ�U�U߭�ݭ�ݬ��
N�PZ�Z�ZPf���K�[�Ѭ����ЬUݥ��@��P��ЬUݥ����P�]���ݭ�����P[�[��aݼ����PѬݼ��Aݼ��ǃ�P!ЬUߥ��~��wO�P�ЬU���P�^ЬU�U�Uݼ��ݼ��z��P�&Ѭ
Џ�9[�ѬaЬUݥ��f��P��tЬUݥ��@��P ЬUݥ��/ݼ����P����ЬUݥ��v�P[���ЬUݥ���u�P[�[+��Ɗ��_��PЬUݥ��ݼ�ﶂ�Pf�[ЬUݥ��vѬ���f��:r�P��
�[���p�P��ѭ������$��[�����P��(ݼ��R��P�P�^Ѭݼ���ݼ��,��P�~ЬUݥ�����PXЬU��U��MZUʏ����U�X ЬUݥ��Xݼ��߁�P�1ЬUХU�e�e,�U�����P��"ЬUݥ����P	Џ����YMЬUݥ��>��PYЬU��U��MZUʏ����U�Y ЬUݥ���ݼ��X��P�Ѭ�ЬUݥ��Q��PZ�Z�Z��ЬUݥ��$��P�����ЬUݥ����PZ�XZЏ&���P�CЬU��X���Y������YZ�ZY�YXЏ&���P�ЬU��YU�U����Ѭ�W����ZЬUХ���ZX5�~�~ޭ�U�U߭�ݭ�ݬ��$J�P[�[	�[P�����Z��Y������ݭ�ݬ��O�P��YXЏ&���P�w�XZЭ����ZY/���*�~�~ޭ�U�U߭�ݭ�ݬ��I�P[�[�[P?�Z�Э�U���U��MZUʏ����U׭�㐽�����ݭ�ݬ��O�����PЬYѬݼ���ݼ���P��ЬU��ЬUݥݬ��<����P���~ЬUݥ�Y��(����PZ�Z ЬUݥ��Gݼ��*�P��~ЬUݥ�Y�������P[�[ЬUݥ���ݼ���~�PWЫ�ЬUݥ�����PU�U~����PZ�kjЫ�Ы�Щ��Z�ЬUݥߪ��|��[����PѬݼ��@ݼ��y~�PѬ�ЬUݥݬ���M�P� ^�Y�WѬݼ��
ݼ��0~�P�CЬUݥ��5��PU�U��ЬUХZ�j���j%���Z�j*�V�Z�V�jU��MZUʏ����U�Z��V��Yݼ���

ݼ��}�P��YU�E��[�Y�j�����U�U�X���U�[��U�[X���U�U�D���U�E���U�F���U�D������O������U�U�o�m�U�o@���U�U�c��U�f��E�z���Ue�����������U�U�x�U�xU����sH��dk��Z��sk����N��ck��D��Fk��:��fk��0��sk�����Z�j�]��j~��mݼ��-|�P�@��W�Z������U�YUЏ%���P��W��8��P���X�W���[�XY���W���W�X�[���H���<���0���$����ЬUݥݥ���{�P�����Y���Y�X���[�XY��k�����U�U�c��U�dF�U�f��U�f����F��&����s��ݻ��������{�~�����H��%��U�U��U�eݬ���:����Uˏ���U~��D�������z�~�����H�%��U�U��U�eݬ��:��~ݫ�H�l%��U�U��U�eݬ��:np�~��n������iz�~�����H�4%��U�U��U�eݬ��L:6V�~��6������1z�~�����H��$��U�U��U�eݬ��:�X�[�s���������������bݼ���y�P�^Ѭݼ��ݼ���y�P�DЬUݥݬ��d�PX�X	�P�#�~�~�X���W�P[�[ ЬUݥ��+ݼ��ky�P��߭��[���V�P�����)ЬUݥ���ݼ��6y�[���T�P����~��\��PZݭ��Z�[���W�P��%ЬUݥ��qݼ���x�[��T�Pi�[��T�Z��U�e߭��~�Zݬ��ս���PY�Y�Y�Y-ЬUݥЬUݥ�����x���x��x�ݬ������Z��f��YP�Ѭݼ��ݼ��Wx�P�ЬUݥ��\��PY�Y��gЬUݥ��3��P@ЬUݥݥ����PX�X
Џ����X
ЏW��Џ����P��Y��ЬUݥ�����P	�W��Y���ЬUݥ����P�Wk�Y��ЬUݥ����P/ЬUݥݥ��EK�P
Џ���Џ����P�ЬUݥ�e��,ݼ��@w�P�pЏ����XЬU��ZЬUݥ��6��PYЬUХ[�k0�kZ%�Y�[ЬUݥ�����PЬUå[X�W�[��X��Eݼ���v�Pl^Ѭ���`Ѭ>߭���ЬUݥ���v�P>ЬU�eݥ��?ݼ��vv�P��ݼ���ݼ��Zv�P�߭���WЭ�Z�ZN�~�~ЬUݥݬ��D����P[�[.�[$ЬUݥ��߭���v߭�ݬ��$����[PK�Z�߭���Ví��U�U�@B��n�ح��~�~ݬ��5En��TgT��~��ݼ��u�P%.0f microseconds per iteration ("time" body line %d)wrong # args: should be "%.50s command [count]"bad count "%.50s" given to "%.50s"bad "%.50s" option "%.50s": must be compare, first, or lastmatchlastfirst-1comparewrong # args: should be "%.50s option a b" (file "%.50s" line %d)error in reading file "%.50s"couldn't stat file "%.50s"couldn't read file "%.50s"wrong # args: should be "%.50s fileName"%gdifferent numbers of variable names and field specifiersbad scan conversion character "%c"can't have more than %d fields in "%.50s"too few args: should be "%.50s string format varName ..."too many args: should be "%.50s [value]"can't rename "%.50s":  command doesn't existcan't rename to "%.50s": already existswrong # args: should be "%.50s oldName newName"endbad range specifier "%.50s"wrong #/type of args: should be "%.50s value first last [chars]"I/O error while writing: %.50scouldn't open "%.50s": %.80swabad option "%.50s":  must be "append"appendwrong # args: should be "%.50s string [file [append]]"not enough args:  should be "%.50s arg [arg ...]"wrong # args: should be "%.50s value [chars]"bad "%.50s" option "%.50s": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or varswrong # args: should be "%.50s vars [pattern]"vars3.3tclversionwrong # args: should be "%.50s procs [pattern]"procswrong # args: should be "%.50s level [number]"bad level "%.50s"levelwrong # args: should be "%.50s locals [pattern]"localswrong # args: should be "%.50s globals [pattern]"globalswrong # args: should be "%.50s exists varName"exists01procedure "%s" doesn't have an argument "%s"wrong # args: should be "%.50s default procname arg varname"defaultwrong # args: should be "%.50s commands [pattern]"commands%dwrong # args: should be "%.50s cmdcount"cmdcountwrong # args: should be "%.50s body procname"bodyinfo requested on "%s", which isn't a procedurewrong # args: should be "%.50s args procname"argstoo few args:  should be "%.50s option [arg arg ...]"bad argument "%s":  must be "chars"charsbad index "%.50s"wrong # args:  should be "%.50s value index [chars]" ("if" body line %d)elsethenwrong # args:  should be "%.50s bool [then] command [[else] command]"�^��R�S�R-Џ������֬��R����R0�֬��R�R�x|֬��R�RU�U0�U9xSU�RT�0T�TUSܘRU�U�a �U�fxSU�
U�RTaT�TUS��RU�U�Al�U�FcxSU�
U�RTAT�TUS��RU�U0D�U7?~C���U�RT�0T�TUS֬��RؘRU�U0�U9�S
U�RT�0T�TUS֬��R�լЬ�ŭ�SP��^ЬUХ[�kZ�ZU��MZUʏ����U�[�kZ�ЬU�[��ZY�Y!��Y?��I����Ue��Y�Y�������Y�t�������Y���Y�������������������������Y����J����Y�����Y�|��Y�~��Y�~��Y�[���Y�^�L�ЬUԥЬU�UXߥ�[������P��P�ЬUԥЬUߥ�[�e���*�P��խ�	�P�ZмUեHЬUԥ�P�B߭�ݭ���=���ЬU�P�Э�U�U���eCЬU��ZЬU���~�~ݬ��.9ݭ��[��]	ݼ��iЬU�Z��P���P��ЬUԥЬUߥ�߫�e����P��խ�
Э�P�ЬU֥мUեHЬUԥ�~�~ݬ��8�P�x߭�ݼ��s���ЬU�P�Э�U�U��eGЬUХU���ݼ߫��p��,����hЬUХU�Z�����,�ݬ��C8�P��~�~ݬ��,8�P��ЬU���P��ЬU���P��ЬU���P��ЬU�	��P�ЬU�
��P�ЬU���P�ЬU���P�ЬU���P�xЬU���P�h��X�X<�X=&ЬU�[�ЬU�
�ЬU�[�ЬU��ЬU���P�"��W�W=�W>&ЬU�[�ЬU��ЬU�[�ЬU��ЬU���P����=ЬU�[�ЬU��ЬU���P���=ЬU�[�ЬU��ЬU���P���&ЬU�[�ЬU��ЬU���PeЬU���PY���|ЬU�[�ЬU��ЬU���P3ЬU���P'ЬU��ЬU�[��PЬU�[�ЬU���P��^ЬXԭ�ݬݬ������PY�Y	�YP�<ЬUѥaݏ����ݬݬ������PY�Y	�YP�ЬUѥ���~�~ݬ��5ЬUݥ��ݼ��/f�P��ЬUѥЬU��ЬUѥxЬUХ[ЬUХT�D�G�Uݬ��-����PY�Y	�YP��[�[�['.ЬUΥ�#ЬUե�W�WЬU�W�	ЬUҥ����ЬUե�խ�ݬݬ�������PY�Y	�YP�ЬUХZЬUХ[�[�[�[�[��P���K��F��P���[�Z	�['�Z#֨H�K�Fݬݬ��9����PYרH���[���Z[�K�Fݬݬ��
����PYЬUХZ�Y	�YP�WЬUѥ�֨H�K�FFݬݬ�������PYרHY֨H�K�'Fݬݬ������PYרH�Y	�YP��ЬUѥ���K��Eݬݬ��u����PYЬUХZЬU�Z��K��Eݬݬ��L����PY�Y	�YP�ЬUХU�U�U�U�U�X�[�i����[�^����K�����Ue������:�H�X�k�~����������8�K�Y�g���ЬU�Z������ЬUե�~��ݬ��2�P��ЬUǥZ������ЬUե�~��Tݬ��2�P�ЬUǥZ~ĥnÎZ�����ЬU�Z�����ЬUåZ��o���ЬUХTxTZ��\���ЬUΥTxTZ��I���ЬU�Z��W�WЬU�W��*���ЬU�Z��W�WЬU�W�����ЬU�Z��W�WЬU�W������ЬU�Z��W�WЬU�W������ЬU�Z��W�WЬU�W�����ЬU�Z��W�WЬU�W�����ЬUҥT�TZ��|���ЬU�Z��n���ЬU�Z��`����ZЬUե�W�WЬU�W��>����Z	ЬUե�W�WЬU�W������~�~ݬ���0ЬUݥ��zݼ��Xa�P�^Ь��Ь��Ь��ݏ����߭�ݬ��s����P��խ�Э�P3ѭ�&�~�~ݬ��z0ݬ��ݼ���`�PЭ���Psyntax error in expression "%.50s"divide by zerounmatched parentheses in expression "%.50s"command "%.50s" returned non-numeric result "%.50s"variable "%.50s" contained non-numeric value "%.50s"�^ݬ��-��PZЬU�Z�U��U�U��ЬUѭ��gЬUХU>E�
����ѭ���Э���ݭ�����P��ЬUݥ�eݭ��ЬUե
ݼ�Э��ЬUЭ��ЬU��ЬU�e�[ЬUե� k�[ЬU֥ݬ�[��<��Z[ݬݬ�[�ﮬ�[�U�eЬU�Z�T�T���^�W�Y�XЬ[�kZ�ZU�U/@�Z�{�X�[X�Z�}�Y�[Y�ZU�U*�U�[�U�\�U?�W�[��X���YЏ����P�sݬ��ɪ�P��ѭ����$���ݭ���Ь�P��ìX��ݭ�ݬݭ���ҫ�X[�X[�k�}l�[��Э�[�kU�U�}	�U,�[�í�[��ݭ�ݭ������~�ߩ�����U�U��~����ݬݭ�ݬݬ�������P��P�ѭ��
ݭ���֭�P��W�����ݬ��n>�P<��Uʏ���U�U�@�P�aݬ���;�P��խ�+��|e��^�Pݬ��ݼ��p]�P�#ݬ��y��P��ì[��ѭ����8������~��y��P��ݭ�ݬݭ�������U�e�Vݭ����;�P��խ���Э�U��.���.�ݭ�Э�Uߥ��0�P��kݬЭ�U2�~ߥݬ������Э�U2�U���U�U�U���� ���Э�U2�U���Uߥ��Ǫ�P��Э�Uߥݬ��ݭ���e\ݬ߫ݭ�ݬ������PV�� �Uѭ�U
ݭ���*��V������8�Uѭ�U
ݭ�����VP���kݬЬU�U[~�Uݬ�������ݬ����P��ì[U���U�U��ѭ�����,���ݭ������P��ݬݭ��ЬU�U[~�U�����~������U���U�/e���U���U�eݬ߫ݭ�ݬ��/����PV��,�Uѭ�U
ݭ���?��V�P�P�^ԭ����~
ЬP�aЬU��U�U/�U:����8�PY�Yݬ��Vݼ���Z�P�!��[���[�kU	�U/�[���U�U[Z�Z�O=��F=Z�ZЬUߥ��:=��o���-=ZU�e��#=��l8�P��խ���
=��ݼ��eZ�P�Э�UХY����Y��d��PX�[��X��PXZ�Z��<6���<��w
��<����Z�<��<��D��P�<�Y��<��Ʀ�[��z<���խ���;��a<P�^��(���Џ���ԭ�ԭ��[�[�i�K�Y�i�~�Yݬ��G����PY�Y	�P��i/߭�ߩ��ݬ��&����PZ߭��Y��ݬ������PZ�ZC�[�խ���Hݼ��"Y�Z%խ�Э�ЬU��
ݭ�ݼ��إ�Pխ�
ݭ���٨�ZPno files matched glob pattern(s)/user "%.50s" doesn't existcouldn't find HOME env. variable to expand "%.100s"HOME%s%s/couldn't read directory "%.50s": %.50sunmatched open-brace in file name�^Ь[ի$��[��	�[��:��U��MZUʏ����U֬畼�~�~ݬ��>'�P�֫0֫,ѫ,�$ԫ,Ы,U~E���U��(UZݬ�﷣�PY�YU��U�e
�Y�ߩ�Z��	�Yݬ�j��ͤ�jYU�eѬ������P/Ы8��Ь�8�~ɏ�~ݬݬ��Q����P��Э��8Э�P��^Ь[Ѭ@���[��r�PZ�Z	�P��j�[��
�~�~�jݬ�������tЬU����ЬUݥ��ޢ�PY����a���Y��<ЬUݥ�﨣�P�ЬU�U �Uݼ����k��rV�P�Ѭ`ЬUݥ��q��P��ЬUݥ��K��PЬUݥ��f�k��%V�P��~ЬUݥݬ�������ݏ����ЬUݥݬ�����������c��Y��ЬUݥ��Ϣ�P�ЬU�U �Uݼ���k��U�P�+ѬЫ,U~E�W��U��(UZ�[��
 ЬUݥ�[���
�PZ�Z	�P��ЬUݥ��\�ߠ�Z��`ЬUݥ�j����P�����e��Y���ЬUݥ����PtѬݼ���k���T�P�oѬ	Џ�XЬUХX�X�[��
�PZ�Z	�P�=�j�[��+��jݬ���#�P�����i���Y��)ЬUݥ��j��P��ЬU�U �Uݼ����k��4T�P��ѬO�~߭�ЬUݥ��.��P��ЬUѭ��ЬUݥ��s�k���S�P�ѭ��$Ы$��Ы$���Y�V��,U��$Uí�UW�V��W�W�$«$W~G�(U�eX�X�ﺟ�	PU�UY�
�X�����PX�X�Y�X�~G�(U�e��	PU�UY�V�W�ߩ��PX�Xk���V��,U��$Uí�UW�V����W�$«$W~G�(U�e�����~��0U�V��T�TU~��{�X���R�X�
ݭ���\��P��խ�*���Uí�U��ݭ�ݭ��X��'��������X�	h�X�ݭ��X��X�゙�PX�
h�X�V�W�R�������P� ����k��Y���ЬUݥ��n��P�Ѭݼ���k��@R�P���~߭�ЬUݥ��@��P��ЬUѭ�Э�U�U���UЬUݥ��)�k���Q�P�Э�UE��������P��ѭ�$��,Uí�U��խ�
��$����,��ԭ�ѭ���pѭ��$ԭ�ѭ��$"Э�U~E�(UЭ�T~D��T}edЭ�U~E�(U�e5�(�著Э�U~E��U�PeЭ�U~E��U��Э�U~E����U���U�(�֭�֭��ԭ�ѭ��$$Э�U~E�(U�eЭ�U~E�(U�e����֭��ݫ(���Э�(ѭ�$���,��$�,Э�$�P�m����nW�Y���ЬUݥ�����P=Ѭݼ���k��P�P�+��0~���k��|P�P�����r��Y��ZЬUݥ��]��PtѬݼ��
�k��5P�P��Ѭ	Џ�XЬUХX�X�[��r�PZ�Z	�P��j�[���~�~�jݬ�������t����s��Y��ЬUݥ��œ�PvЬU�U�Uݼ�� �k��O�P�$Ѭ	Џ�XЬUХX�X�[����PZ�Z	�P��ЬUݥݥ�j�[��������w��Y��
ЬUݥ��%��P�ЬU�U �Uݼ��<
�k���N�P�Ѭ	Џ�XЬUХX�X�[��,�PZ�Z�PSЬUݥ�j�[��z�P��խ��P3ݭ��[�� Э�k���PЬUݥ�e��N	�k��hN�PЬUЬ�$ЬUE�&����ЬU�P�(�[�[�9�(��r�ЬU~K�(U�PeЬU~K�(U��~K�����UЬT��(U�(��[�ЬUԥ,ЬUԥ0�~�~�������ݬ��P���ЬUѥ�!ݼ�ﭝݬ�����P�ЬUЬ�ЬUХ4[�Z�[�ЬU�kT�eT;ѥT5мkЬUХ�ЬUХ�ݫ��L�ЬUХ�ݬ��9�iЬU�ek!ѥ�ЬUݥ���ݬ���?Ѽk
�[ZЫ[�p����ZЬUЬTХ4�ЬUЬ�4ЬUЪ�Ь�ЬUե<ե8\�����P[ЬUå8�<kЬUå8�@U�U�ݬ�﷘�P���~��Ϛ�P�ݬݫ��V��[ݬ�������^ЬUե<ե8�ЬUХ<ZЬUХ@YЬU�Z�8u�Z�j�[�jU��MZUʏ����U�V�i�]N���K��P[ЬUå8ZkЬUå8Y�Ь��߭�����P�ݫ����P��[ݬ�������^ЬUե4��ЬUХ,T~D�u���T��(TZ�j�流�PVЬUХ4[�[��U�kU�UV��VЫ[��V�陵�P��Э�Y�WЬUХ4[�[K�WkX�X�X�jW~�Y��XYݫݫ�Y���Y��Wݫ�����[����Ы[��jW~�Y��ϗ�j��ښЭ�j�V�ЬUԥ4ЬUԥ8ЬUե4/ЬUХ4Uݥ�連ЬUݥ4�ЬUХ4TФ�4��^��U��MZTʏ����T�U-��~߭�ݬ����PX���ݬ��ݼ��JJ�P��XЬU��0XЬU�X�0ݬ��ݼ��J�P��ЬUå$�0U�XU�Xݬ��jݼ���I�P�ЬUå0XT�T�,Z�ZЬU��$Z~J����UЬT��(UPݬ��ȕ�PYЬU��,Z�ZЬU��$ZЬU�Z�,<~J�Y���UЬT��(U[�Yݬ�k��u��Pݬ�k��'�P�[P�Z�ݬ��ݼ��9I�P��^ݬ��C��PYݬ��6��PWЬ[�Xݬ�[�參�P[�[�Y[�X��Xݬ��$ݼ���H�P�ݬ����YWU�XU�UP�����~�����PV�VZݬݬ��@��P[�[ݬ�Z��i�1ЬU�U[~�U�Z��ؕì[U�UZݬ�Z��@��WZ�[Y���Vݬ��r����~�~�Vݬ��X����P���V��!�Э�P��^ԭ��WЏ����V��$ЬU���Џ����W���U��MZUʏ����U~�~߭�ݬ����PW����WVN���-H֭����$֭�/���U��MZUʏ����U�T�~ޭ�U�Uݭ��樂�PV����4�WV�V������ Ь��ݬ��t�ߠ��P��Э�YЬ[�kU��MZUʏ����U�[��X�k��[���~�[��.�PZ�Z[�kU��MZUʏ����U�[��WX
�W������k]�V������VXMխ�"�j��jݭ�ݭ����P���jխ�&�Y��� i�YЭ�U�UZ~�U�Y���í�ZU�UY�X�Q����i�VX�WX!ݭ���T�ݬ��dݼ��QF�PЭ�Pݬ��ݼ��4F�Pbad word selector "%.50s":  should be num-num or patternword selector "%.50s" specified non-existent words"%.50s" doesn't appear in eventno event matches "%.50s"event "%.50s" is too far in the pastevent "%.50s" hasn't occurred yetbad event number "%.50s"historybad "%.50s" option "%.50s": must be add, change, event, info, keep, nextid, redo, substitute, or wordswrong # args:  should be "%.50s words num-num/pat [event]"wordswrong # args:  should be "%.50s substitute old new [event]"substitutetoo many args:  should be "%.50s redo [event]"redo%dwrong # args:  should be "%.50s nextid"nextidbad number "%.50s"wrong # args:  should be "%.50s keep number"keep%6d  bad count "%.50s"wrong # args:  should be "%.50s info [count]"infotoo many args:  should be "%.50s event [event]"eventwrong # args:  should be "%.50s change newValue [event]"changebad arg "%.50s":  should be "exec"execwrong # args:  should be "%.50s add event [exec]"add-1��^Ь[Ѭݼ����k��CB�P�����u��PZ�[jЬUݥ��9�ߠ��W��P�ЬUݥݪ��ڎԪ��}�Z��ЬUݥݬ��V���߭�߭�ЬUݥݬ���PX�X	�XP�L�Y�Y���#߭�߭��I��ݬ��W�PX�X�ѭ��I�����
�k��mA�X��խ�н�U�eЬUݥ��x
�k��AA�X��ݽ���J��P��ѭ�Э�Uݥ��2��PV�Vժ���U�VU�U~��;��PW�W����U�VU�U~����P�ЧWݽ�ߧ�ѭ��WU���U�UgЭ�Uݥ�g��g�V�ԧԧݭ���|��Y�����ݭ���j��P
ݭ���\��XP�^Ь��լ	Э�Uե ݬЭ�Uߥ���P[ݬЭ�Uݥ ����P[�[�P!ˏ�����UЫ[ˏ�����U�P�kP�^ЬYլթ �YZЩ Zݬ�Z���P[�[ݬݬ����P[�j��[j`ˏ�����UЫ[ݬ�ﶋ�P��ѭ��,ˏ�����U	�k��k����~�ﳍ�Pk��Э��ݬ�k��3����^֬���{6֬Ь[��U�U�}	�U֬�լS�����FЬ�?Ь[��U��MZTʏ����T	�U�_֬�լЬ�Ѭ[	ЏTPE�������~�[ݬ��P����PZ�Z �~�~ݬ���[��ݼ��>�����ZP�^ѬA�~ЬUݥݬ������P��խ�ЬUݥ��aݼ��J>�P?Э���P6Ѭ�~ЬUݥݥݬ��$����Pݼ���ݼ��	>�PЬZѬݼ���j���=�Pxժ �Po׬��լaݼߪ���PY�Y ��Vݼ����PYЪ��Y�����6ݼ���P[���Y�к ��[� ׬����P�D^Ь[Ѭݼ���k��C=�P�uЬUХX�h#3�
߭�ߨ��:��PYЭ�U�XT�UT�e�+����p�hU��MZUʏ����UB�
߭��X�����PYЭ�U�UX�e��ի ��Ы U�Y�Y����ի ��Ы U��Y׬��Ы ���Yԫ $Э�Z�ZѪYЪZ��Z��Z� լ�����Ѭ�~�~ݼݬ��P����PW%ݬݬ��.�P���~�~ݭ�ݬ��)����PW�W$ЬUݥ��O߭����;߭�ݬ��
���Э�� �WP�X���k���;�P�~ݬݬ����P[�[�P�k���PЫPѼ��
ЬUХP�PЬUХ[�[#ˏ�����U	�k��J��[��A�Ы[���^ЬYмYԭ�թ Щ U�������Ь��Ь��Щ��Щ ��ޭ�ޭ� ЬUХ[��W׬�[�իQ��߫��t��P=լԬ�Wݬ���PX�X߫����PZ�X�Э��Z��ԬYլ�gX'�k�kXݼ߫���i��k:�V��X߫��r�PZЭ��Z��Ы[�W׬�G���լݼ���i��#:�Vl߭��~ЬUݥݬ��"���PV�V�VJ�V%ݩݼ��߭����9߭�ݬ������ �VЏ�i�V�V
Џ�i�VЭ�Z�Z#ˏ�����U	�j��Z��}�ЪZ�Э��Э�� �VPЬUݥ��X�ЬUХ[�[#ˏ�����U	�k��8��[��/�Ы[�ݬ�����Y�[мZ�Z7��Y(ݬߪ�鉶�P�[Ъ�м��Z��ZP�Z[ЪZ��Pݬ����PYݬ����PZ�Z�Z�YU�ZU�U~����P[ݬ߫��z��[U�YU�Ukݬ�k��c��Z�ԫԫԫ�[Pinvoked "continue" outside of a loopinvoked "break" outside of a loop (procedure "%.50s" line %d)called "%s" with too many argumentsno value given for parameter "%s" to "%s"argsbad level "%.50s" ("uplevel" body line %d)too few args:  should be "%.50s [level] command ..."too few args:  should be "%.50s varName varName ..."wrong # args: should be "%.50s varName [newValue]"couldn't find variable "%.50s"$procedure "%.50s" has argument with no nametoo many fields in argument specifier "%.50s"wrong # args: should be "%.50s name args body"�^�Z��U��MZUʏ����U֬瑼�{�Z֬լ�Z�Ь[�kY�Y�\���Y�\<�Y	���Y
���Y
�Y���
�Y �����Y�{�Y�}���Z���Z���Z�wì[���[�kU��MZTʏ����T�U��[X�hU��MZUʏ����U
�[U�XU�X��~�~ݬ���[�[X~��ݼ��5�P��ZI�ZE߭��[�����U�U[/�Z+ì[��+�Z�~��Aݬ��;�P<ì[���[�����kU��MZUʏ����U�[�Ь��[�լЭ���P�^��[լ>�[�\%߭�ݬ��u�P����U�U����U�U��[�֬֬��[׬����p^Ѭޭ�VЬU�E�������U��PV�W�X�X��}ԭ�ԭ�ԭ�ԭ��Yԭ�ԭ��H�[�k�{�Y�k	�Y�
�k���U�U$��U$B�U�U	��U
��U
խ����ѭ� �t�Э�U�U�{=�U�}@�U�}�Э�U�U�[,�U�\;�U�]�a֭�֭��U֭�׭�M�Y֭�E�Y֭�=�Y֭�5�[�k5�kU�U�{�U�}�U�[	�U�]�Y֭��[������H�[U�UWխ������U���U���U���U�UW�Yˏ����YU�W�W�YHf�X�w���ߧ�ﻀ�P��Э�Z�X�X��F�HfYˏ����YU��{j�Z�H�[�k�ˏ����YU���k��Э�U�U�[�q�U�\��U�]�S�U�].Э�U�U A�U Э�U�U	K�U
:�ѭ�$"�}Э�U�U�{�U�}�a��\j�Z�U��\j�Z��njL��\j�Z��tj@��\j�Z�[�kU�U�{�U�}�U�[	�U�]��\j�Z�k
�kj�Z�[�����ˏ����YU��}j�Z� j�Z�X�����Z���j���ޭ�U�VU	�V���Э�P�Y�Z�Z��J����|�PU�UY�Z��Y���PX�X[�Z�Z�$�J��[��}�J����|�P[� k�[�Z֔���XP�^Ь[Ы���k��լ��X��X[kԫ�bլ	ЬkԫTѬ
Ьk��Dݬ��Y|�P��ѭ�����~��g~�Pk����X[kԫݬ�k���|խ�
ݭ�����^��R����bS�S�M��S�ML�S;���S;'�S ���S"���S$���S�C����S�n��S�nT�S�[�}�S�b-�C����UeE'E'E'O'O'O'O'\&�S�eU�8�S�{��S�}��S�}��S�r-�S�t.������v����l�
���b�
���X�	���N�R�bU��MZTʏ����T�U��C������&����b�M=�R�bU��MZTʏ����T�U
�
��������bUʏ����U���U����������b�����R�bU��MZTʏ����T�U��M������������b����b����bU��MZUʏ����U�k�0b���R�bU��MZUʏ����UX������U~E�m���U�bT�0T�TU���R�bU��MZUʏ����U&������U~E�;���U�bT�0T�TU��	��\�����լЭ�����P��^�WЬ[�k�kU��MZUʏ����U�W�[��WU�E�����Uì[T�TUߥ��:{�PX�Z�WU�E����U�XU[���߭�߭�ެU�U߭�ݬݬ��s����PY�Y�X��|�YP�n���]�ZW�~���ݬ�������PK�[Jhխ�ݭ�ݭ��[���y���[�k�[�[ݭ�ݭ����������U�U[�Z�\����X��Z��P����	�P�9�P�1����*�P���*=֬��	�P���ݬݬ������P	�P��֬��P����?�����[�֬��U�U�]�U�P�����YЬU��-FЬU��[�[�P�{��U��T�UT
�[U�UT$��U��T�UT
�[U�UT
��֬������U�U�]'�U#֬ꑼ�\֬���P����P֬֬�����^Ь[�kU��MZUʏ����U�[�k"!�[�k�\߭��[��������[�k"�H�k�{B�Z�Z;�[�k�\߭��[��������[�k�}�Zؑk�{�ZΕk��[P��k�[3�[�kU�U�]�U��[��O����P[�k;��[ّk�]��[Ǒk�\��
�[�߭��[��������[ݑk;
�[�2�[.�kU��MZTʏ����T�U�k�]լ�[�g����[Pinternal error in Tcl_SplitListunmatched open brace in listlist element in braces followed by "%.*s" instead of space���
�����`ЬU�UY	������U�EiU�UX	�����h-0ЬU�UW	������U�EgU�UV	�����Џ����PЬU�UY	�����G��kU�Ei��0u�P��VЏ����PЬU�UY	���b��6U�EiU�UX	���I�X� U�eU�U[�U�20�[:�[~ݬ��t�PZ����/ЬU�UY	�����[���i����u����U�UY�U�ЬT�TX	�����U�EhU�UW	����WYU�e
��o��l�?P�ZU�UY�UZ	�#��u�i:�ЬU�UY	�$��X��,U�EiU�UX	�$��?��U�XU�eJ��U�UY���
ЬT�TX	�%���IhU�UW	�%������
U�WU��.���
U�U�
�U�B��
/ЬU�UY	�'���[�� �i��O��/��l��q
�?P��c
U�UY��Y
ЬT�TX	�+��m�Ih�W.��<
X��3
U�UY�U�(
ЬT�TX	�.��8��
U�EhU�UW	�.���WYU�e
���	���	���-�[P�^ݬ���	��.��8����%��8����q�P��8��������qnull pointer dereferenced @%s:%d
getopt.c: option requires an argument -- : illegal option -- %s%s%c
--Ь�&	�^��	UǏȭU��ǏȭU~ďȭnÎU��ŭ����Uŭ��G
T�TU[�[	�[�������[�����P�����Ǐ�P~ď�nÎPP��w���nPTeT�9PǬ����~ĬnÎ����[��L����PZ�Z[�ǬZ~ĬnÎZP1Ѭ�Ь[Ь[�[P�!�v��xv�P��@��)�_v�^߬ݬ���^�Z�Y�����}�P��������/ݬ��Kp�P	���PЭ�P�P[��|�ݬ�[����P[ݬ��|������+P�P@I(((@�((((((((((((��[��Y�
�T+��K+Џ����Pq��I�|���|�̀���x���x������x���|�P��x�Q�QQ�QQ�QP��x�Q�A�`���|������[���Z�Z��Z��12��Y1n��^Ь[ЬZЬY����k�k:�ѬY�/�����j��i�k�[�[P�P���t�Q�P��t�P�^Ь[��A�Z�j�P݊�[��
�PY��YP�^Ь[ЬZ���=�ZP��=��k���k��P�^�� ���P[�kݬ��n�P���1�[P���QP���s���sݏ���o�P[��)	�[��zq�P�ݬ������Pk�k������ԫԫԫ�[P�*�sЬR�P��Qb�P��psЬ[իѫ�K֫ݏ��[~�k�����P�իݏ��[~�k�����P�ի�Pԫ�[P��P�`�[P��PZ��C�
�CP��Q�QP�0P�C�jP��MZ�<�sC�nC�j	(�Z�Y���x��Y��Y�����������[P�PZ�1/���x�Y�*C���C�[P�PZ�ѫ����CP�^ԭ�լ1�ݏ������P�����C����P;ݭ����*�խ����d��P��k�ݭ������Zݭ���u�Nԭ�խ� ѭ��í����­��¬�������!������P��ݬ��.���-���^���?C�����q�P�
ЬQ�Pa�#�+�`q�
�Pq�P��@qլ�Q���(q�����'�������P��
��������������Ь[�[�[	���U�k$�[	���D�k:�[	���2�k
��[	�!�� �k�[U�UZ�[�U	�!���j�[	�"������[PЬ[�[�B�[��l����P[�[��`����P[�[��u�P��A�[��D����P[�[��u�P��A�[��(����P[�[������P[�[�A�[��	����P[�[�A�[�������P[Џ,yP������n��w�P�l�P��aݏ��]A����P[�[�P�[������^ݬ��,��.��8�����8���i�P��8�����������hnull pointer dereferenced @%s:%d
posix/getpwent.cr�~��Q�^ЬU�UZ�U	���	��[�[�P�[�E�K�Ue�8�89�8�9�89ЬU�UZ�U	���,	��Џ����Pݬ��p��ЬU�UZ�U	����ЬU�UY�U	����ЬU�UX�U	��������ЬU�UZ�U	�����Uʏ����U�U\ЬU�UZ�U	���ЬU�UY�U	���Щ�ЬU�UZ�U	���iЬU�UY�U	���UЩ�-ЬU�UZ�U	� ��:ЬU�UY�U	� ��&Щ���;���o������f��&�ЬU�UZ�U	�'�����Uʏ����U�U��ЬU�UZ�U	�(���ЬU�UY�U	�(��ЬU�UX�U	�(������ЬU�UZ�U	�)��ЬU�UY�U	�)��rѪ��2ЬU�UZ�U	�*��Q��Uʏ����U�UUЬU�UZ�U	�+��.ЬU�UY�U	�+��ЬU�UX�U	�+�����~ݩ��?k�P� ЬU�UZ�U	�-�����Џ����PЬU�UZ�U	�0��ժ ЬU�UZ�U	�1����Џ����PЬU�UZ�U	�4��ЬU�UY�U	�4��lЬU�UX�U	�4��X����ЬU�UZ�U	�5��=����ЬU�UZ�U	�7��ЪU�UY�U��U	�7����i��ЬU�UZ�U	�9�����Uʏ����U�U�ЬU�UZ�U	�:��ЬU�UY�U	�:��Ѫ��ЬU�UZ�U	�;��ЬU�UY�U	�;��vé���ЬU�UX�U	�<��[��Uʏ����U�U!ЬU�UZ�U	�<��8��~�j��g���ЬU�UZ�U	�=��ЬU�UY�U	�=��ݭ�ݩ�j������P�� ЬU�UZ�U	�>�����Џ����PЬU�UZ�U
ݏA��ЬU�UY�U
ݏA��Щ�ЬU�UZ�U
ݏC��ЪU�UY�U��U
ݏC��d��iѬ
�-ЬU�UZ�U
ݏE��<ЬU�UY�U
ݏE��$é���ЬU�UX�U
ݏF����Uʏ����U�U%ЬU�UZ�U
ݏF�����~�j��
���խ�iЬU�UZ�U
ݏG��ЬU�UY�U
ݏG��ݭ�ݩ�j������P��$ЬU�UZ�U
ݏH��o��Џ����PЬU�UZ�U
ݏK��KЬU�UY�U
ݏK��3Щ��ЬU�UZ�U
ݏN��ЬU�UY�U
ݏN����YUѪU��ЬU�UZ�U
ݏO������ЬU�UZ�U
ݏP����Uʏ����U�U%ЬU�UZ�U
ݏP����~�j�����ЬU�UZ�U
ݏQ��gЬU�UY�U
ݏQ��O�ݩ�j��Q����P�ЬU�UZ�U
ݏR����Џ����PЬU�UZ�U
ݏW���ЬU�UY�U
ݏW���Ѫ��uЬU�UZ�U
ݏX��ЬU�UY�U
ݏX��é���ЬU�UX�U
ݏY����Uʏ����U�U%ЬU�UZ�U
ݏY��_��~�j�����խ�iЬU�UZ�U
ݏZ��5ЬU�UY�U
ݏZ��ݭ�ݩ�j������P��$ЬU�UZ�U
ݏ[�����Џ����PЬU�UZ�U
ݏ^���ЬU�UY�U
ݏ^��Щ�ЬU�UZ�U
ݏ_��ЬU�UY�U
ݏ_��ЬU�UX�U
ݏ_��g����ЬU�UZ�U
ݏa��HЪU�UY�U��U
ݏa��+��iЬU�UZ�U
ݏc����ˏ����P�^ݬ�����0��8������8����^�P��8�����������^null pointer dereferenced @%s:%d
stdio/_IO_putc.cЬU�U[	���^��P�P�P9MЬU�UZ	���<ЬU�UY	���*թ�[�[�[�ЬU�U[	������^ݬ��(���.��8������8���^�P��8�����������]null pointer dereferenced @%s:%d
stdio/clearerr.c�^Ь[ԭ��[	�����Џ����P�[��!�P�����Џ�������[	�	����Uʏ����U�U�[	�	��mݫ��!a�[	�
��V��Uʏ����U�U"�[	�
��:�k������PЏ�������[	������[	�����Э�P�^ݬ������.��8�����8���\�P��8���������\null pointer dereferenced @%s:%d
stdio/fclose.c�^Ь[�[G�ZЏl9[/�[	�
��g���[�������P�����Џ����Z� [�[�lI��ZP�[	���+��Uʏ����U�UЏ����P�[	�����P�P
�P�P�PЏ����P�[	������Uʏ����U�U�[	����ЫY�[	���ЫY�[	���ëY��խ�H�[	����[	���wݭ�ݫ�k��4����P���[	���U��Џ����P�[	���<�[	���/�[	���"ЫU�U��U��[	���	���P�^ݬ������0��8�����8���Z�P��8���������Znull pointer dereferenced @%s:%d
stdio/fflush.c��^Ь[ЬZЬY�[W!�WU�UV�W�U	�	���Xf�Z�X
z�Zu�Y	����Y	���ѩ��Y��2��PV4�Y	���nЩU�U��֩�U	���VЭ�U�eUˏ���UV�VX�V������e����X������W[
�Y�� ��P�P�Z�W	����g�[P�^ݬ��|���.��8���C
��8���TY�P��8����-�����&Ynull pointer dereferenced @%s:%d
stdio/fgets.cЬ[ЬZЏl9Y#�Y	���"���Y�Z�[���� Y�Y�lI��P�^ݬ������.��8�����8���X�P��8����u�����nXnull pointer dereferenced @%s:%d
stdio/fopen.c�^ެ��ݭ�ݬݬ���P��Э�P�Ь[ЬZ��Z	����Z	���Ѫ�#�[U�UY�[�U	���z�Z�i~�����<�Z	���_ЪU�UX֪�U	���H�[U�UW�[�U	���3�gh�[	���#�k�i����Z����PYЏ����Y�YP�^ݬ��r���0��8���1��8���BW�P��8���������Wnull pointer dereferenced @%s:%d
stdio/fputs.c�^Ь��ЬU�U[�U	���2��
ݬ�����ЬU�U[�U	�����+ ЬU�UZ�U	������+��ЬU�U[�U	�����k�wݏ�ݭ�����P������ЬU�U[�U	����ݭ���b����PkЬU�U[�U	����k�����<ݏ�ݭ��ﲪ�P�����ЬU�U[�U	���I�ݭ���	����PkЬU�U[�U	���&�k�a�GЬU�U[�U	�����~�k������ ЬU�UZ�U	�����j[�[�r"�[�r�[�af�[�w.�PЬU�UZ�U	����~ݭ���]����Pj�ЬU�UZ�U	�"��tݏ�ݭ��ﰩ�Pj�ЬU�UZ�U	�%��G�ݭ�������PjЬU�UZ�U	�&��$�j�����'ЬU�UZ�U	�'��ݏ�ݭ���C��PjЬU�UZ�U	�(�����~�j�����ЬU�U[�U	�,���k������PЬU�UZ�U	�-��ЬU�UY�U	�-���i�a�[�[�[�ЬU�U[�U	�.��f��ЬU�U[�U	�/��NԫЬU�U[�U	�0��7ԫЬU�U[�U	�1�� ԫЬU�U[�U	�2��	ԫЬP�^ݬ�����0��8���i��8���zS�P��8����S�����LSnull pointer dereferenced @%s:%d
stdio/freopen.c��^ЬYŬ�Z��ЬU�UX�U	����ЬU�UW�U	����ç�[�[J�[Z�Z[ЬU�UX�U	����[�Yݨ��sTЬU�UX�U	�����[��]�Z��&ЬU�UX�U	���j���ЬU�UW�U	���J��Uʏ����U�U��ЬU�UV�U	���!ЬU�U���U	������UѦU�ЬU�UX�U	����ЬU�UW�U	����ç�[�[��ЬU�UX�U	�����Uʏ����U�U!ЬU�UX�U	�����~�h�����ЬU�UX�U	���kЬU�UW�U	���W�[ݧ�h��?����P[ЬU�UX�U	���0���ЬU�UX�U	� ��ЬU�UW�U	� ���ЬU�UV�U	� ���ЦU�U��U�ЬU�UX�U	�"�����Uʏ����U�U!ЬU�UX�U	�#����~�h�����ЬU�UX�U	�$���Z�Y�h��o����P[�[BЬU�UX�U	�&��^��8�Y	�*��Kݬ�i~������P������[�[Y�[Z�Z����լЬX�XìYU�X�U��,f�^ݬ�����.��8������8����O�P��8���������Onull pointer dereferenced @%s:%d
stdio/fwrite.cլ#����ݬ��M���������"��:�����8�������P�����Տ�9	�	��wՏ�9	�	��fЏ�9UЏ�9Tѥ���y��
��H���2Տ�9	�	��/Џ�9UХT�T[֥�T	�	���
k��6���W����^ݬ������.��8�����8���N�P��8����q�����jNnull pointer dereferenced @%s:%d
stdio/perror.c: �^ެ��ݭ�ݬ��~����P��Э�P�~�~ݬ��4�Ь[�[	���g���[	���T��Џ����P�[	���;��ЬP�P!�P�Pm��[	�����լ=ݬ��O�P�լ�[	������Џ����P�[	�������[	���Ь�"�[	����[��[	���ԫ�[	����[	���{�[	���n�[	���aЬU�U��U��U��U��[	� ��@���PѬ��9ݏ��~ݬ�����ݏ��~ݬ������^ݬ�����.��8���W��8���hL�P��8����A�����:Lnull pointer dereferenced @%s:%d
stdio/setvbuf.c�^�����P[�[�Pݏ���ݬ�[������ެ��ݭ�ݬ�[��b�P���[��ŧ�P��Э�P�^ݬ��
��P��ެ��ݭ�ݬݭ���8*�P��ݭ��Э�PЬ[�[�*[	Џ�UZ�K��Z�ZPUnknown errorInadequate privilegeOut of security labelsNo such system callSecurity label violationIt's all Greg's faultConcurrency violationLink loopResult too largeArgument too largeBroken pipeToo many linksRead-only file systemIllegal seekNo space left on deviceFile too largeText file busyIllegal ioctlToo many open filesFile table overflowInvalid argumentIs a directoryNot a directoryNo such deviceCross-device linkFile existsIn useDirectory not emptyBad addressPermission deniedNot enough memoryNo more processesNo childrenBad file numberExec format errorArg list too longNo such device or addressI/O errorInterrupted system callNo such processNo such file or directoryNot ownerError 0ЏJ[�[U�UZ�U[�U	���n�0j�[	���^�k9��[	�
��L�k�P�[	���8�k�~����������P�լ����ݬ���HЬPЏJP�^ݬ������0��8��������8����G�P��8���������Gnull pointer dereferenced @%s:%d
stdio/tmpnam.c��^��m/�ЬU�UX�U
ݏ���-%�h%��ЬU�UX�U
ݏ���
%ЬU�UW�U
ݏ����$Ѩ�,ЬU�UV�U��U
ݏ����$ݬ�f~��'���bЬU�U���U
ݏ���$Э�UХU�U��Э�T�U��U
ݏ���$ЬU�U���U��U
ݏ���b$�������y.�֬�[/ЬU�UX�U��U
ݏ���-$�hUʏ���U�E�*�[ЬU�UX�U
ݏ���$�hUʏ���U�E���ЬU�UX�U
ݏ����#�h*.��U�UX�U�
ݏ���#Ш�Z֬�Zt�[�ZZl�Z+ЬU�UX�U��U
ݏ���#�Z
U�hT�TU�0UZЬU�UX�U
ݏ���^#�hU�0UЬU�UW�U
ݏ���>#�g9�ЬU�UX�U
ݏ���!#�h.�֬ЬU�UX�U
ݏ����"�h*(��U�UX�U�
ݏ����"Ш�Y֬��Y+ЬU�UX�U��U
ݏ���"�Y
U�hT�TU�0UYЬU�UX�U
ݏ���"�hU�0UЬU�UW�U
ݏ���g"�g9�8Џ����Y/ЬU�UX�U��U
ݏ���:"�hUʏ���U�E�7�[ЬU�UX�U
ݏ���"�hUʏ���U�E�
��ЬU�UX�U
ݏ����!�hU�E���DЬU�UX�U��U
ݏ���!�hU�E���U�Y�Z�[߬ݬ�e�P�+��ЬU�UX�U
ݏ���}!�h��ЬU�UX�U
ݏ���[!ЬU�UW�U
ݏ���C!Ѩ�,ЬU�UV�U��U
ݏ���!ݬ�f~��x���bЬU�U���U
ݏ���� Э�UХU�U��Э�T�U��U
ݏ���� ЬU�U���U��U
ݏ��� ��������*ЬU�UX�U
ݏ��� �h�A�����*P��^ˏ�����U�U��[ЬU�UZ�U
ݏ���I ЬU�UY�U
ݏ���1 Ѫ�ݬ� �����8ЬU�UX�U
ݏ��� ШU�UW�U��U
ݏ����� g�[�[��u���ЬU�UZ�U
ݏ���ЬU�UY�U
ݏ���Ѫ�AЬU�UX�U
ݏ����hU�UW�Uh
ݏ���nݬ���~������wЬU�UV�U
ݏ���FЦU�U���U��U
ݏ���(ЬU�U���U
ݏ���Э�U�eU�U���U��
ݏ����Э�U�����ˏ�����U�U��[ЬU�UZ�U
ݏ���ЬU�UY�U
ݏ���Ѫ�ݬ� ������8ЬU�UX�U
ݏ���rШU�UW�U��U
ݏ���U� g�[�[��u���Ѭ�ZЬZ�ZP��^�YЬU�UX�U
ݏ����hU�UW�Uh
ݏ����Ч�Zˏ�����U�U��լ+�[�[�[��Z
ݏ����Z[U�e���[�[�Z
ݏ����Z[U�e��ЬU�UX�U
ݏ���tЬU�UW�U
ݏ���\Ѩ�ݬ� �����:ЬU�UV�U
ݏ���/ЦU�U���U��U
ݏ���� ���Y�[�[��q���լ���[��ЬU�UX�U
ݏ����ЬU�UW�U
ݏ���Ѩ�*�ZU�UV�UZ�U
ݏ���ݬ�f~������`ЬU�U���U
ݏ���pЭ�UХU�U��Э�T�U��U
ݏ���J�ZU�U���UZ�U
ݏ���.������Y�[�[��Z
ݏ����j�������[��ЬU�UX�U
ݏ����ЬU�UW�U
ݏ����Ѩ�*�ZU�UV�UZ�U
ݏ���ݬ�f~������`ЬU�U���U
ݏ���|Э�UХU�U��Э�T�U��U
ݏ���V�ZU�U���UZ�U
ݏ���:������Y�[�Z
ݏ��� �j� ���ˏ�����U�U��ЬU�UX�U
ݏ����ЬU�UW�U
ݏ����Ѩ�ݬ� �� ���:ЬU�UV�U
ݏ���ЦU�U���U��U
ݏ���� ���Y�[�[��q����YPˏ�����U�UVЬU�U[�U
ݏ���C�kU�UZ�Uk
ݏ���*Ъ�U�UY�U
ݏ�����.$i�ˏ�����U�URЬU�U[�U
ݏ�����kU�UZ�Uk
ݏ����Ъ�U�UY�U
ݏ������#iPЬU�U[�U
ݏ����kU�UZ�Uk
ݏ���uЪ�U�UY�U
ݏ���]��y#i�P��^լ�ˏ�����U�UDЬU�UV�U
ݏ���fU�U�t��Uf
ݏ�����t�UХ��x���ˏ�����U�UDЬU�UV�U
ݏ����fU�U�p��Uf
ݏ����p�U2���x��ˏ�����U�U@ЬU�UV�U
ݏ��w�fU�U�l��Uf
ݏ��\��l�UХ��x�>ЬU�UV�U
ݏ	��7�fU�U�h��Uf
ݏ	����h�UХ��x���x�Џ��|���x�Z�rˏ�����U�UЏ��|�!ˏ�����U�UЏ��|�	Џ��|���x�Z�.Џ��|�ˏ�����U�UBЬU�UV�U
ݏ���fU�U�t��Uf
ݏ��j��t�UХ�Z��ˏ�����U�UBЬU�UV�U
ݏ��6�fU�U�p��Uf
ݏ����p�U<��Z�ˏ�����U�U>ЬU�UV�U
ݏ����fU�U�l��Uf
ݏ�����l�UХ�Z<ЬU�UV�U
ݏ���fU�U�h��Uf
ݏ����h�UХ�Z�ZЏ��$ޭ�[�[U�UV�U[�U
ݏ��ZЬ U�U�t��U
ݏ��@ЬU�U�Z��N��t�PU�efЬU�U�Z��[N�PZ�Z�լ&ޭ�U�U[U�U�[
ݏ"������0�[ޭ�U�U[U�U�Y�Y�Yˏ�����U�U+Ѭ-�[
ݏ'�����0�YЏ��$Џ��$ݬ$��7�PV��|���7ޭ�U�U[U�YU�VU�PUW�W�X�X�X�XWˏ�����U�U�;ˏ�����U�U�hլ�]ݬ��|������ݬݬ$������ЬU�UV�U
ݏ3���ЬU�U�t��U
ݏ3�����t�UѦ�ݬ�0��&���HЬU�U�p��U
ݏ3����p�UХU�U�l���p�T�U��U
ݏ3��{�0�l��X�X�`����WЬU�UV�U
ݏ9��LЬU�U�t��U
ݏ9��2��t�UѦ�ݬ� �����HЬU�U�p��U
ݏ9�����p�UХU�U�l���p�T�U��U
ݏ9���� �l��X�X�`���ݬ��|������ݬݬ$������ЬU�UV�U
ݏ@��ЬU�U�t��U
ݏ@��q��t�UѦ�ݬ�0�����HЬU�U�p��U
ݏ@��=��p�UХU�U�l���p�T�U��U
ݏ@���0�l��Y�Y�`�����ЬU�UV�U
ݏC���ЬU�U�t��U
ݏC�����t�UѦ�3������[U�U�p��U[
ݏC��ݬ��p�U�e~������iЬU�U�l��U
ݏC��r��l�UХU�U�h���l�T�U��U
ݏC��I������[U�U�d��U[
ݏC��*��d��h�ޭ�U�[U�����Vݬ��|�������ݬݬ$�������ЬU�UV�U
ݏI���ЬU�U�t��U
ݏI����t�UѦ�ݬ�0��	���HЬU�U�p��U
ݏI����p�UХU�U�l���p�T�U��U
ݏI��^�0�l��Y�Y�`�����ЬU�UV�U
ݏL��/ЬU�U�t��U
ݏL����t�UѦ�3������[U�U�p��U[
ݏL���ݬ��p�U�e~��>���iЬU�U�l��U
ݏL����l�UХU�U�h���l�T�U��U
ݏL��������[U�U�d��U[
ݏL��t��d��h�ޭ�U�[U�����ЬU�UV�U
ݏN��@ЬU�U�`��U
ݏN��&��`�UѦ�ݬ� ��t���HЬU�U�\��U
ݏN�����\�UХU�U�X���\�T�U��U
ݏN���� �X��X�X�`����WP��O��L�~�ݬݬݬݬݬ�	�:�����9����
ݬݬݬݬݬ�	�����������~�ݬݬݬݬݬ�	������������~�ݬݬɏ�U�U~ݬݬ�	���������~�
ݬݬݬݬݬ�	������I��F�~�ݬݬݬݬݬ�	�^���ݏEݬݬݬݬݬ��ݏGݬݬݬݬݬ��bݏeݬݬݬݬݬ��Bݏfݬݬݬݬݬ��"ݏgݬݬݬݬݬ����^���Џe�ܐ�VЬU�U���U
ݏ����
�U�eU�U���U��
ݏ���
Э�Up����լ���V��Э�U�U�eg�U�f4�U�g}�U�g�Э�U�U�E-�U�GP�߭�߭�߭�ݬ�p��~��s�PYЏE�ܐ�eV߭�߭�߭���~�p��~��s�PYSЏE��լ��߭�߭�߭�ݬ�p��~��Zs�PY���Uя����U�U���fV­����eV׬�Y��X��U�U�g	�U�G=ˏ�����U�U0�V�f����U�UXí�X�լԬ�XUѬU�X�ЬZ
ˏ�����U�U�Z�V�fխ����Z�Zխ�
ˏ�����U�U�Z�V�f�ޭ�Wխ�í��������Э�[2�WU�U���UW�U
ݏ�����
[~�
nÎ[UЭ�T�0Ud�
[�[� �WU�U���UW�U
ݏ����0��ޭ�U�WU�ޭ�U�UWU�U�UZˏ�����U�U��ЬU�U���U
ݏ���aЬU�U���U
ݏ���HЭ�UЭ�Tѥ�ݬ� �����CЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ����
� ���Z�Z��`���խ��ЬU�U���U
ݏ���
ЬU�U���U
ݏ���
Э�UЭ�Tѥ�ݬ�-������CЬU�U���U
ݏ���g
Э�UХU�U��Э�T�U��U
ݏ���A
�-���Pˏ�����U�U�ЬU�U���U
ݏ���
ЬU�U���U
ݏ����	Э�UЭ�Tѥ�ݬ�+��=���CЬU�U���U
ݏ���	Э�UХU�U��Э�T�U��U
ݏ���	�+���ˏ�����U�U�ЬU�U���U
ݏ���`	ЬU�U���U
ݏ���G	Э�UЭ�Tѥ�ݬ� �����CЬU�U���U
ݏ���	Э�UХU�U��Э�T�U��U
ݏ����� ���V�f�m�[��ЬU�U���U
ݏ���ЬU�U���U
ݏ���Э�UЭ�Tѥ�3�[X�Y
ݏ���|�Y[U�e���0��ݬݭ�������hЬU�U���U
ݏ���FЭ�UХU�U��Э�T�U��U
ݏ��� �[X�Y
ݏ���
�Y[U�e���0��������[�[�������[�ЬU�U�|��U
ݏ����ЬU�U�x��U
ݏ�����|�U��x�Tѥ�ݬ�0������HЬU�U�t��U
ݏ���r��t�UХU�U�p���t�T�U��U
ݏ���I�0�p�լˏ�����U�U�ЬU�U�l��U
ݏ���ЬU�U�h��U
ݏ������l�U��h�Tѥ�ݬ�.��A���HЬU�U�d��U
ݏ�����d�UХU�U�`���d�T�U��U
ݏ����.�`��[�	ЬU�U�T��U
ݏ���oЬU�U�P��U
ݏ���U��T�U��P�Tѥ�D���[U�U%�UX �Y
ݏ���$���[U�YU�e�\��0�\�ݬ��\���h���~ЬU�U�L��U
ݏ������L�UХU�U�H���L�T�U��U
ݏ������[U�U%�UX �Y
ݏ������[U�YU�e�X��0�X���X��H��[�[�������sЬU�U���U
ݏ���UЬU�U���U
ݏ���<Э�UЭ�Tѥ� �Y
ݏ���ݬ�i~��u���TЬU�U���U
ݏ����Э�UХU�U��Э�T�U��U
ݏ�����Y
ݏ����i��լˏ�����U�U�ЬU�U���U
ݏ���ЬU�U���U
ݏ���oЭ�UЭ�Tѥ�ݬ�.�ﺽ��HЬU�U�|��U
ݏ���8��|�UХU�U�x���|�T�U��U
ݏ����.�x��[��ЬU�U�l��U
ݏ����ЬU�U�h��U
ݏ������l�U��h�Tѥ�=�XU�[U�Y
ݏ����[U�YU�e�t��0�t�ݬ��t������wЬU�U�d��U
ݏ���f��d�UХU�U�`���d�T�U��U
ݏ���=�XU�[U�Y
ݏ���#�[U�YU�e�p��0�p���p��`��[�[�������V�f��ЬU�U���U
ݏ����ЬU�U���U
ݏ���Э�UЭ�Tѥ�ݬݭ������DЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ���`��ܽ�ЬU�U�|��U
ݏ���AЬU�U�x��U
ݏ���'��|�U��x�Tѥ�ݬխ��-���+��ݭ���`���XЬU�U�t��U
ݏ������t�UХU�U�p���t�T�U��U
ݏ���խ��-���+������p���ЬU�U�l��U
ݏ���ЬU�U�h��U
ݏ���f��l�U��h�Tѥ�3������WU�U�d��UW
ݏ���6ݬ��d�U�e~���iЬU�U�`��U
ݏ�����`�UХU�U�\���`�T�U��U
ݏ����������WU�U�X��UW
ݏ������X��\�ޭ�U�WU�����ЬU�U���U
ݏ���ЬU�U���U
ݏ���rЭ�UЭ�Tѥ�ݬ� �ケ��CЬU�U���U
ݏ���<Э�UХU�U��Э�T�U��U
ݏ���� ���Z�Z��`����ZP�^ݬ������.��8���������8����!�P��8����Ѷ�����!null pointer dereferenced @%s:%d
stdio/vfprintf.c0x0123456789abcdef00123456701234567890X0123456789ABCDEF +-�� ^��]	��[	�W	����K	U�UW�U
ݏD��B �gX�X%�j�� 	U�UW�U
ݏF�� ՏMZ
ݏF�� �gU��MZU�eUʏ����U�U����ЬU�UV�U
ݏH���ЬU�U���U
ݏH��Э�UѦ�ݬ��w�PWNЬU�U���U
ݏH��zЭ�UХU�U��Э�T�U��U
ݏH��TЭ�U�eUˏ���UW�W[ՏMZ
ݏI��-��MZ[U�eUʏ����U�U�-����[��������	���WЏ����W�WP���ݬ�[��_��ЬU�UV�U
ݏO��ЬU�U���U
ݏO��Э�UѦ�ݬ��v�PWNЬU�U���U
ݏO��jЭ�UХU�U��Э�T�U��U
ݏO��DЭ�U�eUˏ���UW�W[�[�������	��WЏ����W�WP���U�UW�U
ݏQ����gU�[U�o���ݬ�[����P����U�UW�U
ݏX���g*�Y�Y����U�UW�U
ݏ]��|�gU�0U���\U�UV�U
ݏ]��S�f9z�Z1��8U�UW�U�,�U
ݏ_��'�Z
U�gT�TU�0UZ��U�UW�U
ݏ_����gU�0U ���U�UV�U
ݏ_����f9�Џ����Z��U�UV�U
ݏc���f�hL��U�U���U
ݏc��Э�U�e�l&��tU�U���U
ݏc��jЭ�U�e�L-��NU�U���U�A�U
ݏc��<Э�U�eWЏnW�W����U�U���U
ݏd��Э�U�eU�E����"������U�UW�U
ݏe����gU�E��Uݭ��Z�Y߬ݬ�e�P��	��WЏ����W�WP��U�UW�U
ݏg���g
�Y��e��c��]U�UW�U
ݏD��T�g�������4Pլ�L��ЬU�U�hA�U�hѬ�L���ЬU�U�l��U�n\��ЬU�U[�U
ݏr����kU�UZ�Uk
ݏr��Ъ�U�UY�U
ݏr����~i�ЬU�U[�U
ݏs��s�kU�UZ�Uk
ݏs��ZЪ�U�UY�U
ݏs��B��(iPЬU�U[�U
ݏu��!�kU�UZ�Uk
ݏu��Ъ�U�UY�U
ݏu������i�P��(^�Y����X��ЬU�UV�U
ݏ���ЬU�U���U
ݏ���Э�UѦ�ݬ��q�PWNЬU�U���U
ݏ���mЭ�UХU�U��Э�T�U��U
ݏ���GЭ�U�eUˏ���UW�W[ՏMZ
ݏ��� ��MZ[U�eUʏ����U�U�-���ЬU�U��U���ݬ�[��z�]�[+�ЬU�U��U�?��ЬU�UV�U
ݏ���ЬU�U���U
ݏ���Э�UѦ�ݬ��p�PWNЬU�U���U
ݏ���WЭ�UХU�U��Э�T�U��U
ݏ���1Э�U�eUˏ���UW�W[���[-�Џ������ЬU�U��U�q���ЬU�UV�U
ݏ����ЬU�U���U
ݏ���Э�UѦ�ݬ���o�PWNЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ���cЭ�U�eUˏ���UW�W[ЬU�U���U�cլ�X�[0�ЬU�U��U�����ЬU�UV�U
ݏ����ЬU�U���U
ݏ����Э�UѦ�ݬ���n�PWNЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ���~Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�U��U���'�ЬU�UV�U
ݏ���#ЬU�U���U
ݏ���
Э�UѦ�ݬ��n�PWNЬU�U���U
ݏ����Э�UХU�U��Э�T�U��U
ݏ���Э�U�eUˏ���UW�W[�����X����
���[0�ЬU�U��U����F�ЬU�UV�U
ݏ���BЬU�U���U
ݏ���)Э�UѦ�ݬ��0m�PWNЬU�U���U
ݏ����Э�UХU�U��Э�T�U��U
ݏ����Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�U��U���y�ЬU�UV�U
ݏ���uЬU�U���U
ݏ���\Э�UѦ�ݬ��cl�PWNЬU�U���U
ݏ���)Э�UХU�U��Э�T�U��U
ݏ���Э�U�eUˏ���UW�W[��X��0[�[9�0[W/яa[�[�fÏa[U�
UVÏA[U�
UV�VW�WZ�Z���XŬYU�ZUYЬU�U��U����\�ЬU�UV�U
ݏ���XЬU�U���U
ݏ���?Э�UѦ�ݬ��Fk�PWNЬU�U���U
ݏ���Э�UХU�U��Э�T�U��U
ݏ����Э�U�eUˏ���UW�W[�0[�[9�����яa[�[�f�����яA[�[�F������z�ݬ�[��:t�X�Pլ�&ЬU�U�U�j�U��ЬU�U�hA�U�hѬ�L����ЬU�U�l���U�n_�ЬU�UW�U
ݏ�����gU�UV�Ug
ݏ����Ц�U�U���U
ݏ���Э�U���Ye�ZЬU�UW�U
ݏ����gU�UV�Ug
ݏ���sЦ�U�U���U
ݏ���ZЭ�Uŭ�Ye�ЬU�UW�U
ݏ���3�gU�UV�Ug
ݏ���Ц�U�U���U
ݏ���Э�Uŭ�Ye�ЬU�U�hA�U�hѬ�L���|ЬU�U�l���U�n_�ZЬU�UW�U
ݏ����gU�UV�Ug
ݏ���sЦ�U�U���U
ݏ���ZЭ�U���Ye�ЬU�UW�U
ݏ���3�gU�UV�Ug
ݏ���Ц�U�U���U
ݏ���Э�Uŭ�Ye�ЬU�UW�U
ݏ�����gU�UV�Ug
ݏ����Ц�U�U���U
ݏ���Э�Uŭ�YeSЬU�UW�U
ݏ����gU�UV�Ug
ݏ���lЦ�U�U���U
ݏ���SЭ�Uŭ�Ye�P�
�ݬݬݬݬݬ��F�����ݬݬݬݬݬ��(�����ݬݬݬݬݬ��
����~�ݬݬݬݬݬ�������
�ݬݬݬݬݬ��������ݬݬݬݬݬ������0^���Z�W�Y�XЬU�U	я�UЏ����J�ЬU�U����U
ݏ���DЬU�U����U
ݏ���*����U����Tѥ�ݬ��+f�PVSЬU�U����U
ݏ����
����UХU�U�������T�U��U
ݏ����
����U�eUˏ���UV�V[ՏMZ
ݏ���
��MZ[U�eUʏ����U�U����ЬU�U��U��\�ݬ�[��o���[+�[-���ZU�UV�UZ�U
ݏ���3
�[fЬU�U��U����ЬU�U����U
ݏ����ЬU�U����U
ݏ��������U����Tѥ�ݬ���d�PVSЬU�U����U
ݏ�������UХU�U�������T�U��U
ݏ�������U�eUˏ���UV�V[���[.�Y�W�ZU�UV�UZ�U
ݏ���A�[fЬU�U��U�����ЬU�U����U
ݏ���ЬU�U����U
ݏ��������U����Tѥ�ݬ���c�PVSЬU�U����U
ݏ�������UХU�U�������T�U��U
ݏ�������U�eUˏ���UV�V[�0[�[9�����Y�[.������[�e�[�E���ZU�UV�UZ�U
ݏ��)�[f�XЬU�U��U�����ЬU�U����U
ݏ���
ЬU�U����U
ݏ���
����U����Tѥ�ݬ���b�PVSЬU�U����U
ݏ��
����UХU�U�������T�U��U
ݏ��t
����U�eUˏ���UV�V[�[+�[-���ZU�UV�UZ�U
ݏ��6
�[fЬU�U��U����ЬU�U����U
ݏ��
ЬU�U����U
ݏ���	����U����Tѥ�ݬ���a�PVSЬU�U����U
ݏ��	����UХU�U�������T�U��U
ݏ��	����U�eUˏ���UV�V[���ZU�UV�UZ�U
ݏ��O	�[f�XЬU�U��U�����ЬU�U����U
ݏ
��	ЬU�U����U
ݏ
�������U����Tѥ�ݬ���`�PVSЬU�U����U
ݏ
�������UХU�U�������T�U��U
ݏ
������U�eUˏ���UV�V[�0[�[9�
�����]�ݬ�[��j�W�X�P�Z
ݏ��I�jլ�ЬU�U�h;�U�hѬ�L���ЬU�U�lv�U�n��ЬU�UV�U
ݏ����fU�U����Uf
ݏ�������UХ�U�U����U
ݏ������������UvPebЬU�UV�U
ݏ��u�fU�U����Uf
ݏ��Z����UХ�U�U����U
ݏ��;�����pP����P��^լ5ЬU�UX�U
ݏ���hU�UW�Uh
ݏ���Ч�[����ЬU�UW�U
ݏ���ЬU�UV�U
ݏ��ѧ�ݬ��^�PXNЬU�U���U
ݏ��Э�UХU�U��Э�T�U��U
ݏ��\Э�U�eUˏ���UX�XZՏMZ
ݏ ��5��MZZU�eUʏ����U�U�2���ЬU�U��U����ݬ�Z��g�6�Y���Z�����
�Y��P�Yլ�[U�UX�U[�U
ݏ,���ZhЬU�U��U�����ЬU�UW�U
ݏ-��ЬU�UV�U
ݏ-��hѧ�ݬ��s]�PXNЬU�U���U
ݏ-��9Э�UХU�U��Э�T�U��U
ݏ-��Э�U�eUˏ���UX�XZՏMZ
ݏ&�����MZZU�eUʏ����U�U��������ݬ�Z��vfլ�[
ݏ1���k�P��^լ5ЬU�UY�U
ݏ8���iU�UX�Ui
ݏ8��gШ�[լ��ЬU�U��U����-�ЬU�UX�U
ݏ;��)ЬU�UW�U
ݏ;��Ѩ�ݬ��\�PYEЬU�UV�U
ݏ;���ЦU�U���U��U
ݏ;���Э�U�eUˏ���UY�YZ�Z������Pլ�B����[U�UY�U[�U
ݏ=���Zi�����P��^�[ЬU�UZ�U
ݏD��T�j�^��[�Z�Z�Z[֬����U�U����ЬU�UZ�U
ݏI����-�ЬU�UZ�U
ݏJ����jUЬT�TX�UT!ЬU�UY�U
ݏK����U�XUJЬU�UW�U
ݏK����UЬT�T���UT%ЬU�UV�U
ݏK��p�fUѭ�U�[P��%ЬU�UZ�U
ݏO��E�jUѬU�[P֬Ѭ�!�������[�Z�Z�ZP��^����U�U����UZ����U�UW�U
ݏZ����g�^��������U�UW�U
ݏ[���g���������U�UW�U
ݏ\���g!��z�U�UV�U
ݏ\��q�f�]�լ5ЬU�UW�U
ݏ]��N�gU�UV�Ug
ݏ]��5Ц�[�XЬU�U��U����ЬU�UV�U
ݏ`���ЬU�U���U
ݏ`���Э�UѦ�ݬ���X�PWNЬU�U���U
ݏ`��Э�UХU�U��Э�T�U��U
ݏ`��Э�U�eUˏ���UW�WY�Y������XQ�P�Z�Y�������P+լ�[U�UW�U[�U
ݏf��9�Yg�X��������ݬ�Y���aլ�[
ݏk���k�P�^ݬ��ƹ��0��8��ﭴ����8����P��8�������null pointer dereferenced @%s:%d
stdio/vfscanf.c�![�K�D��K�;�Z�K�3��j�[�[�ݬ���U�E��ЬE���P�U�U"��P��wV��P��|VЬR�RQ:���a��RQP�Џ��X}�V�VQ:Xa��QS:Xg
(Xgc�QW������WQ�Q(Qgc�VP}�R:���b:S���b�QR������RQT�T:STb�QP}�S�ST�P:���d)���dc�QT������TQ�Q)Qdc	�cP�aQ�QP�}�V�VS:���g(���gc�QW������WQ�Q(Qgc�VPЬT�PЬQЬS�QS�Ï��TUЏ��T�QR:Ta�U�RQT�T�RQ)Tac�caP�PP�UT��ЬUC}�S�TV�URЏ��Y�YUX�YU:Uf�VQU�X�YRW�YR,UfRc�WR	�XU��U�ЬP�^Ь[��Z�Y�kZ�[Y����YP@ЬV#}�S�TQя��V(���ac��V�(VacЬPЬT4}�Q�QR+�RSя��T)���ac��T�)Tac�caP�PP�P���~����PZ�Z2<�Z7�
ZP�
P�PZP�PP�PP�@��Y�i[�kP�[P�P�ZP
�[�ki�[P�Z���^Ь[��e�Z�X�j3�Z�X��ij�jY�i��[[P�PP�ZP�YP�[[P�PP�ZP�PZ1��ZY�jZ�ZY��X�X	���Z������PZݏ��[~��x
PX�XXP�PP�ZP�PZxX~���PY�Y�����$�[XP�P�PX�[XP�P����P19��P���xX~�Y��-1��[[P�PP�P�|��Y�u���m��x��j�a���Z�j�Z�N�	�Y�C���=���5�Y�Y�-���ZPЬ[X�[�kP�[P�PY�Y2:�Y5�
YP�
P�PYP�PP�PP�@��X�hZ�jP�ZP�P�YP�Z��[h�[~���^Ь[�[�[ﱴ�[領�[�k�^����[ԭ��Z�Z�����֭��jk�kZ��[�[�T��Э�P�^ЬZ�ݬ��k�PP�PP�ZP�P��Э�j�Z�6�W��.�[���YЭ����[P�ZP�ZP�ZP�Pk���P�YP�YP�YP�P������ܳ��ֳ���^Ь[ݬ��������	�[�������[��P�P�����~���PW�W~������PX�X[�XP�W���W���[Z�XYЊ�Э�P׭��P��X[��WWP�PP�XP�P[��WWP�PP�XP�[P�P��G�@h�������$��~��\S�^\��'��	�P������Ь���P�Pﱵ�P�^ݬ�������P~�������P���P�Pݬݭ���e�����^Ь[ЬYԭ��Wԭ�ԭ��Y	����iP�P
$�	PQ)�A�P`�����������P �Y��Y	�%����i-�Y	�%���i+#�YU�U���Y�U	�&���U�e-����[N�Y	�-��v�i0	�
[��[�Y	�1��X���x�Y	�1��D���X�Y�[S�[?�Y	�6��#�i0-�Y	�7�����x�Y	�7������X�Y�[�$[��Y
ݏ@����iZ�[X�0Z�Z9�0ZX>яaZ�Z�zÏaZU�
UXяAZ�Z�ZÏAZU�
UX�X[�[WU�XUV�VW����VW�Y֭��u���խ�ЬYլЬU�U��
ݏT��2�Y��խ��"�l�խ�Џ�PЏ���Pխ��WP�WP�^ݬ��p���.��8���7�����8���H����P��8����!��������null pointer dereferenced @%s:%d
gen/strtol.c��^Ь[ЬYԭ��Wԭ�ԭ��Y	�����iP�P
$�	PQ)�A�P`�����������P �Y��Y	�%���i-�Y	�%���i+#�YU�U���Y�U	�&���U�e-����[N�Y	�-��j�i0	�
[��[�Y	�1��L���x�Y	�1��8���X�Y�[S�[?�Y	�6���i0-�Y	�7�����x�Y	�7������X�Y�[�$[��Y
ݏ@����iZ�[X�0Z�Z9�0ZX>яaZ�Z�zÏaZU�
UXяAZ�Z�ZÏAZU�
UX�X[�[WU�XUV�VW����VW�Y֭��u���խ�ЬYլЬU�U��
ݏT��&�Y��խ��"�̰Џ����Pխ��WP�WP�^ݬ�����.��8������8�������P��8����������null pointer dereferenced @%s:%d
gen/strtoul.c�
�~ݬ������
�~ݬ�����������ԭ���� �2�D�T�`�r�����������ɮۮ���	��.�B�P�_�n���������įү�����2�F�]�Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough memoryPermission deniedBad addressDirectory not emptyIn useFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesIllegal ioctlText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeLink loopConcurrency violationIt's all Greg's faultSecurity label violationNo such system callOut of security labelsInadequate privilegeݬ���P�����^߭���S���2��P�<P�P���߭���r�PZ����ZPЪ[Џ�Y�YXЏVԭ�Э�������Wx�WWP�PP�PP�উP�P�_�WWP�PP�PP�৉PѪPH�WWP�PP�PP2ઉY�WWP�PP�PP2ଉX�WWP�PP�PP�ਉ���WWP�PP�PP�੉���W�W�=�1|��YX�Y���XYЭ�X�V���VV�Y�Z��P���PY�X�Z��@���PX�[Y�[Y1�Ѫ��[X�[X�Ѫ��V��߭���R�PZ֪ 1��Ь[ЬZ�Z:ݫ��kmP�PZ�ZPëZQ��Q���Q�QR�R�RQR�RP�^Ǐ�Q�Pď�QP�P���Ǐ�Q���խ����Q��׭����Y�<��P�<P�P����<��Z�<ZP�<P�PZ��<Z�Z���p��P�PQ�Q�QP�s�խ�DЏFZ�:�����Zѭ���:��Z���P���Z�Z��ѭ�P�:ЏFZ���:���Zѭ��O�����Z~��M�P���Zխ���Z���Э�[�[����Z��'�P�n����Z
�J��[�Z�[J���������[��Z������{�P���[����Z����ЬP��Q�A��Z����[����������[��Y�iP�@���Z����������y�[���P[�Y��di~�[���P[�Y��di~�[��y�P[�Y��di~�[��b�P[ЬPѠ�d�2��0��[ЬP��d�~�[��0�P[��+�P��PxPP�P�PЏnPЏmP�^Ь[�[Ѭ
�
�P�
PQ�
Q�QPQ�0Q�� ��
�P�
P�P�P�0P��[P^��G�P��@��P=�������{~���P��(�[����ݭ���e�P����[��ݭ����{���[[P�PP�PP�@�y��������P��[�[
���^Ь[ЬZ߭��[���P[�P����l�j����k���j��l��j߭��[���P[̱���l������k������l����Z~�[��N�P[�߭��[��=�P[������Z~�[��&�P[1l�߭��[���P[쐭���P�^Ь[ЬZ�[�kP��MZ�kP��MZ1$��Y�
YP��Q�QP�0PY�kP��MZ�Yj1Z��^���
�����-ݏݬݬ��O}���P��1��Ь�x���P�s���i�[�[�[�a��k
��[�S�
��G������;�Z�[�3��ZP��)�ZЬ[����Z���ì[P�P�~�[ݬ���|���P��1<��[P����[�[����k
��[����[���[���ЬPЬPЬR�R�Q{RPPR�PR�P�PЬPЬR�R�Q{RPRP�P�PR�RP��~ݬ��6Ь[�[	���i�kЬP�[	�
��S�kY�Y�P�[��@����PX�Yݬ������PZ$�X�[�Z������P�ZP�Yߪ��_����PZ�Z��P�^ݬ���0��8���������8��������P��8����}�������null pointer dereferenced @%s:%d
gen/strstr.c�^ЬU�E�\�[�[
ݏ����;ЬU�kE�<�OЬUxU�����U�E��F��Uߥ��^����P[�[
ݏ��;Ь��[
ݏ��;Э���[
ݏ��;�[
ݏ��};ԫԫ�[PլaЬU�U[�U
ݏ
��S;ЬU�UZ�U
ݏ
��;;ЪU�E�|�kЬU�U[�U
ݏ��;ЫUЬE�V��� ^ЬU�U���U
ݏ���:Э�UХWЬU�U���U
ݏ ���:���X�V�X
ݏ$��:�hZˏ��ZUЬT�TU��U[�ZU�TU�[T�TUY�Y��XU�U���UX�U
ݏ(��g:xYUˏ��[TЭ�S�TUc�VU�UV�UW����լ�#ЬU�U���U
ݏ1��:Э�U�W��ЬU�U���U
ݏ2���9Э�U��~�������P��Э�U�U���U
ݏ3���9ЬU�U���U
ݏ3��9ЬU�U���U
ݏ3��9Э�UХU�E�D��Uߥ���~���~�����ݬ������Э����U�U��ЬT�T���T
ݏ7��B9Э�UЭ�TЬE�ЬU�U���U
ݏ8��9Э�U�W�ЬP���U�	UW�X�Y
>I�D��Y�X�WY��X�������P[�[
ݏH���8Ь��[
ݏI��8���	Z�	�H�	�ЬU�UV�U��U
ݏS��8�fU�0U~�
�[��r����P[�ZU�UZ�U��֬:�
�4ЬU�UV�U��U
ݏZ��B8�fU�0U~�
�[��(����P[�Z�Z���[P�Tˏ���U�U	�Tx��ˏ����U�U	�Tx��ˏ����U�U	�Tx��ˏ���?�U�U�TЬU�E��B���ˏ����U�U�Tˏ�����U�U� P�TPЬU�UY�U
ݏ��~7�iZˏ����ZU�U]ˏ����ZU�U�Pˏ����ZU�U!ЬU�UY�U
ݏ���<7�Zi�PЬU�UY�U
ݏ���7�Zi�P�[ˏ��ZU�U�[�ZZˏ���ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U"�[�ZZ�Z�Y�Yˏ����YU�U� PЬU�UY�U
ݏ���z6�Zi�[P���G����P[�[
ݏ���S6Ь��[
ݏ���=6���[P�\^ЬU�U���U
ݏ���6ЬU�U���U
ݏ����5Э�UЭ�Tѥ�Ь��Ь�Э�ЬU�U���U
ݏ����5Э�UХ��ЬU�U���U
ݏ���5Э�UХ��ЬU�U���U
ݏ���~5Э�UХ����ܭ��ЬU�U���U
ݏ���U5Э�Uѭ��֭�ݭ�������P��Э�U�U���U
ݏ��� 5���YЭ�U�E�4@��U�YU���Y
ݏ����4�i�Y�Y���ЬU�U���U
ݏ����4�����Э�U�E��?��U���U��ЬU�U���U
ݏ���4�����Э�U�E�?��U���U��Э�U�U���U
ݏ���q4������;Э�U�U���U
ݏ���L4Э�Uˏ��eV��Э�YЭ�[�Z�Y
ݏ���4�[
ݏ���4ˏ��iU�VUˏ��kT�TU�ZUW�WZ�YU�U���UY�U
ݏ����3�[
ݏ����3н�U�UU�VU�kT�TT�TU�ZUX�XZ�[
ݏ���3�X��[
ݏ���z3�Wk�[�Y���:����[
ݏ���W3�ZkЭ�U�U���U
ݏ���;3н�U�UV��Э�YЭ�[�Z�[
ݏ���3�kX�Y
ݏ����2�[
ݏ����2ˏ��iU�VU�kT�TT�TU�ZUW�WZ�[
ݏ���2�W��[
ݏ���2�Xk�[�YU�U���UY�U
ݏ���2�[
ݏ���r2н�U�UU�VUˏ��kT�TU�ZUX�XZ�Y���:����[
ݏ���52�Xk������ѭ�������Э�U�U���U
ݏ���2�����Э�U�E�=��U���U[׭�խ�&������[U�U���U[
ݏ����1Э�U�e�Э�U�U���U
ݏ��1Э�UЭ��Э�P�^ˏ��������~Э�U�Eݬ��f����P�x����ЬP����[*ݏq�������P����P[�[
ݏ��+1�kˏ�����U�U�[ݬ�������PYݬ������Y�x����T�[
ݏ���0�kZ5�[
ݏ ���0�[�[������Pk�PZ�Z
ݏ!��0�j�Z[�w���ЬP��4^x���VЬU�U���U
ݏ4��v0Э�UХXЬU�U���U
ݏ5��U0Э�U��VU�UWЬU�U���U
ݏ6��/0Э�UХ[
�X>K�@;��[�W[��X�������P���U�U���U
ݏ9���/���Y�[!�YU�U���UY�U
ݏ;���/Խ��[�[V�ЬU�U���U
ݏ<��/���ZЬU�U���U
ݏ=��/Э�UХU�E�:��U�ZU��ʏ������ì Xԭ��YU�U���UY�U
ݏC��A/�Z
ݏC��0/ЬUxUjUЭ�Tɭ�Ud�ZU�U���UZ�U
ݏD��/н�U�X P�XPU���Z����Y
ݏG���.Э�iG�WC�YU�U���UY�U
ݏX��.�ZU�U���UZ�U
ݏX��.нн��Z���Э�U�U���U
ݏZ��x.Э�U�W�ݬ������Э�P��^ЬU�UW�U
ݏe��C.Ч��ЬU�UV�U
ݏf��&.ЦX�X��Э�PЬU�UW�U
ݏo���-�WY�H�9��U�YU[ЬU�UV�U
ݏq���-�V���H��8��U���UZ������[U�UW�U[
ݏt��-������ZU�UV�UZ
ݏt��-�gf7�[
ݏu��u-�Z
ݏu��d-�kj	Џ����W�W�WP�[Y�����P��<^ݬݬ�������P��խ�S�~�������P��Э�U�U���U
ݏ����,Э�U��Э�U�U���U
ݏ����,Э�UԥЭ�Pխ�Ь��Ь�Э����ԭ�ЬU�U���U
ݏ���,Э�Uݥ��n����P��Э�U�U���U
ݏ���q,Э�UЭ�ЬU�U���U
ݏ���O,Э�UХ��ЬU�U���U
ݏ���-,���WЭ�U�E�A7��U�WU��ЬU�U���U
ݏ����+Э�UХ��ЬU�U���U
ݏ����+���VЭ�U�E��6��U�VU��Э�U�U���U
ݏ���+���Z�[�W
ݏ���+�V
ݏ���+ˏ��gUˏ��fT�TU�[UYx��Y[�WU�U���UW�U
ݏ���L+�VU�U���UV�U
ݏ���0+н�U�UUн�T�TT�TU�[UXx��X[�Z
ݏ���+�X��Z
ݏ����*�Yj�Z�V���4����|�W
ݏ����*ˏ��gU�[UYx��Y[�WU�U���UW�U
ݏ���*н�U�UU�[UXx��X[�Z
ݏ���s*�X��Z
ݏ���^*�Yj�Z�W���x���׭�������ZU�U���UZ
ݏ���)*Э�U�e�Э�U�U���U
ݏ���*Э�UЭ��Э�P�^ެU�U
ݏ����)ˏ����UÏ�U[ޭ�U�U
ݏ���)�[��ޭ�U�U
ݏ���)ԭ�p��P��0^ЬU�U���U
ݏ���z)���XЬU�U���U
ݏ���\)Э�UХU�E�q4��U�XUZ������ZU�U���UZ
ݏ���*)н�Y�Y�������P[ЬU�U���U
ݏ���)Э�U�[ e�[j�[U�U P�UPYUɏ�@UW�ZX%������ZU�U���UZ
ݏ��(нح�ԭ�Эܭ��[UxUYUЭ�T�[S�S P�SPTT�TUV��ZX%������ZU�U���UZ
ݏ��g(нح�ԭ�Эܭ��[ix[YUȏ�@UЭ�T�[ S�S P�SPTT�TUW�ZX%������ZU�U���UZ
ݏ	��(нЭ�ԭ�Э�Yx[��U�[ T�T P�TPYT�TUVɏ�@YWЭ�Vޭ�U�U
ݏ"���'�WUxWT�TU��ޭ�U�U
ݏ#��'�VUxVT�TU��p��P��^ެU�U
ݏ3��x'ެU�U
ݏ3��c'ЬU�UUx�T�TUYެU�U
ݏ4��<'ެU�U
ݏ4��''ЬU�UUx�T�TU����������P[�[
ݏ?���&�[��ˏ��Y��ʏ�Y�	Y��ȏ���Э���߭���%����PZ6Э�U�UX�U
ݏO��&�Z UxU��U�U��hЭ�U�Z P�ZPU��Э�U�UX�U
ݏS��j&Э�h�[
ݏT��U&Э�U�UW�U
ݏT��=&Э���X�X�X��X��E߭�������PZЭ�U�UX�U
ݏ\���%Э�h�[
ݏ]���%������ ZЬU�UX�U
ݏ����%Ï���U�7U�ZUhЬU�UX�U
ݏ���%�Z8h�[P�^߭�ݬ������pP��߭�ݬ������pP��ЬU�UZ�U
ݏ���W%ЬU�UY�U
ݏ���?%í��Ué�TxTT�TU[�[ޭ�U�U
ݏ���%x[U�U�� �[[ޭ�U�U
ݏ����$x[U�U��g���P��^ԭ���x���|�p�%��Ь��Э�U�U�d��U
ݏ���$��d�U�e�h���h�U�U ��U D��h�U�U	,�U
�|�E�����Ue������������h��8M��h�U�U+�U-<��|����U�U�`��U��
ݏ���$��`�U�e��	֭��6���Э�U�U�`��U
ݏ���#��`�U�e0U��x����U�U�\��U��
ݏ	��#��\�U�e0�Э�U�U�X��U
ݏ
��#��X�U�e�pЭ��t�ԭ�ԭ�ԭ��Z+�Z	ŭ�
U�VU�0U���Z
ŭ�
U�VU�0U���Z֭�Э�U�U�\��U
ݏ��$#��\�U�eU�UV�U0�V9��Z���V.����U�U�X��U��
ݏ���"��X�U�eV�Z��(֭����U�U�T��U��
ݏ��"��T�U�eV�V0��V0��V9�Э��t���Э�ԭ�֭��0VO��Э��[��U�U	�
��	�Z�
���[�[��ដU�U	ŭ�
U�VU���Z
ŭ�
U�VU��ԭ����U�U�T��U��
ݏ"��
"��T�U�eV�V0�V9�t���ԭ��V�e�V�E�Z�Zխ���x�Ь���
���p����U�U�T��U��
ݏ=��!��T�U�eU�UV�U�X���X�U�U+�U-*��p����U�U�P��U��
ݏA��T!��P�U�eV�V0��V9�%���U�U�P��U��
ݏE��!��P�U�eV�V0��V0�x�V9�m�0V��Э��l�
ŭ�
U�VU�0U�����U�U�L��U��
ݏI�� ��L�U�eU�UV�U0�V9���l���U�UЏ������p�έ���
ԭ�Ь���Z"խ��b��x��VЬ���Kí���U�U���U��խ��Z���Z�Z�X���X���X���Э�U�UnU�P�
nUTa�!T�P�p�P���ѭ�	1Э�U�UnU�H�
nUTa�� T�H�Э�Ue��EﰆTa�H�T���Z��խ��խ��ѭ�!�Z[�[Uѭ�U��[��dK暴��ޭ�U�U
ݏ���q��Э�UdE�~���ޭ�U�U
ݏ���Gˏ�����U�U��c�zޭ�U�U
ݏ��������ѭ������έ�UfE������
í�ZU�U��խ��Aˏ������[	dK��������ѭ�&�"��p����
x��������ԭ�$ˏ������U�U
Э�UdE�\���֭�x������ѭ��ޭ�U�U
ݏ���M��Э�UdE�"���ޭ�U�U
ݏ���#ˏ�����U�U���U�d�R���ѭȏ�c@ޭ�U�U
ݏ����Џ�����ޭ�U�U
ݏ����Џ�������ޭ�U�U
ݏ���������խ���έ���ˏ������[	fK�������x������ԭ�$ˏ������U�U
Э�UdE�>���֭�x������ѭ��p��TpT��Э�SeC��T��q���ke������Э�UdE�����q����p�����"� ���ޭ�U�U
ݏ����Џ���ޭ�U�U
ݏ���ԭ�ݭ��Zݭ���t�������P��Э�U�U�D��U
ݏ���x��D�Uݥ��I����P��Э�U�U�@��U
ݏ���KЭ�U�U�<��U
ݏ���1Э�U�U�8��U
ݏ�����8�UХU�E�+'��Uߥ��<�~��@�~�����߭�߭�p��~��M����P�����`����PWխ�ԭ��XЭ�U�U���U��έ�U�U���UXԭ�ԭ�խ����X­����X��í�9��Э�U�UX�U���X���X�4�Э��4���4�[�[��Э�[�[�[X�[���[��խ�.ݭ��W������PWݭ��W�������P��ݭ������Э����X�Xݭ���s����P��խ�ݭ�ݭ���a����P��խ�ݭ�ݭ���G����P��խ�ݭ��W��2����PWݭ�ݭ���|����PY�Y
ݏ��Щ���Y
ݏ��ԩ�W�Y��$����P[�[�pխ�<ޭ�U�U
ݏ ��]խ�"ޭ�U�U
ݏ ��Cˏ����U�U����Y������PY�W�Y������P���	�[�խ��ޭ�U�U
ݏ*���ˏ����U�U����@ޭ�U�U
ݏ+��ѭ�������ޭ�U�U
ݏ-��ޭ�U�U
ݏ-��vˏ�����U���U��ޭ�U�U
ݏ3��Oԭ��
ޭ�U�U
ݏ7��1ˏ����U�U�ޭ�U�U
ݏ7��	խ��yޭ�U�U
ݏ;���ˏ�������ѭ�����������ޭ�U�U
ݏF��ɏ������ޭ�U�U
ݏG��Џ�������Iխ��>p��TpT�,�pT~��m���aP�,�����W�Y�����pP��qP�$�խ�p�	TpT��pT���ޭ�U�U
ݏb��
խ�"ޭ�U�U
ݏb���ˏ����U�Up���p���Nq���
p���d���r�ܭ�+d�s��խ�p���,�r���,�p�,���`�P��ޭ�U�U
ݏ���qˏ�������ѭ菀�p����ޭ�U�U
ݏ���=��p��~��0���eP����`����ޭ�U�U
ݏ���
ˏ�����U�U�d�ޭ�U�U
ݏ����ѭ�����%ޭ�U�U
ݏ���ѭ�����������ޭ�U�U
ݏ���Џ�����ޭ�U�U
ݏ���|Џ�������ޭ�U�U
ݏ���Y�����Aޭ�U�U
ݏ���6ˏ�����U�U���p����ޭ�U�U
ݏ�������p��~������eP����`����ޭ�U�U
ݏ����ˏ�����U�U��zޭ�U�U
ݏ���ѭ��� ޭ�U�U
ݏ���խ�����ޭ�U�U
ݏ���eЏ���ޭ�U�U
ݏ���Hԭ���ޭ�U�U
ݏ���*��p��~�����eP����`����ޭ�U�U
ݏ����ˏ�������ѭ���vp��TjT��n��RcRT��խ�<ޭ�U�U
ݏ���խ�"ޭ�U�U
ݏ���ˏ����U�Up��TqT�A	qT�08q���,ݭ�������ݭ��������W�������Y����������ݭ�������ݭ�������W�����ݭ�������Y�����լ ЬU�U�D��U
ݏ����Э��D���|�r���<�p���<�p�<�P�L^ЬU�U���U
ݏ���Э�UХ��ЬU�U���U
ݏ���Э�Uѥ���PЬU�U���U
ݏ���a��ح����U�U���E�o��U���U��ЬU�U���U
ݏ���+���[Э�U�E�?��U�[U��Э�U�U���U
ݏ����Э�U�U���U
ݏ����н�UЭ�T�dT�T�U��P����P��խ���Zԭ�Э�U�U���U���U
ݏ��н�Vˏ��VUЭ�T�TU���UX�VU�TU�XT�TU��Э�U�U���[
ݏ	��Uˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ��(�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ����W��[
ݏ����Yk�[ѭ�������Э�U�U���U
ݏ��Э�U�e�xЬU�U���U
ݏ�����[׭���������U�U���U[!Э�U�U���U
ݏ��]Э�U�e�ЬU�U���U
ݏ��<Э�UЭ�ݬݬ�������P��֭��Zԭ�ЬU�U���U
ݏ%������[ЬU�U���U
ݏ&�����ĭ�Э�U�U���U���U
ݏ)��н�Vˏ��VU���UX�VU�XT�TU��Э�U�U���[
ݏ-��~ˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ0��Q�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ3��#�W��[
ݏ3���Yk�[ѭ����$���ЬU�U���U
ݏ>������[Э�U�E����U�[U��Э�U�U���U
ݏ@��Э�U�eZ׭���������U�U���U[!Э�U�U���U
ݏA��{Э�U�e�ЬU�U���U
ݏC��ZЭ�UЭ�Э�P��^��ͤi��ŤU�U���U
ݏ���Э�U�賓��U�U�|��U
ݏ�����U��|�TxU���o���f�����b�լԬެU�U
ݏ���ˏ����U�U<ЬU�U���U
ݏ������ެU�U
ݏ���vʏ��ЬU�U���U
ݏ���SԽ�ެU�U
ݏ���;Ѭ��VЬU�U�|��U
ݏ���Џ'�|�Џ��[լ#ЬU�U�x��U
ݏ����
��x�U�[e�[Pq���RЬU�U�|��U
ݏ���
��|�Џ��[լ#ЬU�U�x��U
ݏ���
��x�U�[e�[P߭�߭�p�~�������PXެU�U
ݏ���V
ЬU�UUˏ���UZp���ޭ�U�U
ݏ���+
ʏ����ޭ�U�U
ݏ���
ȏ�@���Zc�
��Td�
T`�y
TnZRd�g
RaRT��p��TjT��qT��
n��RqTR׭����Э�U�U�UЭ�Uq�E�s׭�ԭ��Z��U�UY�Y	ԭ��Y���Y��ԭ�խ�ԭ�Э�U�U���U��Э�U�U���U��ԭ�ЬU�U�U	Ԭ���Ѭ��ԭ����ЬU�U�|�U�q�E�Ue���������Џ������Џ�������Z:ԭ�լ��ЬU�UZ�U���U��ԭ����U�UZ�Z���Z���Z�Z�Y��0���(�>I���Y�YU�UZ������V����P�������U�U���U[Э�U�U��U�խ���Zp���Э�U�U��Э�������UdЭ�Uˏ����UTpD�.r��x��UYˏ����YU�U3ʏ����Yf��r�֭�ˏ����YU�U֭�dJ�r��x��YY�Z�Y�f��Fέ��?Э�Uˏ����UTdD��q�x��UYˏ����YU�U֭�dJ�lr�x��YY�Z�Y�խ�(q��Bխ��Э���׭�d��
�֭�n��Td�Ta�
T��ޭ�U�U
ݏv��$
���խ��Э�UgE�q��
Tc��T���Zp�TjTWnWRcRT��[U�U�|��U[�U
ݏ����	��|�U�0Weq����M	c��
TqT����ZU�UZ�U����p�
TdT��dT������UdE�p���Zp�TjTWnWRcRT��[U�U�|��U[�U
ݏ���=	��|�U�0We�Z��Ua��	��Tq�T�*c����	Tq�TA������[U�U�x��U[
ݏ������x�U�e0��[�p�Zd�Q	��`���Э�[p���Э���Э���խ��:ѭ��.Э�UpE�o���Zp�Tp��RgRTPjPWnWPdPRcRT��[U�U�|��U[�U
ݏ���X��|�U�0We�Z���p�TaTT�p�Tp��RqTRqTR�ˏ����WU�U��[��֭��[
ݏ�����0k)������[U�U�x��U[
ݏ������x�U�e9��[U�U�t��U[�U
ݏ�����t�U��t�T�ed�,e��
TpT�qT�y��Z�����Эȭ�Э���ԭ��Vխ�IѬí�9Z(���Y�YZѭ�Y�Y��í�YU�UY�U���Y��ԭ��Z���Z���������PVխ�+խ�&ѭĭ�Э��|�Э��|���|�Z�Z���Z���Z��խ�\խ�Hխ�+ݭ��V��3����PV�X�V������P���X��<���Э�Xí���Y�Y�X������PXݭ��X�������PX�������P��խ�ݭ�ݭ��������P��ѬKެU�U
ݏ��Eլ.ެU�U
ݏ��+ˏ���U�U֭�֭����ԭ�խ�eЭ�U�U�x��U
ݏ���Э�U�U�t��U
ݏ�����x�UХU�E����U�U��t�TޤT�TU�e������P �|���|�����|�Uˏ����UZ�Z Z�Z�Z�Z���Z���Z���Z�Z�Z���Z���Z��խ�ݭ��X������PXխ�ݭ�ݭ�������P��խ�=ݭ��X�������P-׭��~�
�X��
����PXխ��~�
�V�������PVЭ���խ�]ѬWխ��H��X��:����PXݭ��X��e����P�$�[U�U�p��U[�U
ݏ?����p���խ��խ�ݭ��V�������PV�V��խ���V
ݏL��Tݦ��*����PV�V
ݏM��6Э�U�U�p��U
ݏM��Э�U�U�l��U
ݏM����l�UХU�E���Uߥ��p�~ߦ��������V��9����PV�Zݭ��X�������0P��ݭ��X��P����PY�Vݭ���a����P��Э�U�U�l��U
ݏX����l�Uե��p�ݭ��X������P�p���p���ݭ��������Y�Y�լ�uխ�G��X������PXݭ��X������P��Э�U�U�Uˏ������U�UЭ�U�U���U94�[U�U�h��U[�U
ݏp�������h��,խ�[ѭ�9(�[U�U�h��U[�U
ݏv���9�h��x�[U�U�h��U[�U
ݏy��s��h�U���e���[U�U�h��U[�U
ݏ|��F����h��Z����~�
�X������PXѭ�V�~�
�V��	����PV�P��"�~�
ݭ��������P���~�
�V�������PV�Z�����Z�[U�U�p��U[�U
ݏ���ݭ��X�������0PU�U���U�p��Z���~�
�X������PX�Z���X�������PXݭ��X������PY�Y�Y�ˏ������U�U�1�[��+֭��[U�U�p��U[�U
ݏ���#�1�p��������[U�U�p��U[
ݏ������p�U�e9��[U�U�l��U[�U
ݏ������l�U��l�T�ed+������[U�U�p��U[
ݏ�����p�U�e0��[ݭ�������V Э�U�U�UV
ݭ�������V�������X�������[
ݏ���O�kЬU�U�p��U
ݏ���3��p�U���eլЬU�U�l��U
ݏ���
�[�l�Э�P�^ݬ���g��0��8���)`����8���:����P��8����A�������null pointer dereferenced @%s:%d
stdio/_dtoa.c�A B�?� ����4?DQ[�E�@�?;=z0NaN?�����@��)�?�����@���@A��������P����l�����\����^��ݬ��==���P��ݏ��gݬ��=���P���P1DЬ��Э����\g�䵽�1�<������ Э�P�
��Q�
Q�Q��Q�0Q�m�
��׭�խ��֭�Э�P֭�Э�Q֭���m`ѭ����Pѭ�P�ѭ�1����Pѭ�P�Э�P֭�	`ԭ�Э�P֭����Q���Q�a`֭����P���P�`ѭ����Pѭ�P����Pѭ�PLЭ�P֭�`Э�����������Pѭ�Pխ�1
������PÏ�]P~ݬ���;��ì��P���ѭ䏬]���eЏ����P��pݬݬ���;ﶯ�����QP�%���PЬPЭ`Э��PЬP�PЬQ�aP���P����Q�
���Q��a�(Џ������7����^�С��ݏS�����=��longjmp botch
�0������^ЬU�U[	�����P�P�P�PЏ����Pݬ���[��ЬU�U[	�����Uʏ����U�UЏ����PЬU�UZ	���_ЬU�UY	���MЬU�UX	���;ЬU�UW	���)�WUѨU�[ЬU�UV	���Ц[�[ݩ�j��:���P��Э�P�P������P <ЬU�U[	������Џ����PЬU�U[	�����Џ����PЬU�U[	�����ЬU�U[	���zЬU�UZ	���hЪ�ЬU�U[	���QЬU�UZ	���?�����ЬU�U[	���&ЫU�UZ�U��U	���
�jUˏ���UP�^ݬ��b��.��8���Z����8���̦���P��8����;�����null pointer dereferenced @%s:%d
stdio/_IO_getc.cЬU�UZ	������[�[�[P�^ݬ���a��.��8���Z����8���,����P��8����;��������null pointer dereferenced @%s:%d
stdio/ferror.cЬ[�[	���I��P�P(�PQ"�A�P`����������aЏ����P�[��I��NѬH�[	�����[	�����[UѫU$�[	�����[	���ë�U�U��[	�����Uʏ����U%�[	���ݬݬ�k��7���P�����Џ����P�[	���a��3�[	���N�[	���A�[	���4ЫU�U��U��[	������[	������P�^ݬ��`��0��8���EX����8���V����P��8����/9����(���null pointer dereferenced @%s:%d
stdio/fseek.cЬ[�[	������Z�Z(�Z#�J�Ue��)��)�|���[	�	��ի1�[	�	����Uʏ����U�[	�
��gݫ��Y����[	���P���P�[	���=�����P��[	���#ЫU�UZ	����j���[	���������[	�����[	����ѫ��i�[	�����Uʏ����U:�[	����[	����[	�����~ݫ��ȧ���P��[	���kի�P�[	���VЫU�UZ	���D�j�[	���5���[	� ��%���[	�!�����[	�"��ЫP�^ݬ���]��0��8����U����8��������P��8�����6����̡��null pointer dereferenced @%s:%d
stdio/sclose.cЏl9[�[	�	������ [�[��D��[��D�P�[	����[	���ЬU�U��U��[	���vݬ��8����P��[	�
��[�[	�
��N�[	�
��A�����[	���-���[	������[	���Џ����k�[P�^ݬ��n\��0��8���T����8�����P��8����w5����p���null pointer dereferenced @%s:%d
stdio/sopenr.cЏl9[�[	������ [�[�lI��[�lI�P�[	�	��^�[	�	��Q�[	�	��Dԫԫԫ�[	�
��.���[	������[	���Џ����k�[P�^ݬ��T[��.��8���oS����8�����P��8����Y4����R���null pointer dereferenced @%s:%d
stdio/sopenw.c�Ѭ�����Џ����PЬU�U[	�����P�P,�PQ&�A�P`���&k��ЬU�U[	�	��Q��Џ����PЏ����Pݬ���Q��ЬU�UZ	���!ЬU�UY	���ЬU�UX	����ը�[ЬU�UW	����Ч[ЬU�UV	������[U�U��U�ЬU�U[	�����ЬU�U[	���ЬU�UZ	���ѫ�Џ����PЬU�U[	���c��Uʏ����UЬU�U[	���D��������1ЬU�U[	���&�������U�UZ�U�	�����j��P�^ݬ�� Y��.��8���7Q����8���H����P��8����!2�������null pointer dereferenced @%s:%d
stdio/ungetc.c	\���	���L��� 
�����t�8pd��_A<<s6"�H
��L�����������4����
�D�	�������Z���D����.���-��� 4��$�|xZ?rKE�5>+'�K#�=������,���h(��z 
00111222??��~0 	����������|u�&�&�&�&�&�&�&�&x&s&f&a&\&W&R&M&7&(&&�%�%�%�%�%�%�%�%�%�%�%�%�%}%`%P%B%1%!%%%�$�$�$�$�$�$�$�$�$|$l$f$`$Z$T$N$1$|$$$$$�#�#�#�#�#�#�#�#�#p#j#d#^#X#R#L#F#@#$##�"�"�"�"�"�"�"�"�"�"�""y"s"V"P"J"D">"8"2","""�!�!�!�!�!�!�!�!�!�!�!�!�!�!z!t!n!h!b!\!V!P!J!D!>!8!2!,!&! !!!!!!� � � � � � � � � � � � � � � � � � � � � ~ x r l f ` Z T N H B < 6 0 * $       ���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPK�J�J�J�J�JuJYJ7JJ
JJJ�I�I�I�I�I�I�I�I�I�I�I�I�I�IwIbI\IKI9I+N+N*N�P#N#N*N0NNN*NPN�M�MzP�M�M*NFQ�M�M�M�Q�M�MD��|�VdNd�Y�ZL_JdFdBd>d;d8d3d.dvcvcvcvcqcjcbcZc�b�b�b�bWbTbPbvcvcvcvc�a�a�aga\aTaNaaaaa�`�`�`�`�`�`�`�`�`�`�`	�`8�`�`�`�`�_�_�_�_?0s)s�l�m%s!ssssss	sQrQrQrMrHrAr9r1rQrQrQrQrgqcq�p�p�p�p�p�p�p�p�p�p�p�p�puprpfpYpVp8Spe|X|J|E|0|+|&|!|||�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{z{t{n{[{O{F{<{3{-{'{!{{{{	{{�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z|zvzpzjzdz^zXzRzLzFz@z:z4z.z(z"zzzz
zz�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�yzytynyhyby\yVyPyJyDy>y8y2y,y&y yyyyyy�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x~xxxrxlxfx`xZxTxNxCx6x0x*x$xxxxxxx�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w~wxwrwlwfw`wZwTwNwHwBw<w6w0w*w$wwwwwww�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v|vvvpvjvdv^vXvRvLvFv@v:v4v.v(v"vvvv
vv�u�u�
�������������ۂւт̂ǂ�����������������������y�s�m�g�a�[�U�O�I�C�=�7�1�+�%����
����������ׁ݁сˁŁ����������������������}�w�q�k�e�_�Y�S�M�G�A�;�5�/�)�#��������������ۀՀπɀÀ����������������������{�u�o�i�c�]�W�Q�K�E�?�9�3�-�'�!����	���������������������~xrlf`ZJ>)�~�~�~�~�~�~v~m~^~X~R~L~F~@~:~4~.~(~"~~~~
~~�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}z}t}n}h}b}\}V}P}J}D}>}8}2},}&} }}}}}}�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|~|x|r|l|.�"���
�����������܋׋ҋ̋Ƌ������������������p�\�K�.�(�"����
������������Њ��������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
�����������ڈԈΈȈˆ����������������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N�C�=�0����������ۆՆφɆÆ��������������}�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
�����������څԅ΅ȅ…����������������������{�v�t�o�
�����j��e�`�[�܋׋ҋ̋ƋU�����O�I�C�=���7�1�+�%��(�"����
��������
����������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
�����������ڈԈΈ��ˆ����������������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N���=����������ۆՆφɆÆ�������������ۄՄj�d�^�X�R�L�F�@�:�4�.�(�"����
�����������څԅ΅ȅ…����������������������{�v��o�
�����j��e�`�[�܋׋ҋ̋ƋU�����O�I�C�=���7�1�+�%��(�"����
��������
����������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
�����������ڈԈΈ������y�b�K�4������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N�	����̓������}���ۆՆφɆÆ�������������ۄՄj�d�^�X�R�L�F�@�:�4�.�(�"����
�����������څԅ΅ȅ…����������������������x�v��o�
�����j��e�`�[�܋׋ҋ̋ƋU�����O�I�C�=���7�1�+�%��(�"����
��������
����������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
�����������ڈԈΈȈˆ����������������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N���=����������ۆՆφɆÆ�������������ۄՄj�d�^�X�R�L�F�@�j�4�.�(�"����
��������M���څԅ΅ȅ…������������������3������׏Ǐ��������������������s�������������ؒɒ��������~�x�h�]�O�$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)k�f�`�Y�P�J�E�@�;�6�2�*�#�����	���������ި٨ըΨǨ¨��t���H�Ϋ�4���H�Ȳ$�h�����b�$��*���v�F�������������F���b��$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)

		$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)2�w$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)�//bin/shPATH:/bin:/usr/binsh/etc/passwdb8�BrC�D�F*H�H>JN�Q�RU�X�X�X}XeX[XAX/XX
XX�W�W�W�W�W�W�W�WwWgWXWGW3WWWW�V�V�V�V�V�V�VyVoVYVCV*VV�U�U/tmp/tn000000000000�Y� @pp�pjo�^�o�p�p�p�o�d�o�o�`pFp�ƑƑ0�B����ƑƑƑl��N���2���0� 5Z4Z4Z4Z4Zt�         (((((                  H���������������������� 6�ʬ*Day Mon 00 00:00:00 1900
SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec/lib/dst��}�@ B�CzEG@�HPtJ$L���M �nO(kQ��R�C@hT��V�*�W ��cY�_�1[���\���.^^kv:@
`#lj�a�x��bXc&���zex�n2���fh
?�WSh��Ρ�[���u��+��p�%��ľ�MO�E��9F���R�*�����6�<d<"�E�r(&&(*/�=$<B DD>�>D>DLDUDbDiG!D�J�D���D���Q��V�mY$�_2Pe�(h�D���D �D!�D"�D"���D#�D$���D%��D&���D(���D)�D*�D+�
D-
D.�"D/"D0%�'D2'D3)D4=�AD5AD6R��e�kD8kD9p�D;�D<�D=��D>������D"��($�m��b����@�@"
�@	��DA��A���A��$C����2�����(����"DE���DF�DF�DG�DH�DF�DI���DJ��J���J���m$L�
 P�(�DN���DR�DSDTDT�DU�5DT5'(b�m�.@(0��:DW:�W:>�W;H$Y<M<S2DX�(Z�h�"l�(q�D[>�>D_>D`X�]Da]�DbsDc}��Dd�De���Df���Dh�����Dj�Dk�Dl���Dm���Dn���Dp�Dq����@(���@(
����Ds��s���s��$u�� D��(����(�������Dw���D{�D|�D}D~!DH�JD�J��J���K�&����$�L D�("�-�(0�;�@��D�N�ND�ND�TE�D��I���D��M�D��D��D��R�D������D��D��D��D��D��D����D��D��D�W��(D�(\@�^��*D�*��*l��+t$�,� P��D�.�.D�.D�9��D�Q�YD�Y��Y���Z�$�Z� DD�_�_D�_��D�g��D�oD�r������D���������� (���\�`"�`"�`0�`(�^\*`"/`"4`":`$=^K\V`"]`e`o^z\�`b��^�\�`�`�`�`�`�`
�`

�`l��`b"��`l$��`$�^(�\�`�`�``l�
	`l�^\5`8`>`D`"H`"K`"N`"Q`V`b�\^ z�����8�d8��Epr(�&h���������������������������t�8�p�d�_�A�<�6�"�
������"�&�*�.�2 =�N�R$!8Y2D`�(d�o�(r�}����D#:�:D':D(@�pD*UD+l�nD,n�,n��,o�\�`"�`"�`0�`(���^�\�`"�`"�`"`$^\`"&`.`8^C\N`b�R^]\i`l`v``�`�`
�`

�`l��`b"��`l$��`$�^(�\�`�`�`�`l�
�`l��^�\�```
`"`"`"`"``b�%^ C�,oI,�Rd�X�Epr(\ ��d	g�j ��v�y�|�������$�� D��(����(�������D���D�D�D�D��DDD D'�+�+D"+D".D#4D"K�OD%OD%Q�\D&\D'���D(�D(���D)���D+���D.�D/��D0�D1D2,��D3=�GD4GD5X���i�i��bX!��iD9i���{D%{D;�������8 ���@��dX ��@
��D<��<���<�\`"`"%`0.`(2�C^T\e`"j`"o`"u`$x^�\�`"�`�`�^�\�`b��^�\�`�`�`�`�`�`
	`

		`l�	`b"�	`l$�	`$	^(*	\3	`6	`=	`C	`l�
G	`l�L	^U	\s	`v	`|	`�	`"�	`"�	`"�	`"�	`�	`b��	^ �	�<��	<	�	d	�	�Etr(�	$	�	 D�	�(�	�
�(
�
�
��D		�	D	D	

D.	D1	D1	�=	D=	DK	D}	��	D�	D�	��	D�	D�	D�	
�	��	D�	D�	"
�&
�/
@1
�8 5
�A
@
F
@	I
@��	D�	��	L
��	Y
\j
`"o
`"w
`0�
`(�
��
^�
\�
`"�
`"�
`"�
`$�
^�
\�
`"�
`�
`�
^
\`b�^$\0`3`=`F`L`Q`
V`

[`l�a`b"�e`l$�j`$p^(|\�`�`�`�`l�
�`l��^�\�`�`�`�`"�`"�`"�`"�`�`b��^ 
��	 
"d 
,�Eur(0$
 
< DH�(K�V�(Y�d�i��D)
�)
D)
D+
D4
D:
�I
DI
n(DV
Dr
D�
D�
q
D�
D�
D�
��
D�
D �
��
D!�
D"�
D#�
�D%D&D("uD)3D*=D,PD-aD.kD0~D1�y���D���D�D6�D7�}�����8 ���@��b� �d��b!�d��bd!�d�@
��h!��l!��D8��8���8��\�`"�`"�`0�`(��
^
\'
`",
`"1
`"7
`$:
^K
\V
`"]
`e
`o
^z
\�
`b��
^�
\�
`�
`�
`�
`�
`�
`
�
`

�
`l��
`b"��
`l$��
`$�
^(�
\�
`�
`�
``l�
	`l�^\5`8`>`D`"H`"K`"N`"Q`V`b�\^ z�8��84�d4��Exr(�$4� D��(����(�������D	=�=D=DC��DRDUDU�[D[DiD���D�D�����D�D������@�@
��8 ����D������\`"`"`0(`(,�=^N\_`"d`"i`"o`$r^�\�`"�`�`�^�\�`b��^�\�`�`�`�`�`�`
�`

`l�	`b"�
`l$�`$^($\-`0`7`=`l�
A`l�F^O\m`p`v`|`"�`"�`"�`"�`�`b��^ ������d���Exr(�$�� D��(����(�����D	���D�D�
D
D�D�D���D�D�D
�0
D0
D5
�:
�:
D:
D>

��@@
!�8 %��@
D@
�@
1�A
;\L`"Q`"Y`0b`(f�w^�\�`"�`"�`"�`$�^�\�`"�`�`�^�\�`b��^\```(`.`3`
8`

=`l�C`b"�G`l$�L`$R^(^\g`j`q`w`l�
{`l��^�\�`�`�`�`"�`"�`"�`"�`�`b��^ ��A
�H
�dH
�E{r($H
 D�("�-�(0�;�@��D
Q
�Q
DQ
Dm
Dv
D�
D�
E�I�R�8 V���
D�
��
b��
l\}`"�`"�`0�`(���^�\�`"�`"�`"�`$�^�\�`"``^\(`b�,^7\C`F`P`Y`_`d`
i`

n`l�t`b"�x`l$�}`$�^(�\�`�`�`�`l�
�`l��^�\�`�`�`�`"�`"�`"�`"�`�`b��^ ��
%�
.d�
4�E|r(8$�
@ DH�(K�V�(Y�d�i��D	�
��
D�
D�
nJD�
D�
D�
��
D�
D�
D�
�DD�Dq4�-D-D1u�y��@�@
��8 ���3D3�3��4�\�`"�`"�`0�`(���^�\�`"`"	`"`$^#\.`"5`=`G^R\]`b�a^l\x`{`�`�`�`�`
�`

�`l��`b"��`l$��`$�^(�\�`�`�`�`l�
�`l��^�\
````" `"#`"&`")`.`b�4^ R�4XLbdLi�E}r(m$	Lv D�(����(�������DU�UDU�oDoD�D�D�D���D���D���D�D���D�������8 ����< ��D�������\�`"�`"�`0�`(��
^\/`"4`"9`"?`$B^S\^`"e`m`w^�\�`b��^�\�`�`�`�`�`�`
�`

�`l��`b"��`l$��`$�^(�\�```
`l�
`l�^\=`@`F`L`"P`"S`"V`"Y`^`b�d^ �����d��E�r(�$� D��(����(�������D	%�%D%�+D+��D3�<D<DMDqD���D�D���D�D�D�DDD(D9��D XD!eD"pD"s�wD#wD%���D&�D&���D'���D"�D)�D*��l�d�tD+_�����@�@
@	@�8 �@�< @%�@ (�D �aD,a�,a+�,b5\F`"K`"S`0\`(`�q^�\�`"�`"�`"�`$�^�\�`"�`�`�^�\�`b��^\```"`(`-`
2`

7`l�=`b"�A`l$�F`$L^(X\a`d`k`q`l�
u`l�z^�\�`�`�`�`"�`"�`"�`"�`�`b��^ ��,b�,��d���EL�'&h 
 

��!$�'�*�-�1�5�9�=�A�E�I�M�Q�U|Yx]raKeEi>m+q'u#y}������������ �������\�`"�`"�`0�`(���^\`"`""`"(`$+^<\G`"N`V``^k\v`b�z^�\�`�`�`�`�`�`
�`

�`l��`b"��`l$��`$�^(�\�`�`�`�`l�
�`l��^\&`)`/`5`"9`"<`"?`"B`G`b�M^ k��q$zd$��ER�'�$$� D��(����(�������D	-�-D-D/D5D?�WDWDYD^Dg�k�kDkDnDtD���D�D���D�D���D�D���D���DD�wD 4D!D�iD#d���$�0�1�G�>�U�DD*�����@��8 ���dX �@
�D+�+�+\)`".`"6`0?`(C�T^e\v`"{`"�`"�`$�^�\�`"�`�`�^�\�`b��^�\�`�`�` ` ` `
 `

 `l�  `b"�$ `l$�) `$/ ^(; \D `G `N `T `l�
X `l�] ^f \� `� `� `� `"� `"� `"� `"� `� `b�� ^ � �+� +�� d�� �ES�'� $�� �� 2D� �� �� �,D	���D�D
�!D�D�D�!D
DD(!@
!@
�XDX�X!�Y!$Z! D'!�(*!�5!�(8!�C!�H!��Dc�cDcDiM!DxD {D {��D!�D"�D#���D$�D$���D%�D%�D&�D%��D D(
Q!@S!@
X!�(\!�h!�8 l!��D)�)u!�)
~!\�!`"�!`"�!`0�!`(�!��!^�!\�!`"�!`"�!`"�!`$�!^"\"`""`"`$"^/"\:"`b�>"^I"\U"`X"`b"`k"`q"`v"`
{"`

�"`l��"`b"��"`l$��"`$�"^(�"\�"`�"`�"`�"`l�
�"`l��"^�"\�"`�"`�"`�"`"�"`"#`"#`"#`#`b�#^ /#�)
5#)DA#dDJ#�ET�'N#&�S#��Y#&�a#�j#�m#�p#~s#$D}# D�#�(�#��#�(�#��#��#��DM�MDMDk��D�D���D�D�D��#3�#1�#<�#4�#AD#C�#D$\�#D%iD&w�#�D'�D(��#�D)��#�D+��#�(�#��#�8 �#��#@�#�b8"��#�<"��D,��,��#�,�$\$`"$`""$`0+$`(/$�@$^Q$\b$`"g$`"l$`"r$`$u$^�$\�$`"�$`�$`�$^�$\�$`b��$^�$\�$`�$`�$`�$`�$`�$`
%`

%`l�%`b"�%`l$�%`$%^('%\0%`3%`:%`@%`l�
D%`l�I%^R%\p%`s%`y%`%`"�%`"�%`"�%`"�%`�%`b��%^ �%�,��%,��%d��%�EW�'�%$��% D�%�(�%��%�(�%�&�&��D	���D�D�&LD�D�D���D�D�D
�*D*D/�4D4&=DID^&9�oDoDw&� &�)&@+&@
0&�b �4&�808&��yD y� yD&� zO&&�(V&(�^&0b& f&j&	n&�r&�v&�z&�~&��&��&��&��&��&��&|�&u�&$6z�& P�&�,�&�"�&�D8���D<�D=���D@��&lDA�DC�DD�DF�DG�DI�DJ��&IDK�&?DL/DM=�PDNP�&2DO���DQ��&"DR�DS���DT��&DU�DW��& ���&�b��DY�Y�&�Y�&\
'`"'`"'`0 '`($'�5'^F'\W'`"\'`"a'`"g'`$j'^{'\�'`"�'`�'`�'^�'\�'`b��'^�'\�'`�'`�'`�'`�'`�'`
�'`

�'`l�(`b"�(`l$�
(`$(^((\%(`((`/(`5(`l�
9(`l�>(^G(\e(`h(`n(`t(`"x(`"{(`"~(`"�(`�(`b��(^ �(�Y�(YP�(dP�(�Eb�'�( ���(�&�(�&�(�&�(�&�(�&�(�&�(�&�(�&�(x&�(s&�(f&�(a&�(\&�(W&)R&)M&)7&)(&)&)�%)�%)�%#)�%')�%+)�%/)�%3)�%7)�%;)�%?)�%C)�%G)�%K)}%O)`%S)P%W)B%[)1%_)!%c)%g)%k)�$o)�$s)�$w)�${)�$)�$�)�$�)�$�)�$�)|$�)l$�)f$�)`$�)Z$�)T$�)N$�)1$�)$�)$�)$�)$�)�#�)�#�)�#�)�#�)�#�)�#�)�#�)�#�)�#�)p#�)j#�)d#�)^#�)X#�)R#�)L#�)F#*@#*$#*#*�"*�"*�"*�"*�"#*�"'*�"+*�"/*�"3*�"7*�";*"?*y"C*s"G*V"K*P"O*J"S*D"W*>"\*8"a*2"f*,"k*"p*"u*�!z*�!*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*z!�*t!�*n!�*h!�*b!�*\!�*V!�*P!�*J!�*D!�*>!�*8!�*2!�*,!+&!+ !+!+!+!+!+!$+� )+� .+� 3+� 8+� =+� B+� G+� L+� Q+� V+� [+� `+� e+� j+� o+� t+� y+� ~+� �+� �+� �+~ �+x �+r �+l �+f �+` �+Z �+T �+N �+H �+B �+< �+6 �+0 �+* �+$ �+ �+ �+ �+ �+ �+ �+�,�,�
,�,�,�,�,�#,�(,�-,�2,�7,�<,�A,�F,�K,�P,�U,�Z,�_,�d,|i,vn,ps,jx,d},^�,X�,R�,L�,F�,@�,:�,4�,.�,(�,"�,�,�,�,
�,�,��,��,��,��,��,��,��,��,��,��,�-�	-�-�-�-�-�"-�'-�,-�1-�6-�;-z@-tE-nJ-hO-bT-\Y-V^-Pc-�Pn-�&z-d�&�-�Eb�'�-$�&�-�&�-2D�-�D	�&��&D
�&�-�,D�&�'D'�-�,�-z,�-�,D
:'D
G'�-l,DT'Da'�-],Dn'D{'�-7,��'D�'�-/,D�'�--,��'D�'��'�-��'�-$�'�- D�-�(�-��-�"D�'��'D�'D�'D�'D�'D�'D �'D!�'D"�'D#�'D$�'D%�'D&�'D'(D( (D)?(D*_(D+d(�-��-��-@�f(D,f(�,f(.�,g(
.$.h(. D%.�((.�3.�(6.�A.�F.��D0q(�q(D8q(��(D9�(D9�(��(D:�(D;�(D;�(��(D<�(K.�+O.�+S.,W.�+[.�+_.,D?)�&)D@&)�5)DA5)c.�+DBN)DC])h.�+m.�+��)DE�)r.�+��)DG�)��)D;�)DI�)DI�)��)DJ�)DJ�)DK�)DL�)DL�)DJ�)DM�)DN�)w.�+DP*|.�+DQ!*�/*DI/*DS1*DT4*�.�+DUA*DVK*DWM*�.�+DXZ*DYe*DZs*�.+D\�*�.v+D]�*D^�*D_�*�.[+Da�*�.E+Db�*Dc�*Dd�*�.*+Df+�.+Dg+�.@,�.@
�.@	�.�(�.��+Dh+�h+�.�h+�.\�.`"�.`"�.`0�.`(�.�/^/\-/`"2/`"7/`"=/`$@/^Q/\\/`"c/`k/`u/^�/\�/`b��/^�/\�/`�/`�/`�/`�/`�/`
�/`

�/`l��/`b"��/`l$��/`$�/^(�/\�/`�/`0`0`l�
0`l�0^0\;0`>0`D0`J0`"N0`"Q0`"T0`"W0`\0`b�b0^ �0�h+�0h�,�0d�,�0�Ee�'�0$�,�0 D�0�(�0��0�(�0��0��0��D	�,��,D�,��,D�,�0(-D�,��,D�,D�,D�,D�,�-D-D-�#-D#-�0��0��0��0�< �0��%-D%-�%-�0�&-�0\1`"1`"1`0&1`(*1�;1^L1\]1`"b1`"g1`"m1`$p1^�1\�1`"�1`�1`�1^�1\�1`b��1^�1\�1`�1`�1`�1`�1`�1`
�1`

2`l�2`b"�2`l$�2`$2^("2\+2`.2`52`;2`l�
?2`l�D2^M2\k2`n2`t2`z2`"~2`"�2`"�2`"�2`�2`b��2^ �2�&-�24-�2d4-�2�Ef�'�2$4-�2 D�2�"�2�"D	9-�9-D
9-D
>-�L-DL-�2�-D_-�h-Dh-Dj-Dx-D�-D�-D�-D�-D�-D�-D�-D�-D�-�2@�2�"��-D�-��-�2��-	3\3`"3`"'3`003`(43�E3^V3\g3`"l3`"q3`"w3`$z3^�3\�3`"�3`�3`�3^�3\�3`b��3^�3\�3`�3`�3`�3`�3`4`
4`

4`l�4`b"�4`l$�4`$ 4^(,4\54`84`?4`E4`l�
I4`l�N4^W4\u4`x4`~4`�4`"�4`"�4`"�4`"�4`�4`b��4^ �4��-�4�-�4d�-�4�Eg�'�4$�-�4 D�4�(�4�5�(5�5�5��D	�-��-D�-D�-5�.D.D.D.�.D.D.DB.�b.Db.Dg.�l.Dl. 5�.D�.��.D�.D�.$5�(5�15@35@
85�8 <5���.D�.��.H5��.T5\e5`"j5`"r5`0{5`(5��5^�5\�5`"�5`"�5`"�5`$�5^�5\�5`"�5`�5`�5^6\6`b�6^6\+6`.6`86`A6`G6`L6`
Q6`

V6`l�\6`b"�`6`l$�e6`$k6^(w6\�6`�6`�6`�6`l�
�6`l��6^�6\�6`�6`�6`�6`"�6`"�6`"�6`"�6`�6`b��6^ 7��.7�.7d�.7�Eh�'#7$�.-7 D77�(:7�E7�(H7�S7�X7��D�.��.D�.D�.D�.D#�.��.D$�.]74D$�.��.D%�.D&/D'/D()/D);/D*M/`7�3D-~/��/D.�/D.�/��/D/�/D0�/D1�/D2�/��/D4�/c7�3�0D50D50�0�0D70g7�nD8*0D950D:<0�F0D<F0�Z0D=Z0m7�2D>s0D?w0D?w0D@y0DA|0DB�0DC�0DD�0DD�0DE�0��0DE�0DE�0DE�0u7�3��0��0DH�0��0DI�0DJ1DK1DK1DM
1y7�1DN.1DN.1DO41DP71DQ;1DR>1�K1DRK1DRS1DR]1�~1�~1��1DU�1DV�1DW�1DW�1DX�1�7�3DY�1��1DZ�1�7{3D\�1D]�1��1D_�1�7d3D`�1�7@�7@
�7@	�7@�7@�7@�7��7��7��7��7��7��7��7�D�7��7�H�7�L��1Da�1�a�1�7�a�1�7$c�1�72D�7��7�8�8�8�	8�8�8�" De�1��1Di�1Dj!2Dk&2Dl*2Dm.2Dn22Do>2DpJ2DqN2DrR2Ds]2Dth2Dus2Dvy2Dw�2Dx�2Dy�2Dz�2D{�2D|�2D}�2D~�28�8� 8�8 $8���2D�2��208��268$��2=82DD8�G8�M8�S8�U8�
W8�c8�"D��2��2D��2D��2D��2D�3D�	3D�$3D�-3D�23D�?3D�R3D�R3D�T3D�X3g8@,j8�(n8��a3D�a3��a3z8��b3�8(b�n��8\
�8`�8`�8^
�8\�8`"�8`"�8`0�8`(�8��8^�8\9`"
9`"9`"9`$9^)9\49`";9`C9`M9^X9\c9`b�g9^r9\~9`�9`�9`�9`�9`�9`
�9`

�9`l��9`b"��9`l$��9`$�9^(�9\�9`�9`�9`�9`l�
�9`l��9^�9\:`:`:`":`"&:`"):`",:`"/:`4:`b�::^ X:��b3_:� 4j:d 4r:�Eo�'v:$ 4�: D�:�(�:��:�(�:��:��:��D	)4�)4D)4D/4�:�4D>4DA4DA4�G4DG4DU4Dx4��4D�4D�4��4��4D�4D�4�:��:��:@�:@
�:�8 �:���4D�4��4�:��4�:\�:`"�:`";`0;`(;� ;^1;\B;`"G;`"L;`"R;`$U;^f;\q;`"x;`�;`�;^�;\�;`b��;^�;\�;`�;`�;`�;`�;`�;`
�;`

�;`l��;`b"��;`l$��;`$�;^(<\<`<`<` <`l�
$<`l�)<^2<\P<`S<`Y<`_<`"c<`"f<`"i<`"l<`q<`b�w<^ �<��4�<�4�<d�4�<�Ep�'�<$�4�< D�<��<��<��<�(�<��<�"D�4��4D�4D�4D�4D�4D�4D�4D�4D5D5D5D5D"5D>5DC5Dg5D�5D �5�<��<��<@��5D!�5�!�5�<�!�5=$#�5= D!=�($=�/=�(2=�==�B=��D%�5��5D1�5D2�5D3�5D9�5G=�=D:�5��5D<�5D<�5D=�5D=�5��5D>�5K=�=D>�5�6�6D@6�6DA6DA6�!6DB!6DC86DD\6DE�6��6DF�6O=�=��6DG�6��6DH�6DH�6��6��6��6DK�6��6DL�6DL�6��6DM�6DN�6DO7DP$7�+7DR+7S=�=�?7DS?7DSD7�M7�M7DUM7W=v=[=p=_=|=DW�7DX�7c=`=DY�7DZ�7g=�o��7D[�7D[�7��7D\�7m=P=D]	8�8D[8D_ 8r=K=D`+8w=1=Da68|==DbA8�=�<DcL8�=�<DdW8�=�<Deb8�=�<Dfm8�=�<Dgx8�=�<Dh�8�=�<Di�8�=g<��8Dt�8Du�8Dv�8Dw�8Dw�8Dx�8�=�sDw�8Dy�8Dy�8��8Dz�8��8D{�8D{�8�9D|9D|	9�9D}9D}9D}D9�R9D}R9D}a9�k9D}k9�=\<D}�9��9D}�9D}�9��9��9D}�9D}�9�=�L��9D}�9D~�9��9D|�9��9Dy�9D��9�:D�:�:D�:D�":�+:D�+:D�0:�::D�::D�>:D�e:�s:D�s:D��:��:D��:D��:��:D��:D��:��:��:D��:D��:�=�L��:D��:D��:��:D��:�;D�;D�
;D�3;�B;D�B;D�Q;�[;D�[;D�w;��;D��;D��;��;��;D��;D��;�=�L��;D��;D��;D��;D��;�=Z<D�
<D�<D�<D�<�=R<D�9<D�=<�=P<D�J<�= �= "�=@,�=@(
�=�>�(>�>@	>@>@>@!>�,)>�0/>�45>�8;>�b8�?>�<C>�@I>�"D�L<D�L<��L<N>��M<Y>(��o�^>(d�s�c>\t>`"y>`"�>`0�>`(�>��>^�>\�>`"�>`"�>`"�>`$�>^�>\�>`"�>`�>`	?^?\?`b�#?^.?\:?`=?`G?`P?`V?`[?`
`?`

e?`l�k?`b"�o?`l$�t?`$z?^(�?\�?`�?`�?`�?`l�
�?`l��?^�?\�?`�?`�?`�?`"�?`"�?`"�?`"�?`�?`b��?^ @��M<@��=%@d�=+@�Er�'/@$�=8@ DA@�(D@�O@�(R@�]@�b@��D	�=��=D�=��=D�=D>�>�	>D	>D>�&>D&>D+>�0>�0>D0>Dg>��>D�>D�>��>D�>g@�k@�t@�v@�x@�@ |@���>D�>��>�@��>�@\�@`"�@`"�@`0�@`(�@��@^�@\�@`"�@`"�@`"�@`$A^A\A`"%A`-A`7A^BA\MA`b�QA^\A\hA`kA`uA`~A`�A`�A`
�A`

�A`l��A`b"��A`l$��A`$�A^(�A\�A`�A`�A`�A`l�
�A`l��A^�A\�A`B`B`B`"B`"B`"B`"B`B`b�$B^ BB��>HB�>VBd�>aB�Ex�'eB$�>nB�>xB2D�B��B��B��B�(�B��B�"D	�>��>D�>D
�>D�>D�>D�>D�>D�>D�>D�>D�>D�>D�>D?D
?D3?DQ?DW?�B��B��Y?DY?�Y?�B�Z?�B&�h�Bh��BK�B�J�B�J�B�J�B�J�B�J�B&���B���BuJ�BYJ�B7J�BJ�B
J�BJ�BJ�B�IC�IC�I	C�I
C�IC�IC�IC�IC�I!C&��'C��
.C�I2C�I6C�I:C�I>C�IBCwIFCbIJC\INCKIRC9IVC$AZ?dC DrC�(uC��C�(�C��C��C��DCc?�c?DLc?�i?DMi?�CIDNv?DNx?DO�?�C	IDN�?DP�?��?DR�?�C�?��?DU�?�@DV@DV@�@DW@�C�HDX7@�C�HDYD@DYK@�V@DZV@�C�H�y@DYy@D]�@D_�@��@D`�@D`�@��@Da�@�C�HDb�@�CVHDc�@Dc�@��@Dd�@�C@H�"ADc"ADg)ADi)A�C.HDjBADkOADlZA�vADmvADm{A��ADn�ADo�ADp�ADq�A�CHDs�A�C�GDu�A�C�GDv�ADx�A�C�GDy�ADzBD{B�*BD|*BD|/B�8BD}8BD~CBDHBD�OBD�^BD�vBD��BD��BD��B��BD��BD��B��BD��BD��BD��BD�"C�-CD�-C�C�G�DCD�DCD�IC�RC�RCD�RC�C�G�C�G�C�GD��CD��CD��C��CD��CD��C��CD��CD��CD��C��CD��C�C�GD�DD�D�C�G�$DD�$DD�3D�CwGD�@DD�OD�CjGD�\DD�kDD^GD�xD	DBG��D��DD��DD%GD��DD��DD��DD��DDGD��DD��DD�FD�
ED�ED�ED�FD�6ED�=E"D�FD�JED�PED�~E��ED��ED��E��ED��E'D�FD��ED��E,D�F1D�FD��E6D�FD� F;D�FD�MF@D�FD�zF�zFD�zFED ��OD ��UD ��]D ��cD ��iD ��oD@,qD@
sD�(wD��D�,�D�0�D�@ �D��D�D �D�H �D�L �|FD�|F��|F�D��}F�D\�D`"�D`"�D`0�D`(�D��D^E\E`"E`"E`""E`$%E^6E\AE`"HE`PE`ZE^eE\pE`b�tE^E\�E`�E`�E`�E`�E`�E`
�E`

�E`l��E`b"��E`l$��E`$�E^(�E\�E`�E`�E`�E`l�
�E`l��E^F\ F`#F`)F`/F`"3F`"6F`"9F`"<F`AF`b�GF^ eF��}FpF�0K|Fd0K�F�Ey�'�F$0K�F0K�F2D�F��F��F�(�F��F�"D	9K�9KD
9KDBKD�KD�K�F��F��F���KD�K��K�F��K�F$�K�F D�F�(�F��F�(�F�	G�G��D�K��KD�KD�KD �KG�MD!�K��KD#�KD#LD$LD$L�LD%LG�MD%L�%L�%LD'%LD(/LG�MD)GLD)GL�WLD*WLD+lLD,pLD-sL�wLD.wLD/�LD0�L��LD2�LD2�L��LD3�L��LD4�LG�MD5�L��LD7�LD8�LD8�LD9�LD:�L��LD2�LD<�L��LD=�L#G{M��LD>�LD>�L��L��LD@�L�MDAMDAM�MDCMDD0MDE4M'GlMDFMM�ZMD)ZMDHfM+G "2G 9G@=G�(AG�MG@
SG@	YG@\G�b���`G@bG@�hMDIhM�IhMgG�IiMsG\�G`"�G`"�G`0�G`(�G��G^�G\�G`"�G`"�G`"�G`$�G^�G\H`"H`H`H^$H\/H`b�3H^>H\JH`MH`WH``H`fH`kH`
pH`

uH`l�{H`b"�H`l$��H`$�H^(�H\�H`�H`�H`�H`l�
�H`l��H^�H\�H`�H`�H`�H`"�H`"�H`"�H`"�H`I`b�I^ $I�IiM-II�M6Id�M<I�E��'@I&h�DI�II��ZI+N]I*N`I#NcINfINiI�MlI�MpI�MtI�MxI�M|I �I��I�M�I�M�I\�I`"�I`"�I`0�I`(�I��I^�I\�I`"J`"J`"J`$J^J\*J`"1J`9J`CJ^NJ\YJ`b�]J^hJ\tJ`wJ`�J`�J`�J`�J`
�J`

�J`l��J`b"��J`l$��J`$�J^(�J\�J`�J`�J`�J`l�
�J`l��J^�J\	K`K`K`K`"K`"K`""K`"%K`*K`b�0K^ NK��MTK0N]Kd0NcK�E��'gK$
0NqK D{K�(~K��K�(�K��K��K��D9N�9ND9NDXN�NDND�N��ND�ND�ND�N�K�ND�N�K��K��K�8 �K��K�bD �	�K�bX ���ND�N��N�K��N�K\�K`"�K`"�K`0L`(L�L^(L\9L`">L`"CL`"IL`$LL^]L\hL`"oL`wL`�L^�L\�L`b��L^�L\�L`�L`�L`�L`�L`�L`
�L`

�L`l��L`b"��L`l$��L`$�L^(�L\M`
M`M`M`l�
M`l� M^)M\GM`JM`PM`VM`"ZM`"]M`"`M`"cM`hM`b�nM^ �M��N�M$O�Md$O�M�E��'�M&�l�Ml�M���M&(x�Mx�M��M$$O�M$O�M2D�M�"D-O�-OD-ODKODgODtOD�OD�OD �O��OD!�OD"�OD"�O��OD�OD$�O��OD%�O��OD&�OD'�O�M�R��O��O��OD+�OD,�ON}R�PD/PN@N�b�N�$N�N@
!N�L %N��PD0P�0P1N�0P9N$2PFN DSN�(VN�aN�(dN�oN�tN��D3P�PD4P�$PD5$PD5)P�.PD6.P�:PD7:PyNcR�JPD8JPD8OP�TP�TPD:TP�lPD;lPD;qP�vPD<vP�xPD=xP�=xP}N�=yP�N$?zP�N D�N�(�N��N�(�N��N��N��D@|P�|PDA|P��PDB�PDB�P��PDC�P��PDD�P�NHR��PDE�PDE�P��P��PDG�P��PDH�PDH�P��PDI�P��PDJ�P�J�P�N�J�P�N$L�P�N D�N�(�N��N�(�N�
O�O��DM�P��PDN�P��PDO�PDO�P��PDP�P�QDQQO,R�QDRQDRQ� Q� QDT Q�8QDU8QDU=Q�BQDVBQ�DQDWDQ�WDQO�WEQ O$YFQ,O D8O�(;O�FO�(IO�TO�YO��DZHQ�HQD[HQ�VQD\VQD\[Q�`QD]`Q�lQD^lQ^OR�|QD_|QD_�Q��Q��QDa�Q��QDb�QDb�Q��QDc�Q��QDd�Q�d�QbO�d�QnO$f�Q{O D�O�(�O��O�(�O��O��O��Dg�Q��QDh�Q��QDi�QDi�Q��QDj�Q��QDk�Q��QDl�QDl�Q��Q��QDn�Q�RDoRDo	R�RDpR�RDqR�qR�O�qR�O\�O`"�O`�O`h�O��
�O^��O\�O`"P`	P`P`P`P^%P\0P`"6P`";P`$BP`$JP`$OP`$VP`$^P^iP\zP`"P`"�P`0�P`(�P��P^�P\�P`"�P`"�P`"�P`$�P^�P\�P`"�P`Q`Q^Q\%Q`b�)Q^4Q\@Q`CQ`MQ`VQ`\Q`aQ`
fQ`

kQ`l�qQ`b"�uQ`l$�zQ`$�Q^(�Q\�Q`�Q`�Q`�Q`l�
�Q`l��Q^�Q\�Q`�Q`�Q`�Q`"�Q`"�Q`"�Q`"�Q`�Q`b��Q^ R�qR#Rq�R.Rd�R6R�E��':R CR�NRVdQRNdTR�Y\R�ZeRL_mR�qRJduRFdyRBd}R>d�R;d�R8d�R3d�R.d�R$)�R�R�R�R2D�R��R�"D+�R��R��RD1�RD1�RD1SD1SD1-S�Rd�HSD2HS�RdD3USD3XSD4\S�R�cD3�SD5�S�R�cD7�S�R&����R@�R�(�R��R�8 �R���SD8�S�8�S�R�8�S�R$:�S�R�S�R2D�R��R�"D<�S��S��SD@�SD@�SD@TD@TD@-T�HTDAHT�R�cDBUT�R�cDCgT�RwcDDyT�R��R�S�8 S��{TDE{T�E{TS�E|TS�Svc!Sqc&Sjc+Sbc0SZc5S$G|T8S|T<S2D?S�CS�"DI�T��T��TDO�TDO�TDO�TDO�TDO�T�UDOUDPUGSFcDQULS9cDR&UDR)UDS.UDR^UDTbUQS7cDUoUVS�bDW�U[S�bDY+V`S&���dS@fS�(jS�vS�8 zS��-VDZ-V�Z-V�S�Z.V�S��S�b�S�b�S�b�S�b�S$\.V�S.V�S2D�S��S�"D^7V�7V�7VDc7VDc\VDcxVDc�VDc�V��VDc�VDd�V�S[bDgW�S&����S�(�S��S�8 �S��WDhW�hW�S�hW�S��SWb�STb�SPb�S$jW�SWT2DT�T�"DlW�W�WDrWDrDWDr`WDrmWDr�W��WDs�WT2bDt�WDt�WDu�WDt�WDv�WTbDxXT�aDz]XT&���T@!T�(%T�1T�8 5T��_XD{_X�{_X>T�{`XBT�GT�aLT�aQT�aVT$}`XYT`X]T2D`T�dT�"DiX�iX�iXD�iXD��XD��XD��XD��X��XD��XhT�aD��XD�YD�YD�YD�>YD�BYmT�aD�\YrToaD��YwT&���{T@}T�(�T��T�8 �T���YD��Y���Y�T���Y�T&��T��Tga�T\a�TTa�TNa�T$��Y�T2D�T�(�T��T��T��D��Y��YD��Y��YD��Y�T/aD��Y��YD��Y��YD��YD��YD��YD��YD��YD��YD��YD��Y��YD��YD��Y�TaD�
ZD�ZD�"ZD�2ZD�7ZD�GZD�LZD�\ZD�aZD�qZD�vZD��ZD��Z�T@��ZD��Z���Z�T���Z�T&h$U$U��UaUaUa#Ua(U�`-U�`2U�`7U�`<U�`AU�`FU�`KU�`PU�`UU�`ZU�`_U�`dU�`iU�`nU�`sU�`xU$��Z�U2D�U�(�U��U��U��D��Z��ZD��ZD��ZD��ZD��Z��ZD��ZD��ZD��Z��ZD��ZD��Z��ZD��Z��ZD��Z��ZD��Z�U�`D��ZD��ZD��Z�U�`D�[D�[�U�`D�([D�*[D�:[D�g[D�k[�U�`D�x[��[D��[D��[D��[D��[D��[D��[D��[D��[D��[D��[��[D��[�Uw`D��[D��[D�\�Uq`D�6\D�:\D�G\�O\D�O\�T\D�T\D�d\D�h\Dx\Dx\D�z\D\D�\D�\��\D�\�UW`D�\��\D�\D�\��\D
�\D�\�U@(�U��U@
�U@	�U@��U��U@�U���U��@��\D�\��\�U��\V$�\V�\V2DV�V�"D�\��\��\D�\D-]DI]DV]D}]��]D�]VD`D�]V`V`D�^$V�_DH_)V�(-V�9V�8 =V�FV�< �J_DJ_�J_HV�K_KV&�dQVd�XV�_]V�_bV�_gV�_lV$ L_sV2DzV�(}V��V��V��D"N_�N_D3N_D4P_�V�_D5j_D6z_D7_�V@��_D8�_�8�_�V�8�_�V\�V`"�V`�V`h�V��
�V^��V\�V`"�V`�V`�V`�V`W^W\W`"W`""W`$)W`$1W`$6W`$=W`$EW^PW\aW`"fW`"nW`0wW`({W��W^�W\�W`"�W`"�W`"�W`$�W^�W\�W`"�W`�W`�W^X\X`b�X^X\'X`*X`4X`=X`CX`HX`
MX`

RX`l�XX`b"�\X`l$�aX`$gX^(sX\|X`X`�X`�X`l�
�X`l��X^�X\�X`�X`�X`�X`"�X`"�X`"�X`"�X`�X`b��X^ Y�8�_	Y8`dYd`dY�E��' Yt#Y$`d,Y D5Y�9Y�>Y��EY�QY�"D
id�idDidD�dD�dD�dD�dD�dUY7gD�dYY/gD	eD
eDe]YgaYgeY#gDBeDGeiY�fDTeDaeDjeDneD yemY�e��eD#�eD$�eD&�eD'�eD(fD*
fD+fD,1fD-MfD/OfqY�fD0af�jfDjfD2sfD3�fD4�fD5�fD6�fD7�fD8�fuY&dt�zY@�}Y��Y@(
�Y��Y��Y��Y�8 �Y��Y@	�Y@�Y�< ��fD9�f�9�f�Y�9�f�Y\�Y`"�Y`�Y`h�Y��
�Y^��Y\
Z`"Z`Z`Z`"Z`'Z^3Z\>Z`"DZ`"IZ`$PZ`$XZ`$]Z`$dZ`$lZ^wZ\�Z`"�Z`"�Z`0�Z`(�Z��Z^�Z\�Z`"�Z`"�Z`"�Z`$�Z^�Z\[`"[`[`[^([\3[`b�7[^B[\N[`Q[`[[`d[`j[`o[`
t[`

y[`l�[`b"��[`l$��[`$�[^(�[\�[`�[`�[`�[`l�
�[`l��[^�[\�[`�[`�[`�[`"�[`"�[`"�[`"�[`\`b�
\^ (\�9�f0\9Tg;\dTgC\�E��'G\ P\�[\0s^\)sa\�li\�mr\�v\%sz\!s~\s�\s�\s�\s�\s�\	s�\$(Tg�\Tg�\2D�\��\�"D*]g�]g�]gD0]gD0�gD0�gD0�gD0�g�\�r��gD1�g�\�rD2�gD2�gD3�g�\�rD2(hD4,h�\�rD6Hh�\&����\@�\�(�\��\�8 �\��JhD7Jh�7Jh�\�7Kh�\$9Lh�\Lh�\2D�\��\�"D;Uh�Uh�UhD?UhD?zhD?�hD?�hD?�h��hD@�h�\�rDA�h�\qrDB�h�\RrDC	i�\�]�	]�8 
]��iDDi�Di]�Di]� ]Qr%]Mr*]Hr/]Ar4]9r9]1r>]$FiA]iE]2DH]�L]�"DHi�i�iDNiDN:iDNViDNciDN�i��iDN�iDO�iP]rDP�iU]rDQ�iDQ�iDR�iDQ�iDS�iZ]rDT�i_]�qDVfjd]�qDX�ji]&���m]@o]�(s]�]�8 �]���jDY�j�Y�j�]�Y�j�]$[�j�]�j�]2D�]��]�"D]�j��j��jDa�jDa�jDakDakDa/k�JkDaJkDbJk�]jqDdzk�]��]��]�8 �]��|kDe|k�e|k�]�e}k�]��]gq�]cq�]$g~k�]~k�]2D�]��]�"Di�k��k��kDo�kDo�kDo�kDo�kDo�k�lDpl�]FqDqlDqlDr#lDs,lDq\lDt`l�]5qDuzl�]qDw�l�]&���^@^�(^�^�8 ^���lDx�l�x�l!^�x�l$^&�+^�3^�p8^�p=^�pB^�pG^$|�lN^2DU^�(X^�c^�h^��D~�l��lD��l��lD��lm^�pD��l��lD��l��lD��lD��lD��lD�mD�mD�mD�	mD�
m�mD�mD�mr^�pD�+mD�;mD�@mD�PmD�UmD�emD�jmD�zmD�mD��mD��mw^@��mD��m���m{^���m�^&h �^ �^���^�p�^�p�^�p�^�p�^�p�^�p�^�p�^�p�^�p�^up�^rp�^fp�^Yp�^Vp�^Sp�^$��m�^2D�^�(�^�_�	_��D��m��mD��mD��mD��mD��m��mD��mD��mD��m��mD��mD��m��mD��m��mD��m��mD��m_@pD��mD��mD��m_;pD�!nD�%n_9pD�2nD�4nD�DnD�qnD�un_,pD��n��nD��nD��nD��nD��nD��nD��nD��nD��nD��nD��n��nD��n"_pD��nD�oD�o'_pD�@oD�DoD�Qo�YoD�Yo�^oD�^oD�noD�roD��oD��oD��oD��oD��oD��o��oD��o,_�oD��o��oD��oD��o��oD��oD��o1_@(3_�?_@
A_@	F_@�I_�U_@Y_��^_��@��oD��o���oj_���or_\~_`"�_`�_`h�_��
�_^��_\�_`"�_`�_`�_`�_`�_^�_\�_`"�_`"�_`$�_`$``$``$
``$`^ `\1``"6``">``0G``(K`�\`^m`\~``"�``"�``"�``$�`^�`\�``"�``�``�`^�`\�``b��`^�`\�``�``a`
a`a`a`
a`

"a`l�(a`b"�,a`l$�1a`$7a^(Ca\La`Oa`Va`\a`l�
`a`l�ea^na\�a`�a`�a`�a`"�a`"�a`"�a`"�a`�a`b��a^ �a�M�o�aM<s�ad<s�a�E�&r(�a$<s�a Db�(b�b�(b�b�!b��D	Es�EsDEs�KsDKs&b�uDSs�\sD\sDmsD~sD�sD�s)b�uD�s��sD�s-b�u��sD�s�tDtDt�t�t�tD!tD"tD#Dt�`tD$`tD$et�ntD%ntD&~tD'�tD(�t1b�uD)�tD*�tD*�t��tD+�tD+uD,uD.Ju�huD/huD/mu�ruD0ruD1uuD2yu��uD*�uD4�u5b�9b�Bb@Db@
Ib@	Kb�8 Ob�[b@^b@(ab�b@�b�< �b�@ �b�"D �b�H �b�L �b�P ��uD5�u�5�u�b�5�u�b\�b`"�b`"�b`0�b`(�b��b^�b\c`"c`"c`"c`$c^&c\1c`"8c`@c`Jc^Uc\`c`b�dc^oc\{c`~c`�c`�c`�c`�c`
�c`

�c`l��c`b"��c`l$��c`$�c^(�c\�c`�c`�c`�c`l�
�c`l��c^�c\d`d`d`d`"#d`"&d`")d`",d`1d`b�7d^ Ud�5�u\d5�uhdd�uqd�E\�'ud ��{de|~dX|�dJ|�dE|�d0|�d+|�d&|�d!|�d|�d|�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�dz{�dt{�dn{�d[{�dO{�dF{�d<{e3{e-{
e'{e!{e{e{e{e	{"e{&e�z*e�z.e�z2e�z6e�z:e�z>e�zBe�zFe�zJe�zNe�zRe�zVe�zZe�z^e�zbe�zfe�zje�zne�zre�zve�zze�z~e|z�evz�epz�ejz�edz�e^z�eXz�eRz�eLz�eFz�e@z�e:z�e4z�e.z�e(z�e"z�ez�ez�ez�e
z�ez�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�yf�yf�y
f�yf�yf�yf�y!f�y&f�y+f�y0f�y5fzy:fty?fnyDfhyIfbyNf\ySfVyXfPy]fJybfDygf>ylf8yqf2yvf,y{f&y�f y�fy�fy�fy�fy�fy�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�xg�xg~xgxxgrxglxgfx g`x%gZx*gTx/gNx4gCx9g6x>g0xCg*xHg$xMgxRgxWgx\gxagxfgxkg�wpg�wug�wzg�wg�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g~w�gxw�grw�glw�gfw�g`w�gZw�gTw�gNw�gHw�gBw�g<wh6wh0wh*wh$whwhwhw$hw)hw.hw3h�v8h�v=h�vBh�vGh�vLh�vQh�vVh�v[h�v`h�veh�vjh�voh�vth�vyh�v~h�v�h�v�h�v�h�v�h�v�h�v�h|v�hvv�hpv�hjv�hdv�h^v�hXv�hRv�hLv�hFv�h@v�h:v�h4v�h.v�h(v�h"v�hv�hv�hv�h
vivi�u
i�ui��uil|$idl|-i�E]�'1i ��7i�:i
�=i�@i�Ci��Fi��Ii�Li�Oi�Ri�Vi��Ziۂ^iւbiтfîjiǂni��ri��vi��zi��~i���i���i���i���i���i���i���i��iy��is��im��ig��ia��i[��iU��iO��iI��iC��i=��i7��i1��i+��i%��i��i��i��i
��i��i��i���i���i��i�j�j݁
jׁjсjˁjŁj��j��"j��&j��*j��.j��2j��6j��:j��>j��Bj��Fj}�Jjw�Njq�Rjk�Vje�Zj_�^jY�bjS�fjM�jjG�njA�rj;�vj5�zj/�~j)��j#��j��j��j��j��j��j���j���j��j��j��j��jۀ�jՀ�jπ�jɀ�jÀ�j���j���j���j���j���j���j���j���j���j���j��k{�ku�
ko�ki�kc�k]�kW�#kQ�(kK�-kE�2k?�7k9�<k3�Ak-�Fk'�Kk!�Pk�Uk�Zk�_k	�dk�ik�nk�sk�xk�}k��k��k��k��k��k��k��k��k��k��k��k��k��k��k��k~�kx�kr�kl�kf�k`�kZ�kJ�k>�k)�k�k�~l�~	l�~l�~l�~l�~lv~"lm~'l^~,lX~1lR~6lL~;lF~@l@~El:~Jl4~Ol.~Tl(~Yl"~^l~cl~hl~ml
~rl~wl�}|l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�lz}�lt}�ln}�lh}�lb}�l\}mV}mP}
mJ}mD}m>}m8}!m2}&m,}+m&}0m }5m}:m}?m}Dm}Im}Nm�|Sm�|Xm�|]m�|bm�|gm�|lm�|qm�|vm�|{m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m~|�mx|�mr|�ml|�m�l|�m��md��m�E_�'�m ���m.��m"��m�n�n
�n�n�n��n��n�n�n� n�$n܋(n׋,nҋ0n̋4nƋ8n��<n��@n��Dn��Hn��Ln��Pn��Tn��Xn��\np�`n\�dnK�hn.�ln(�pn"�tn�xn�|n��n
��n���n���n���n��n��nЊ�n���n���n���n���n���n���n���n���n���n���n~��nx��nr��nl��nf��n`��nZ��nT��nN��nH��nB��n<��n6��n0��n*�o$�o�o�o�o�o�o�o�� o�$o�(o�,o�0o܉4o։8oЉ<oʉ@oĉDo��Ho��Lo��Po��To��Xo��\o��`o��do��ho��lo��po|�tov�xop�|oj��od��o^��oX��oR��oL��oF��o@��o:��o4��o.��o(��o"��o��o��o��o
��o��o���o���o��o��o��o���oڈ�oԈ�oΈpȈpˆ
p��p��p��p��!p��&p��+p��0p��5p��:p��?p��Dpz�Ipt�Npn�Sph�Xpb�]p\�bpV�gpP�lpJ�qpD�vp>�{p8��p2��p,��p&��p ��p��p��p��p��p��p���p���p���p��p��pއ�p؇�p҇�ṗ�pƇ�p���p���p���p���p���p���p��q��q��q��q��q~�qx� qr�%ql�*qf�/q`�4qZ�9qT�>qN�CqC�Hq=�Mq0�Rq�Wq��\q��aq�fq�kq�pq�uqۆzqՆqφ�qɆ�qÆ�q���q���q���q���q���q���q���q}��qp��qj��qd��q^��qX��qR��qL��qF��q@��q:��q4��q.��q(��q"��q�r�r�r
�r�r��r��r�$r�)r�.r��3rڅ8rԅ=r΅BrȅGr…Lr��Qr��Vr��[r��`r��er��jr��or��tr��yr��~r���r ���r{��rv��rt��ro��rj��re��r`��r[��rU��rO��rI��rC��r=��r7��r1��r+��r%��r��r��r��r
��r��r��r��s��s�s�s�s�sۄsՄ$s ��.s��3s��8s��=sy�Bsb�GsK�Ls4�Qs�Vs	�[s��`s�es̓js��os��ts��ys}�~s ���sx��sj��sM��s3��s��s���s@��sd@��s�E��'�s&`3�s`3�s �s$
@��s D�s��s�(�s��s��s�(�s�t�t�"DE��E�DE�DH�DP��X�DX�t���p�Dp�D��������D��D���ҌDҌt�D!�D"�D#����D&��	�D'	��,�D(,�D)2�D+8�t܏D,H��J��J��J�D/J��e�D0e�D1u��{�D3{����D6�����D7��D8�����D:��t�t����D;���;��t�;��#t&�h3(th3�.t׏2tǏ6t��:t��>t��Bt��Ft��Jts�Nt$E��St DXt�at�(et�nt�st�(wt��t��t�"DF�����DL��DN��DP���ߍDQߍDR�DS��DT����DV�DW���DX�DY"�DZK�D[m�D\x����D]�����D^�����D_��D`��DaԎDb��Dc�����������Dg��Dh�Di�Dj*��tl�Dkc��h�Dmh��t��t��t��t�b��t��t�b��t��j�Dnj��nj��t�nk��t �t 0�t\�t`"�t`"�t`0�t`(�t�u^u\0u`"5u`":u`"@u`$Cu^Tu\_u^ju\uu`b�yu^�u\�u`�u`�u`�u`�u`�u`
�u`

�u`l��u`b"��u`l$��u`$�u^(�u\�u`�u`�u`�u`l�
�u`l��u^v\%v`(v`.v`4v`"8v`";v`">v`"Av`Fv`b�Lv^ jv�nk�qvn�|vd��v�E�r(�v$	��v D�v�(�v��v�(�v��v��v��D	��	�D	�D��vv�D�D!�D!��-�D-�D;�D^��z�Dz�D����D��D���vg�D��D���v]����D���v5�D!�D"��v)�D#,��v'��9��9�D9�D&A��v��v��v�8 �v��v@�v@
�C�D'C��'C��v�'D�w&��3w�3�w�w�w�"w��&w�*wؒ.wɒ2w��6w��:w��>w��Bw~�Fwx�Jwh�Nw]�RwO�Vw$=D�cw Ppw�,uw�"zw�D?I��I�DDI�DE[��a�DFa�DGn��w�DI���w��̑�ΑDKΑ�w����w���DM��M��w�M��w "�w\�w`"�w`"�w`0�w`(�w��w^�w\x`"x`"
x`"x`$x^'x\2x`"9x`Ax`Kx^Vx\ax`b�ex^px\|x`x`�x`�x`�x`�x`
�x`

�x`l��x`b"��x`l$��x`$�x^(�x\�x`�x`�x`�x`l�
�x`l��x^�x\y`y`y` y`"$y`"'y`"*y`"-y`2y`b�8y^ Vy�M�^yMx�jydx�ty�E��'xy$x��y P�y�"�y�"Dz��z�D
z�D���yӓD
���y̓�y �y ���y �ʓDʓ�ʓ�y�˓�y\�y`�y`�y`�y`�y`�y`
�y`

�y`l��y`b"��y`l$�z`$z^(z\z`z`%z`+z`l�
/z`l�4z^=z�˓Gz�Tzd�_z�E��'cz$�lz Puz�,yz�}z�"D���D�D	��D
�D
�D�D�D�D
�D
"�D>��z@,�F�DF��F��z�G��z\�z`�z`�z`�z`�z`�z`
�z`

�z`l��z`b"��z`l$��z`$�z^(�z\�z`�z`�z`�z`l�
{`l�{^{�G�{H�&{dH�/{�E��'3{$H�:{ NA{�,DJ��J�DJ�D	V�D
j�D~�D��E{@���D
���
��G{�
��N{\Z{`]{`g{`p{`v{`{{`
�{`

�{`l��{`b"��{`l$��{`$�{^(�{\�{`�{`�{`�{`l�
�{`l��{^�{�
���{
���{d���{�E��'�{$���{ P�{�,�{��{�(�{�D	�����D��D�����D��D���͔D͔DєDޔ|ږD����D��D�D�|ԖD�D�D��"�D"�D1�DZ�|Ζ�v�Dv�Dz�D ��!|ȖD!��D!�����D"��D"ϕD#��D$	�%|ĖD%��-�D'-�)|��D'=�D(?�-|��D(O�D)Q�1|��D)a��a��a�D!a�D,i����D��D.��5|��9|@;|@
>|@	@|@,B|�l � F|@���D/���/��N|�/��Q|\b|`"g|`"o|`0x|`(||��|^�|\�|`"�|`"�|`"�|`$�|^�|\�|^�|\�|`b��|^}\}`}`}`%}`+}`0}`
5}`

:}`l�@}`b"�D}`l$�I}`$O}^([}\d}`g}`n}`t}`l�
x}`l�}}^�}\�}`�}`�}`�}`"�}`"�}`"�}`"�}`�}`b��}^ �}�/���}/���}d��~�E�r(~&b�3~�3�~$H��&~ �DJ���DM�DN�DO��DP�DQ	�7~@(=~���DR��R�M~�R
�^~$e�o~ P�~�$Di���Dj�Dl�Dm��~@(�~��&�Dn&��n&��~�n'��~$�(��~ ��~�$�~�"D�-��-�D�-�D�1�D�>��B�D�B�D�E��N�D�N�D�[�D�e��l�D�l�D�y����D������D���D���D���D���D����~��~�"���D���D���D�ėD�Ǘ�ǗD�ǗD�ɗ�ܗD�ܗ��D����D����D����D����D��D�����D������D����~@�
��~@(�~�@"
@	���D�����!��
�1\A`"H`P`Z^j\{`�`�^�\�`�`�^�\�`�`�^�\�`�`�`�`"�`"	�`"�`"�`�`b��^ 8�\C�`N�`X�``�`"i�`(q��|�^��\��`"��`��^��\��`(ǀ�ˀ`р`ր`�ۀ`(���`(����^�\�`0$�`$/�`(7��F�^U�\[�`a�`0f�`$q�`(y���^��\��`"��`��`��`(�����`(�Ɓ`(ρ�Ӂ`݁`(����`( ����`$�`((��&�`,/�`0;�`(4B��M�`"8Z�`"<d�`"@m�`Dv�`H}�`L��`(P�����`(T�����`bX����^ ��\ł`(ʂ�т`"ق`(����^�\�`"�`��`�`(���`(���`b�$�^(�\0�`$5�`$@�`0K�`(S��[�`b�`�^h�\s�`"z�`��`��^����
�������d����E�r(��&bL4ƒL4�Ƀ&��4Ճ�4��k��f��`��Y��P��J���E���@���;��6��2�	�*�
�#���������!�	�%��)���-���1��5��9��=�ިA�٨E�ըI�ΨM�ǨQ�¨U���Y�&�05f�05�t�$|��� ����D~���D��D�"�D�*�D�-�D�0�D�3�D�6�D�9�D�<�D�?�D�B�D�E�D�H�D�K�D�N�D�Q�D�W�D�Z�D�]�D�`�D�c�D�f�D�i�D�w��{�D�{�D���D���D���D���D���D������D���D�����@(�����@�
��@�	��@(Ą����D�������̄����݄$���� P���(����0��$D�Ř�ŘD�ŘD�ʘD�֘D�ژD�ߘD���@(%��4��(9����D�����@����P�$��a� Pr��(y��D������D���D���D�����D����D��D����D��D��"�D�"�D(�D,��0�D
0��5�D5��<�D
<��E�D	E�DK�DN�DW��\�D\��f�Df��k�Dk�Du��~�D��D�����D�����D��D����@(�����@(
�����@(	�����@(������D�����Å���ԅ$N��� P���(���
��"��$��$"��0DX�����DY��D\��D]��D^ՙD_ٙD`ޙDa�Db�Dc��-�@(4��<��(A����Dd��d�H��d�Z�$w�l� P~��(������"D|���D}�D��D���"�D�"��'�D�'��.�D�.�D�7��@���@(������(����@�D�@���@�����A�ņ$�B�Ά D׆�(ކ���"�����D�K��K�D�K�D�Q�D�Y�D�^�D�c�D�f�D�i�D�m�D�q��v�D�v�D�����D���D���D���D������D�������D�����D��D��D�����D���Ú�ŚDŚ�ɚD
ɚ�ΚDΚ�ԚDԚDؚ��D����D�����D���D�D���D���D �D!�����D�D$#��#�D-#�D.'�D/*�D09�D1<�D8E��E�D9E��,��,�DD,��@�DE@�DFE�DGI��O�DIO�DIS�DJU��`�DK`��c�DMc��i��i�DQi��o�DRo�DSr����DU��DV����d�DW���Ŝ�Ŝ�ŜDZŜDZɜD[˜�֜D\֜�ٜ�ٜD_ٜ�ߜ�ߜDcߜ��Dd���De�De��Df�����Dh��Di����
�Dk
�Dl��O�DnO�DoT��A�Dp]��c��c�Dsc��c��c�D}c��h�D~h�D~l��n��t�D�t�D���D������D������D���D����D�D�ѝD���D���D���D��D����D����D��D��� �D� ��*�D�*�D�0�	��<��"@�@�D�@�D�O���8�T�D�T��Z��Z�D�Z��_�D�_�D�b��d��j�D�j�D�����D���D������D������D���D������D���D���D�����"8���D���������D����ÞD�Þ�ɞD�ɞD�͞D�Ϟ�՞�՞D�՞�ߞD�ߞ��D��D��D������D����D��������D����D��D������D���"�D�"�D�(��.�D�.�D�4�D�6�D�8�D;��G�DG�D	V�Dn�Dp��v�Dv��}�D}�D�����D�����D��$���8���D��D�����D��������D$�����D%�����D&�����D(��D)�����D5��D6џ�֟D7֟D7֟�ܟD8ܟ�ߟD7ߟD:�����D<�D=�����D?��,��8������DK�����DL��4�1�DM���DO���DP�9�!�DQ��"�DS"��0�DT0�DU6�>��DV?��E�DXE��E��E�D\E�D\H�D]J��J��J�D`J�DiL��X�DmX�Dne�Dot�Dp��Dq��Dr��Dr�����Ds�����Dr��Du�����Dv�����Dx��DyĠC��8I��"<�Ԡ�ԠD�ڠ��D����D����D��D������D�����D����D��D��D���$�D�$�D�2�Q�˧V��D�I�D�N��T�D�T�D�Y�D�]��a�D�a��g�D�g��i�D�i�D�n�D�p�D���[��4���D���D������D���D���������D������D���D���D������D���D�ǡ�ʡD�ʡD�ҡD�աD�����D��������D��D����
�D�
���D����D���'�D�'�D�*��/�D�/��6�D�6��:�D�:��F�D�F�D�T��[�D�[�a����b�D�d��k�D�k�f����r��t�D�t�D�|�k�f����D������D������D���������D����ȢDȢD̢DҢ�ڢDڢ��D�����D�D�D���D	���D
�����D�D�p�e�D�D.��4�D4��C��E�DE�DN��X�DX�u�`��a��a�Da��h�Dh�D m��v�D#v����D*�����D+��z�C�������D/��� ��ͣ�ͣ�ϣD4ϣ�����D7�D8�����"4���8���"<������D:����D<���DE�DF�DF#��4��4�DG4�DJ:�DJA��M��M�DJM�DMS��`�DN`��l�DPl��}�DQ}����DS�����DT������������DV������ҤDYҤ���"4���"8�פD\פ��@"��@"
��@(	���Ƈ@(χ�Շ@ׇ@�܇���"��(��������"����"�� "��b���.���7���>��"�G��"�Q��"�[��"_��g���,�
r��"0�ݤD]ݤ�]ݤx��]ޤ��$�ޤ�� ����(���������0���$D����D��D��D��D���D���D���D��D��Ɉ@(҈�؈@(
݈��
�D�
���
������$��� P��(��&��$D����D��D��D����D��D�!��*��,�D�,�D�0��4�D�4��:�D�:�D�?�D�H��J��J�D�J��P�,�@(1��8�@(
A��G�@(	Q���P�D�P���P�W���Q�g�$�R�x� P���(������"D�W��W�D�W�D�[��l�D�l����D������D������D���D���D���D�ǥD�ץ���"���"�������D��D������@(‰���D�����ɉ���ډ$�� �������(�����"��D
��
�D"
�D#�D#���D+��3�D,3��7�D-7�D.<�D/E��M�D1M��V��V�D$V�D4_��d�D5d��h�D7h��ئD8}����D9�����DC��DD��DE��DE�����DG�����DH���ĦDIĦ�ȦDKȦ�˦�˦DF˦DNԦ�@(��'�@(
+��3�@	5�@(;��C�@J�@"�צDOצ�OצS��Oئ^�\i�`t�`~�`��`"��`(�����^��\��`"Ċ`͊^܊\�`(���`��`��`��`(���`("��,�^6�\E�`0J�`$U�`(]��l�^{�\��`��`0��`$��`(�����^��\��`"��`��`ˋ`(֋�ދ`(���`(�����`�`(���`( "��,�`$6�`((=��L�`,U�`0a�`(4h��s�`"8��`"<��`"@��`D��`H��`L��`(P�����`(TČ�ӌ`bX��ߌ^ �\�`(�����`"��`(��
�^�\�`"�`%�`+�`(5��9�`(A��E�`b�J�^N�\V�`$[�`$f�`0q�`(y����`b���^��\��`"��`��`��^��\΍`Ӎ`׍^�\�`�`��^��\
�`�`�^(�\F�`I�`O�`U�`"Y�`"\�`"_�`"b�`g�`b�m�^ ���Oئ��Ot���dt����E�r(��&b�5���5���$;t�ʎ D׎�$ݎ�(�������DAv��v�DCv��|�DD|�����DE�����DG�����DH���H�����H��	�$\��� D!��$'��(.��9��>���Db�����Dh�����Di��C�r�G���Dl���ɩDnɩDoѩDpөK�o���Dq�����Ds���Du�Du����Dz���	�D{	�O�I�D}��%�D�%�D�*��.�D�.��J�D�J��L��L�D�L�D�P��T�D�T�S�A��r�D�r��v�D�v����D���D������D������D���D������D������D���D����êD�ê�ԪD�ԪD�ت�ڪ�ڪD�ڪD�ުD����D����W�@"Y�@[��c�����Du�D������D���D����D��k�*�D�2�o��bd�d�?�D�?��D�D�D�s�@u�@"
|�@	��@�F�D�F���F�����G���$�H��� D���$���(���Ə�ˏ��D�M��M�D�M��[�D�[�Џ��D�n��s�D�s�D������D������D���D���ԏ��D�˫؏��ͫD�ͫ��ͫߏ��Ϋ�$�Ϋ�� D��$��(�� ��%���D�Ы�ЫDЫ�֫D֫*���D���D�D	�D

���D���.���<�$�L� D\��$b��(i��t��y���D%���D'���D(�D)+��0�D+0��3�D,3��,3�~��,4���$@4��� D���$���(������Ő��DF9��9�DH9�DJ>��L�DKL�ʐ��DM_��d�DOd��j�DPj�DQ{����DS��DT��ΐ�(Ӑ����DU���U��ڐ�U���$i��� D���$��(�������Do�����Dt�����Du��Dx���ŬDzŬ�ˬD{ˬ����D��D���D����D����D��!�x�D�6�%��b@�<�C�D�C�)�@0��"�F�D�F���F�4���G�@�$�H�L� DX��$^��(e��p��u���D�Q��Q�D�Q�z�w�D�Y�D�[�D�c�D�g�D�j��v�D�v�D������D������D���D������D���~�I�D������D���D�ƭD�ȭ�έD�έ��D��D����D��D���D���D�����D����!�D��� �D� �D�1��6�D�6��?�D�?�D�_�D�m��}�D�}����D�������D���D������D����̮D�̮����D��D�����D���D������
�D�
�D��D�-��2�D�2�����DS�DW��]�D]��s�Ds���[�D��D	�����D���ƯDƯ��%�D�D������b<���D����D������D�D���D �D!$��.�D".�����D%O�D&S��Y�D(Y��d�D+d����D.������D/��D0ǰ���"��аD2аD3ڰD4�D5�D6����w�D7�D8)����b��d�2�D@2�DA<�DBD�DCN�DDV�DEX�DFZ�DGb��b�DHb��o�DKo��s�DLs��z��|�DN|����DP��DQ�����DR��DS�����DU��Ƒ�",���DW��DZɱ�ͱD[ͱ�ϱD]ϱ�ӱD^ӱБL�Da��Db�����Dd�����Dl�Dm	�Dn
�Dq���Dr���Du�Dv-��7�Dw7�Ց%�DyG�DzK��M�D|M��T�D}T��T�ڑ�,�T�D�T��Y�D�Y����D�i��m�D�m��r�D�r��|�D�|����D������D������D������D������D������D����²D�²�@�@
�@	��@�@"��d��@"��!��"'��d�-��1�� 8��$B��"(�ƲD�Ʋ��ƲK���DzW�$�Ȳc� Do��$u��(|���������D�Ͳ�ͲD�Ͳ�ӲD�Ӳ����D����D��D����D����D��D�!��������#�D�#���#�����$���$�$��� Dǒ�$͒�(Ԓ�ߒ����D�)��)�D�)��/�D�/����D�B��K�D�K�D�\�D�p�������D���D������D���������D������D�������������D���D�ijD�ҳ�ֳD�ֳ�޳D�޳������D��D����D���(��*�D*�D-�D;��?�D?��G�DG�����o�D
o�D~�D�����D
�����D����"0���D������شDشD���D������D���D���D���D ��$�D"$�����L�D$L�D&P��e�D'e�����m��o�D)o� ���w�D+w���D,�%�v����D.��D/�����D0��*�k��еD2еD3Ե�ڵD4ڵ/�d���D6�D7���D>�4�^��.�D?.��1�D@7�9�W��_�DB_��c�DCe�>�K����DE��������DG��C���DI�����DK���ʶDLʶDMҶ�ڶDOڶ��DQ�DR�DT
�DU,�DW.�DXM��M�DZM��R�D[R��Z��\�D]\��d�D_d�H�@O�@"
X��"Z��_��f��,n���f�D`f��`f�s��`g��$th��� D���$���(����������Dzq��q�D~q��w�Dw�����D������D���D������D������D�����p��ķD�ķ�ͷD�ͷ�ͷD�ͷD����D����D�����D������D���D����D����D���!�D�!��,�D�,���Z�D�C�Ɠ�b@�<�P�D�P��R�D�R�D�j��o�D�o��q�D�q��{�D�{����D���ʓ@����D���������D������D������D������D������D���ϓ@֓����D�������ܓ�����$����� D��$��(����"���D������D������D���'��D�Ը�ݸD�ݸD������D�����D��D����D��D�)�D�A��E�D�E��J�D�J��L�D�N��S�D�S�D�U��W�D�W��\�D�\�,��D�s�D���1��bl�d������D������������D���D���D������D������D���5�@<�@
>���G�����D�������P�����_�$��m� D{��$���(����������D�����D$��D'��D)��D=���ǹD>ǹ����DAڹ��DC�DD�DE��DE�����DF��DH�DO���DS�DT�DT��'�DU'��-�DV-�DW=��A��C�DYC�DZG��I��I�DTI�D]N�D^T�D_X����"L���P�^�Db^��d�Dcd�Ddh�Dek�Dfo�Dgr��x�Dpx�Dq|�Dr�Ds�����Dt��Du��Dv�����Dx�����Dy��Dz��D{�����D}�����D~�����D������D����ѺD�Ӻ�غD�غ�ݺD�ݺ��D��D��D��D������D������D���D����D������D����D��D�"�D�%��'�D�'��:�D�:��F�D�F��H�D�H��[�D�]��b�D�b��g�D�g��m�D�m�D�z�D�}�D������D������D���D������D���������D������D���D���D������D������D������D���D���D���D�û�ȻD�Ȼ�λD�λ������8��˼�˼D�˼D�޼��D������D�����D��D�����"P�
�D�
�D��D���"�D�"�D�5��?�D�?�D�R��X�D�X�D�[����"P�]�D�]�”���u�D�u�ǔS�D������D���D���D������D������D���D���̔"�D���D���є	�D�Ľ�ʽD�ʽD�ͽD�ѽDӽ�ؽDؽ�۽D۽��D�D	�D
���D���D
���D��'�D'�D+�֔�Pߔ�"T�0�D0��5�D5�DE�DH��N��T�DT��Y�DY��k��m�Dm��~�D~������"H���DE��D!��D"��D#��D&����D)ɾ�ӾD*Ӿ�ܾD,ܾ�@"��@
��@	�@�@�@"��$���+��"8��A��M��b<�(W��D�߾D-߾�-߾d��-�r�\}�`��`��`��`"��`(�����^��\Е`"ؕ`�^�\��`(���`�`�`��`(��)�`(6��@�^J�\Y�`0^�`$i�`(q����^��\��`��`0��`$��`(�����^��\Ɩ`"͖`Ֆ`ߖ`(���`(����`(	��
�`�`( ��*�`( 6��@�`$J�`((Q��`�`,i�`0u�`(4|����`"8��`"<��`"@��`D��`H��`L��`(PƗ�̗`(Tؗ��`bX���^ ��\��`(���`"�`(���^#�\'�`"-�`9�`?�`(I��M�`(U��Y�`b�^�^b�\j�`$o�`$z�`0��`(�����`b���^��\��`"��`��`Ƙ^ј\֘`
ݘ`
�`
�`��`��`
�`
�`�`�`%�`.�^ 3�\9�`@�`I�`Q�`W�`]�^c�\t�`y�`}�^��\��`��`��^��\��`��`��^Ι\�`�`��`��`"��`"�`"�`"�`
�`b��^ 1�\;�`0F�`N�`W�^a��-�l�-��w�d�����E�r(��&b6��6���$6���� D���$���(������Ě��D<�����DA��DB�����DD��ɚ,�DF���DH�DI!�DJ%�DK)�̚'��R�DLR�DMU��Y�DOY��_�DP_��a�DRa�DSf�DTj�DUm��r�DVr�К&��z��|�DX|�Ԛ!����DY��DZ�����D\�����D]�����D_�����Db��Dc��Dd�����De�����Dg�����Dh�����Dj��Dk����Dm�ؚ�Dn�ܚ�bT�<�%�Dp%���@��"��"���"�����"��"�(�Dq(��q(���q)��$�*�'� D4��$:��(A��L��Q���D�/��/�D�/��5�D�5�V���D�H��Q�D�Q�D�Z�D�k����D���Z���D������D������D���D������D���D������D���������D���D������D���D���	�D�	���D��D���&��,�D�,��<��<�D�B��N�D�N�^����v�D�v�b���D������D���D������D���D������������D������D���f�@m�@
s��"u��z��"������D���������������$����� D���$���(›�͛�қ��D������D���D������D���כe�D������D���D���D��ۛ`��-�D�-��3�D�3�ߛ2�D�E��N�DN�Db��g�Dg���D}����D	��D
��D�����D��������D
�����D�����D�����D��D�����D�����D��D���D�����3�D3��9�D9����DK��T�D!T�����D"f��n�D#n��������D%�����D&����^�D)�����D+��D,�����D-���V����D.�����D/����D1
���D3�D4'��,�D5,��2�D72�D7:��:�D8:��>�D9>����D<W��`�D>`��u�D?u��y�D@y�DA�����������DC��DD��������DF��������D7�����DI��������DK�����DL�� ���DO���DQ�DR&��+�DS+��/��1�DU1��5�DW5�DX;�%��"`�C�DYC�'����e�DZe��k�D[k�,�x�D^}����D`��Da�����Db��1�q����Dd�����De��6�@�Dh�����Dj��Dk�����Dl��������Dn��������Dp��;�:��/�Dr/��5�Ds5��:�Dt:��A��C�DvC��Y�DxY��a�Dya��m�D~m�D�����D���@�(�D������D������D������D������D������D������D������D���D������D������D���������D���D������D�����D��D��D��E��(`N��X��d^��"h�$�D�$�b���D�6��?�D�?�g����a�D�a��g�D�g�l���D�y����D���D������D���q������D���v���D������D���{������D������D�������D����D��D�
���D������D��������D������D�6��?�D�?��E�D�E��M��O�D�O��Q�D�Q�D�V�D�Y�D�\��\�D�\��b�D�b�D�j�D��D������D������D�������`���D������D������D���D������D������D���������D������D������D������D���D���������D������D���D������D�����D������D����D����D����D��D���"�D�"��A�D�A��D��D�DJ�DZ�D^��h�Dh��r�Dr���@(�����@(
�����@(	�����@��@Ŝ@"͜��P�֜�Tݜ�Xߜ�(\���t�Dt��t���u���$v�� D��$��(!��,��1���D"{��{�D'{����D)��6���D+�����D-��D.�����D2��D2�����D3��D5�����D6�����D8�����D9��������D2��;�@
B��"���D<���$�D>$��1��1�D@1��1�DB1�DCC�J��"L�@�E�DDE��DE�R��DF�`�$XF�l� Dx��$~��(����������D^H��H�D`H��N�DaN�����Dda��f�Dff�Dg}�Dh�����Di���i�����i����$}���� Dŝ�$͝�(ԝ�ߝ����D������D������D����a�D������D������D���������D������D����Z����D����4�D����D����2��/��1�D�1���0��H�D�H��L�D�L���D�r��w��w�D�w�D������D���������D������D������D������D������D����@(��,�����D�������3�����@�$���M� DZ��$b��(i��t��y���D������D������D���~���D�����D��D���2�D�2�����D�I��R�D�R��������D���������D���D������D���D���������D������D���D�����D����D��D�+��0�D�0�D�8��@�D�@�D�J��X�D�X��[�D�]��b�D�b�D�j��r�D�r�������D������D������D��D�����D��D�����D�����D
�����D��������D��D�����D��D�����D�����D��D���D�D���D�D;��?�D?��D��D�DD�D#H��`�D$`��c��e�D'e�D(j�D)m�D*|�D+�����"��@��@
���"���"��@	��@������D,���,�����,��Ğ$@��Ҟ D���$��(���������DF�����DI��DK�����DL���c�DO�����DQ�����DR��DS�����DU��DV�����DW���;�DY����D[�D\�� �D] ���D`7��<�Db<�DcA�Dda�Ded�Dfi�Dgn�Dhs�Diw�Dj��Dk���@(�� �@(
'��/�@(	4�����Dl���l��;��l��I�$���W� De��$k��(r��}������D������D������D�������D������D������D������D������D���������������$����� D���$���(���ʟ�ϟ��D������D���D���D������D���ԟ��D�����D��D��D�!��+�D�+��0�D�0��6�D�6�D�8��=�D�=�D�@��B��D�D�D��F�D�F��Y�D�Y��[�D�]��a�D�a��g�D�g��l�D�l�ٟ��D������D���D���D���ޟl����D���D���D���D���D���D���D��D��D��D��D��D��D��D
��D��D��D�����D�����D��D��D���^�D����D���D��D ���D!��%�D#"��+�D*+�D+9�D,B��G�D-G�D.N��R�D,R�D5Y�D=�����D>�����D@��D@�����DA���	�DE	�DF�DG>�DJD�DKa�DL��DO��DP��DS���"�DT��DU��DX��DY��DZ���b �����D@�D]#�D^.�D_B���\�`�`�`"�^1�@(:��M�@"
Q�@	[�@]�@g�@p��h�w������"����������D�D`D��`D����`E���$tF�  DР�$֠�(ݠ�������DzO��O�D�O��U�D�U����D�h��q�D�q�D������D������D���D������D�������D������D������D�������D���D�����D��D���'�D�'����D�>�D�G��L�D�L�D�U�D�\�D�p��u�D�u��w�D�w��|�D�|����D�����b��d���D���D����@�� ��#�@"
-�@	4�@"=��"$���D�������A�����O�$���]� Dk��$q��(x���������D������D������D�����b�D������D���D�����Z���D��D����D���%�D�'��+�D�+���W��3��5�D�5��=�D�=��E�D�E���Q��_�D�_��b�D�h���L����D������D�����F����D������D���������D������D���������D�����
�D������D���D���D��D��D����D���"�D�"��$�D�$��:�D�:�D�C��G�D�G��I��I��I�D�I�D�M�D�_���@"��@
��@	��@��@�a�Da��a�ǡ�b�ա$b�� D���$��(�����
���Dk��k�D!k��q�D"q��u�D#w��}�D$}����D%�����D'�����������D*�����D-�����D/��D0��D0�����D1��D2���D3��
�D5
����D6!���bl�<�.�D8.��3��3�D03�D;7�D<A�D=P�D>U�D?c�"���D@|�'�@.�@
0��6��<��@��$E��I��(P��0�~�DA~��A~�X��A�d�\o�`z�`��`��`"��`(�����^��\¢`"ʢ`Ӣ^�\�`(����`��`�`��`(���`((��2�^<�\K�`0P�`$[�`(c��r�^��\��`��`0��`$��`(�����^��\��`"��`ǣ`ѣ`(ܣ��`(���`(�����`	�`(���`( (��2�`$<�`((C��R�`,[�`0g�`(4n��y�`"8��`"<��`"@��`D��`H��`L��`(P�����`(Tʤ�٤`bX���^ �\�`(�����`"�`(���^�\�`"�`+�`1�`(;��?�`(G��K�`b�P�^T�\\�`$a�`$l�`0w�`(����`b���^��\��`"��`��`��^å\ǥ`ѥ`ۥ`�`�^��\��`
�`
�`
�`�` �`
'�`
/�`7�`@�`I�`R�^ W�\]�`d�`m�`u�`{�`��^��\��`��`��^��\��`��`��^Ǧ\צ`ܦ`�^�\�`�`�`�`"#�`"&�`")�`",�`1�`b�7�^ U��A�`�At�j�dt�t��E�r(x�&bx6~�x6��� d���$�t��� D���"����D�y��y�D�y�D�}�D�����D���D���D���������D������D������D���D���D������D������D���D���D������D������D������D������D����D���+��+�D�+��+��+��-��-�D�-��:�D�:�D�L�D�O��S��U��U��U�D�U��b�D�b�D�p�D�s��w��y�D�y��~�D�~����D�����@��@������D�������§����ͧ$���է Dݧ�(����(���D������D���D���D������D���D������D���D���������D���D���D���D���D���D���	�D	���D���D�D"��*�D*�D?��M�DM�D	U�D
\�Dj�
���D�D�����D��D��D��D�����D�����D��D�����D��D��D�����D ��D!	���D#�D$�D%"����D'9�D(E�D)U���b����^�D+^�D,l�D/t�D0|�D3��D4��D7��D8��D;��D<��D?��D@��DC��DD��DG��DH��DK��DL��DO��DP��DS���DU�DV�DW%�DY'�DZ0�D[8�D]:�D^B��B�D`B�DcJ��Z�DeZ�Dfc�Dgk�Dim�Djv�Dk~�Dm��Dn�����Dp��Ds�����Dt��Du��������Dw�����Dy��D|�����D}��D~��������D������D���D������D���D���������D�����D��D��D��D����D��D�#��+��-�D�-��5�D�5�D�9�D�A�D�E�D�M�D�U�D�Y�D�b�D�j��l��@"�@
��""��"&���l�D�l���l�-���m�5�$�n�B� DO��(V��a��(i��x��D�s��s�D�s�D�w�D�z�D������D������D������D���D������D������D������D���D���}�r�D���������D����D����D����D��D�&�D�D��H�D�H��Q�D�Q��b�Db�Dk�Dm�D��D��D�����D
�����D�����D��������D�����D��D�����D��������D�����D��D��D�����D�����D��������D!��������D$����D%���D.���D0�D1!�D28��;�D3A��L�D4L��P�D5P�D6g�D7o�D8s�D9|�D:��D;��D<��D=��������D?��D@��DA��DB��DC��DD��DE��DF��DG����DI�����DK��%�DM%��)�DN)��2�DP2��M�DSM��S�DUS���t����DW��DX��DZ�����D[����c�D\�����D^��D_��Da����Db�Dc��"�De"�Df4�Dh:�DiB�DkH�DlR�DnX�Doe�Dqk�Drx�Dt~�Du��Dw��Dx��Dz��D{��D}��D~��D���D��D��D�2�D�8�D�E�D�K�D�S�D�Y�D�a�D�g�D���D���D���������D���D�����@�D�����@��@
��@	��@(���������D�������������Ȩ$���Ѩ Dڨ�(����"��$D������D���D���D���D���D�����D���
�D�
���D��D��D�1��6�D�6�D�;���������=�D�=���=����>� �\/�`(6��A�`"N�`"S�`Y�``�^o�\z�`��`��`��`"��`(�����^��\ͩ`"թ`ީ^��\��`(����`�`
�`��`(��&�`(3��=�^G�\V�`0[�`$f�`(n��}�^��\��`��`0��`$��`(�����^��\ê`"ʪ`Ҫ`ܪ`(���`(�����`(��
�`�`(��'�`( 3��=�`$G�`((N��]�`,f�`0r�`(4y����`"8��`"<��`"@��`D��`H��`L��`(Pë�ɫ`(Tի��`bX���^ ��\��`(���`"�`(���^ �\$�`"*�`6�`<�`(F��J�`(R��V�`b�[�^_�\g�`$l�`$w�`0��`(�����`b���^��\��`"��`��`ì^ά\�`�`��`��`"��`"�`"�`"�`
�`b��^ 1���>�;���E�d�O��E�r(S�&bX7Y�X7�`�$G�m��{�2P���"���"������(���DO
��
�DZ
�D[�D\,��7�D`7�DaH��O�DbO��T�DdT�Deb�Dfu��~�Dg~����Di��Dj��Dk��������"���Dr��Ds�����Dt��Du��Dv�����Dx��Dy��Dz��D{��D|��í@"ŭ@
ϭ����D}���}��ۭ�}���$��������2D���(����"��"��(��D������D���D���D���D����D��D����D����D����D����D���)�D�)��,�D�,��K�D�K��N��N�D�N�D�R��\�D�\��`�D�`�.���D�h��q�D�q�D������D���������D������D���D���D���D���D������D���D���D���������D���D���D���D���D���%�D�%��.��.�D�.�D�.��8�D�8��B�D�B�2��":��"A��D��G��Q��b����J�DJ��T�D	T��{�D{����D
��D�����D��Y���D�����D��D��D�����D��������D�����D��D�D�D���D�D ��$�D!$��*�D)*��:�D*:��<�D,<��Q�D-Q��U�D.U��m��o�D1o����D2��������D4�����D6��]���D7��D8�����D9�����D;�����D<��������������DA����DB��
�DD
�a��(j��q��"y��({�����"���������b������������b�����DM���DN��1��7�DT7�DUE�DVS��]�DW]��c��e�DYe��s�D[s�D\��D]��D^��D_��D`�����Da�����Dc�����Dd��������"���������b������Dg��î@"Ů@
Ǯ@"	Ү@"ܮ@�@���Dh���h����h�����w���7���7�$���� ���(&��1��"D������D���D������D������D�����D��6���D� ��$�D�$�;���D�7��?�D�?��D��J�D�J�D�O��Y��Y�D�Y�D�]�D�f��o�D�o��w�D�w�D���D���D������D���@�h�D������D���D���E��(K�����D���D������D�����D����D��D���/�D�/�D�>�D�M��R�D�R��Y�D�Y�R�&"�7Y�&�7a�(b�w�2k�@"m�@
t�@"	x���`�D�`���`����a���$�b��� D���$���(������ï��D�k��k�D�k�D�q�D�y�D�|�D��D������D���D������D��D�����D��������D�����D��ȯf�������D��ͯe����D
�����D�����ү@"	���D���D�����D��ۯD�D�D	���D���D�D�����D��,�D,�D0��5�D5��?�D?��@�@
������b����B�D B�� B��� C��\'�`".�`9�`C�`K�^Z�\e�`p�`z�`��`"��`(�����^��\��`"��`ɰ^ذ\�`(����`�`��`���`(���`(��(�^2�\A�`0F�`$Q�`(Y��h�^w�\}�`��`0��`$��`(�����^��\��`"��`��`DZ`(ұ�ڱ`(���`(����`��`(���`( ��(�`$2�`((9��H�`,Q�`0]�`(4d��o�`"8|�`"<��`"@��`D��`H��`L��`(P�����`(T���ϲ`bX��۲^ �\�`(���`"��`(���^�\�`"�`!�`'�`(1��5�`(=��A�`b�F�^J�\R�`$W�`$b�`0m�`(u��}�`b���^��\��`"��`��`��^��\��`
ų`
̳`
Գ`ݳ`�`
�`
�`��`�`
�`�^ �\$�`*�`1�`9�`C�`b�J�^S�\Z�``�`i�`r�`b�y�^��\��`��`��^��\��`��`��^��\д`մ`۴^�\�`"��`�`�`"�`"�^�\=�`@�`F�`L�`"P�`"S�`"V�`"Y�`^�`b�d�^ ��� C��� ���d����E�r(��&b�7���7���$��ɵ D۵�(�����"��D����D��D����D������%�D�%��h	D�.��B�D�B��E�D�G��L�D�L�D�Z��b�D�b�D�e�D�h��o�D�o��r�D�r�D���D������D������D����TD���D���D������D������D���D���D���D���D����@(��#�@(
,��;�@	B��"M�����D�������T�����f�$��u� D���$���(����������D����D��D�	���D��������
D�!��%�D�%��.�D�.���LD�9��O�D�O�D�X�D�i�������D������D���Ķ�D������D������D���ȶ����D���̶`D����D��%�D%��B�DB�жY�o�Do��}�D}�Զ D�����D
�����D��D��ضN
������D��D�����D��������D��D��D�D��3D3�9D9��DK�TDTDy�}D}��D!����D"�D#���D$������D(���D)����D,���D.��D1D2�%D3%��D4;�DD6D�KD7K�P��"�P�RD:R�WD<WD=YD>i�oD?o�uD@u�yDByDC�DD���DE�DF���DG���DI�DJ���DL���D>�DN�DO�DP�DQ�DR���DV���DW��DYDZ	�D[�D]��D^-De0�0Df0Dg@�EDhE�GDjGDkRDlaDmfDnjDom�oDqqDr}Ds�Dt���"����"��DR�Dv�Dw��@"�@#�@%����Dx�+����D}���D~�0�mD����D��D��$D�$5�ZD�:�CD�CD�Y�`D�`D�k�pD�p�u�u�wD�w�}D�}D����D����D����D����D��D������D��D��D������D��D��D���D��D�� � D� D�%D�/D�4�;D�;�A�CD�C�ID�ID�N:��<��@��(G��V��\��"�VD�V`�S�wD�w�}D�}e�+D����D��j�(D����D��o�#��D����D��t��D����D��D�!�%D�%�.D�.D�9�OD�Oy���vD�v��D��~��D����D��D����D����D�������D������D��'D�'��lD�9�BD�BD�g�kD�k�pD�p���D����D����D��D��D��D�����"��D����D����@(�����@(
ķ�ӷ@	ڷ���D�����ܷ����$���2P��(����D	���D�D
�D�D���D�DD�&D&D*D1D8���@�RDR�R ��S,�$,T6�2P@��(E��T��D0V�VD1V�aD2aD3kD4y����D6��6�Y��6�c�$K�m��x�2P���(������(���DO���DS�DS���DZ���D\�D]�D^�D_�D`�Da�Db���Dd���Df�Dg�Dh	�Dk�Dl��DTDt �$Du$Dv1�:�<Dx<DyE�J��@(�����@(
����JD{J�{JŸ�{Kϸ$�Lڸ2P��(����"D�N�ND�N�\D�\�^D�^D�jD�tD��D��D��D����@(�����D�����
�����$���2P)��(.��5��"D����D����D����D��D��D����D����D����D��D����D����D���	D�	�	�	D�	�	D�	�	D�	D�$	D�-	D�7	D�<	D�L	D�Z	<�@(C��N�@"
X�@"	a�����f	D�f	��f	f���g	p�$�h	w�2P~��(���D�m	�m	Dm	�v	Dv	�|	D|	D
�	D�	D�	��	D�	D�	��	D�	D�	D�	D�	D�	D�	��	D�	D�	��	D�	D�	��	D�	D
D

D
D 
�"
D"
D"(
D(5
D)>
D*B
D+F
��@(�����@(
�����@"	��@��@ƹ@˹�"�M
D,M
�,M
ֹ�,N
ݹ$@N
�2P���(���DCP
�P
DDP
DEW
�`
DF`
DGr
DH�
��
��
DJ�
�J�
��J�

�$`�
�2���.��(3��:��"Dd�
��
Dn�
��
Do�
Dp�
��
Dq�
A��Dr�
��
Dt�
��
Du�
��
Dw�
��
Dx�
F��Dz�D|�*D~*K��D�=�ED�ED�S�WD�W�_D�_�rD�rD�D����D����D����D����D����D��D����D������D��D��P��D��U�@(^��m�@
s�@	z�@���"��D������������$����2D���(������"���"���"D����D��D�D�D�D��D�D�&�*D�*�,D�,D�/�1D�3�7D�7��dD�J�SD�SD�iD�xD�{�{D�{D����D��D����D��D��D��D��D����D��D��D��D��ź@"ɺ@"
ͺ@	׺@ݺ@�@"�������D�����������$��2���(��&��".��"D
�
D
D
D 
D!

�
D"
�
D#
�"
D%"
�)
D&/
�C
D'C
D(U
�Z
D)Z
�]
D*_
�e
D+e
D,h
�n
D-n
�q
D.s
��
D/�
��
��
D1�
��
D3�
��
D4�
��
��
D7�
��
D8�
��
��
��
D;�
��
DD�
DE�
DF�
DF�
��
��
DF�
DI�
DI�
�	DJ	DK
DLDL�1�1DL1DO5�GDPG�IDRI�WDSW�YDUY�^DW^DYbDZdD[uD\y�~D]~��4��:����D`���Da�Db���Dd�De���DI�Dg�Dm���Dn�Do�D�1Dr���Dt�Dw�I��Dz�N�@"S�@"
W��"]�@"	a�@g�@m�@r��"z��"��D{��{����{���\��`��`��^��\��`��`Ļ^ʻ\ڻ`߻`�^��\�`�`�`"�`"&�`")�`",�`"/�`4�`b�:�^ X�\c�`n�`x�`��`"��`(�����^��\��`"��`Ǽ^ּ\�`(���`�`��`���`(���`(��&�^0�\?�`0D�`$O�`(W��f�^u�\{�`��`0��`$��`(�����^��\��`"��`��`Ž`(н�ؽ`(���`(���`��`(���`( ��&�`$0�`((7��F�`,O�`0[�`(4b��m�`"8z�`"<��`"@��`D��`H��`L��`(P�����`(T���;`bX��پ^ �\�`(���`"��`(���^	�\
�`"�`�`%�`(/��3�`(;��?�`b�D�^H�\P�`$U�`$`�`0k�`(s��{�`b���^��\��`"��`��`��^���{�Ŀ{�οd�ؿ�E�r(ܿ&b,8�,8��$7��� D��$��(�������D=���D?�DD���DE�#��DH���DK�DL�DM�DNDO*DP-DXLDYf�jDZj�sD\sD\u��De�Dg���Dh���Dj���Dk�&��Dn�Do���Dq���Dr�*�VDt�Du���Dw�Dx��Dy��D{�D}�D~D4�8�:D�:D�Q�UD�UD�b�hD�hD�t����D����D��D��D��D��.�@(5��9���E��P�@\����D\�D��D��D��D��g�@(l��s�@(
{����@	��@���������D������������$���� ����(������"���D����D��D����D������D���D��D��
D�
�D��D��$D�$�(D�(��@(������(����+D�+��+����,�$�,� P��(��(��"0��"9��D�1�1D�1D�5�?D�?�C�ED�E�ID�ID�X�\D�\D�lD�p�s�uD�u��D����D��D����D����D����D��D��D����D��D����@�@(G��K�@�
V��Z�@(	_��f����D���r���}�$��� ����(������"����D"���D1�D2���D3�D4�D5���D6��D8�D9�D:��D<����D@DA�<DB<�?DDA�FDEF�KDGK�QDHQ��T�Z�ZDLZDM_DNbDOs�wDPwDQ���5��DS�DT���@"��@"
�����DU��U����U���$i��� D���$���(���	�����Do���Dq���Dt�Du���Dv�Dx���Dz�D{���"��D|���D}�D~��D��D��"�"D�"��"���#(�$�$6� DD��$J��(Q��\��a���D�&�&D�&D�*�0D�0f��D�B�GD�G�LD�L�PD�PD�W�\D�\D�l�pD�pj��D��D��D����D��D��D��D��D����D��D��o�@(v��z�@(
����@(	�����D������������$���� D���$���(����������D����D��D����D�����D����D��D����D��D�
�D��$D�$D�(�,D�.�AD�AD�R�_D�_�eD�e�jD�j�pD�pD�yD�}����D���D���D�D�D���D
�D���D�����D�D���D���D�����D�D���D���D���D!���D"���D$���D%�����D)�D*���"�D,�!D.!��}D/8���bD�<�ED6ED7JD:O��kD;`��@(����@(
���@	�@"%�@,��(=��G��"�cD<c�<cK��<dZ�$Qdf� �r��w��(|�����"DUf�fDXfDYx�|DZ|��D\���D]���D_���@(�����D`��`����`���$t��� �������(���Dw���Dx���Dy���D{���D|��|����|���$���� P���(���D����D��D����D����D����D����D���@(����D����������$��%� D0��(8��=��(D��O��T���D����D��D��D��D����D����D��D�D�D�D�D�D� D�%D�5�?D�?Y�f�XD�X�]D�]�`D�`D�oD�~D��D��D��D����D����D����D����D������D��^�<D��D����D��D��D����D��D����D��c�D�D�
D
D#�(D	(�*D
,�1D1h��DGm��b��d�TDV�[D[q��Db�eDg�lDlv��Ds�vD!vD!z�~D"~��D#���D%���D!�D'�D(�D)�{�@(�����@(
�����@(	�����������@"��@���@���"��D*��*����*���$>��� P���(���DA���DD�DE�DE���DF���DG���DI���DE�DK���@(����DL��L���L��$a�� �&��*���5��9��"Dg���Dk�DrDr�
Dt
�!Du!�%Dv%Dw*Dx/�3Dz3�8�8Ds8D}AA�@(F��J�@(
N��R�@	�CD~C�~CT��~D\�$�Dc� �j��n��"s��"D�F�FD�FD�SD�`�eD�e�hD�hD�}D��D��D��D��D��D��D��y�@(�����@
��@	��D������������\��`��`��`��`"��`(�����^��\�`"�`�^ �\*�`(1��5�`;�`@�`�E�`(O��Y�`(f��p�^z�\��`0��`$��`(�����^��\��`��`0��`$��`(�����^��\��`"��`�`�`(��"�`(,��0�`(9��=�`G�`(P��Z�`( f��p�`$z�`((�����`,��`0��`(4�����`"8��`"<��`"@��`D��`H��`L��`(P�����`(T���`bX��#�^ *�\/�`(4��;�`"C�`(J��N�^S�\W�`"]�`i�`o�`(y��}�`(�����`b���^��\��`$��`$��`0��`(�����`b���^��\��`"��`��`��^�\�`�`�^,�\2�`7�`;�^A�\Q�`V�`\�^l�\��`��`��`��`"��`"��`"��`"��`��`b���^ �����������d����E�r(��&b�8���8���$A�
� D��(#��.��"3���>���F��$N��$DQ���DS�DZ���D[���D]�D^D_
�
Da
�Db�DdDk�Dl��Dt���Du���Dw�D���D��D��D����D����D��D������D��D��D��W��+D� [�@"� D� �! D�! �# D�# �% D�% D�1 D�9 ^���; D�; �? D�? D�E �G D�G D�G �K D�K c��+D�] �b D�b D�h �j D�j �l D�r �� D�� �� D�� D�� D�� �� D�� �� D�� g�@"i�@
t���� D�� ��� y���� ��$�� �� P������"���"D�� �� D�� D�� �� D�� �� D�� D�� D�� �� �� D�� �� �� D�� D�� ��@����� D�� ��� ����� ��$
� �� ��������D� �� D=� �� D>� �!�!D@!�!DB!DC!DC!�*!DF*!DG8!DH>!DIC!�I!DJI!�L!DLL!�P!DMP!�S!�Y!DOY!DOY!�Y!DPY!��!DR�!DS"DT"DV	"DW"DX"D["D\"D]"D_"D`"Da"De!"Df$"Dg'"Di)"Dj+"�/"Dk/"�1"Dl1"�X"DnX"Do["�^"Dq^"Ds^"�^"�^"DO^"�f"Dxf"Dyo"�t"Dzt"D|�"��"D~�"��"D�"��"D��"D��"���X��\��`��d#��h+��l��"DC�"D��"D��"D��"D��"��"D��"D��"��"D��"D��"��"D��"D��"��"D��"��"D��"��#D��#D��#D��#D��#D��#D��#D��#D��#D��#D��#D��#D��#D��#D��#D��#��#D��#D��#��#D��#��#D��#��#D��#��#��#D��#D��#��#D��#D��#��#D��#D��#�$D�$D�$�$D�$D�
$�$D�$�$�$D�$�$D�$�#$D�#$�,$D�,$4�@"8�@"
<�@	E�@G�@P�@$X��"_��dT��0$D�0$��0$j���1$t�$�2$� ��������D�4$�4$D�4$D�9$�?$D�?$�Q$D�Q$D�U$D�a$D�f$�l$D�l$D�y$D��$D��$��$D��$D��$D��$��@"��@
��@	��@"��$D��$���$�����$��$�$�� P���(������"���D�$��$D�$D�$D�$D�$��$D�$D�$D�$��$D�$��$D�$D�$��$D�$��$D�$D �$��$��$D"�$D#�$��$D$�$D%%�%�%D'%D(%�%D*%�%%D3%%�*%D4*%�4%��@(��������"���4%D64%�64%��65%�$N6%+� B9��"=��$DT;%�;%DU;%DY@%D[D%E��%�\&D]\&D^`&D`f&Daj&Dcp&Ddt&Dfz&Dg~&Di�&Dj�&Dl�&Dm�&��&Dn�&Do�&Dp�&��&Dr�&Ds�&��&Dt�&Du�&��&Dv�&Dw�&��&Dy�&Dz�&D{�&��&D}�&D~'D'D�
'D�'�&'D�&'D�+'D�/'�5'D�5'D�9'D�?'D�E'D�I'D�O'�h'D�h'D�m'D�o'��'D��'��'D��'D��'D��'D��'��'D��'��'D��'D��'D��'��'D��'D��'D��'��'D��'��'D��'��'D��'J�@"L��S����'D��'���'Y����'g�$��'u� D���(������"���$����D��'��'D��'D��'��'D��'�(D�(�(�(D�(D�(D�5(D�F(�Q(D�Q(D�p(�t(D�t(D�}(��(D��(��(D��(��(D��(��(D��(��t+D��(��(D��(D��(��(D��(D��(D��(D��(��(��(D�(D�(��(��(D��(D�(D�(D�(��@"��@
������"��@	�����@���@��(D�(��(����(��$�(�� D��"��"D"�(��(D%�(��(D+�(��(D,�(�)D-)�)�)D/)�)�)D2)�)D3)�&)D<&)�,)D=,)D>/)�4)D?4)�=)DA=)�B)DBB)�S)DCS)�\)DE\)�_)DGa)�i)DNi)�o)DOo)�u)DWu)��)DX�)DY�)��)DZ�)��)D[�)��)D]�)��)D^�)��)D`�)��)Da�)Db�)��)Dc�)��)De�)��)Df�)��)Dh�)��)Di�)��)Dk�)��)Dm�)��)Do*�*Dp*�*Dr*�*Dy*�!*Dz!*D{$*�)*D|)*�-*�-*D�-*�4*D�4*�8*D�8*D�;*�>*�@�D*D�D*��D*���E*)�$�F*4� �?��"E��D�K*�K*D�K*D�O*�b*D�b*�d*D�f*�k*D�k*�k*D�k*D�m*�s*D�s*D�*��*D��*��*D��*��*��*��*D��*��*D��*D��*��*D��*D��*��*D��*D��*��*D��*��*D��*��*D��*��*D��*��*D��*��*D��*��*��*L�@
��*D��*��*D��*��*D��*D��*��*D��*D��*��*D��*�+�+D�+�	+D�	+�+�+D�
+�+D�+�+D�+�+�+D�+D�*+�.+�.+D�0+�5+D5+�;+D;+�=+D=+�?+D?+�V+DV+�X+DX+�c+D	c+�e+De+�g+Dm+S�@"U���p+Dp+�p+[��q+f�\q�`|�`��`��`"��`(�����^��\��`"��`��^��\��`(�����`��`�`�	�`(���`(*��4�^>�\M�`0R�`$]�`(e��t�^��\��`��`0��`$��`(�����^��\��`"��`��`��`(�����`(�����`(����`�`(���`( *��4�`$>�`((E��T�`,]�`0i�`(4p��{�`"8��`"<��`"@��`D��`H��`L��`(P�����`(T�����`bX����^ ��\��`(�����`"�`(���^�\�`"!�`-�`3�`(=��A�`(I��M�`b�R�^V�\^�`$c�`$n�`0y�`(�����`b���^��\��`"��`��`��^��\��`��`��^��\��`��`��^�\�`�` �^0�\N�`Q�`W�`]�`"a�`"d�`"g�`"j�`o�`b�u�^ ���q+���+��d�+���E��o&�� �� ��&�8���8��$
�+�� D����������"��/���/���/���/���/��&"9�9��/�$6/�2P"��'�d/+� 2� "9��<c/B�<�/I�9O�`0W��0Z��0`��0l��0w��0��1���2���2���2��r3���H3���X3��h3��x3����3���3���3
���4���5��5)���54�6@�6J�,6U�<6b�d<6s��E�m&w�&b(9~�(9��&(49��49��$<6�� D��s8��$p6�� D��$�6���6��2����"��@"���7��$&7�� ����"��@"��,y��$9�7� �	�<y�&"89�89 �b8$�$G�7,�2P4��9�@8=�(,yD�(b<yI��M?8Z�Mx8g�dx8x��E�B''|�$x8�� P�z8��8��<9��$�8�� D������(��8��B���8��8�r9��9��9�:�:�?:��:�/;�O;�h;��;��;�<�I<�~<�.=�N=��=��=��>��>��>��>�4?��?�
@�
@�
@�G@�A�8A��A��A��&<9����B��&"@9��@9���B��$kB��2P����%B��dB���b��`B���qaB	�q�B�
C�D9(�rC,�PC0��C;�ZDD�H9M��DQ��DU��D`�`Fi�L9r��Fv��Fz��F���G��P9��*H��H��8H��zH��T9���H���H���H��d�H���E�B''��$�H�� D���(���"��H������"�I���I�I�dI'��E�-&+�$I1� D7��"9�@";��(=�@(
?��IH�&"X9P�X9Y�>J]�$	�Ie�2Pm��r�Jv��J��LJ��dLJ���E�D''��$LJ�� ����"���"���(�QJ���M��J�&K�bK��K��K��K��L��L���"��M��&"\9��\9��N��$5�M��2P�����M���M���b���M��;�M�;N�dN*��ED''.�$	N5� N<��0>��C��H��(�N�-NJ�6Q�_N��N��N�;O�sO��O�P�XP��P��P��P��P�Q�Q�QS�@U�@
W�@"	�5QY�&"`9a�`9j��Qn�$56Qv�2P~���?Q��|Q���b��zQ���;{Q��;�Q���R��~R��d9���R���R���R��d�R���ED''��$�R�� D���"��R������"�S���S� S�4S��T(�h91�U5��T9�(UE�d(UU��E�D''Y�$(Ua� Di��"m��"�-Uq�@(s��u��"z��"�|U|��|U��|U��d|U���E�D''��$|U�� D���"���"��U������(���"��U����U���U���U��lI���X���X��X�}X�eX	�[X�AX�/X�X�
X�X��W"��W&��W*��W.��W2��W6��W:��W>�wWB�gWF�XWJ�GWN�3WR�WV�WZ�W^��Vb��Vf��Vj��Vn��Vr��Vv��Vz�yV~�oV��YV��CV��*V��V���U���U���U���X��d�X���E�D''��J��$�X�� ����"��X��X��LY�Y�.Y�CY��&bJ��@"�KY��&"(J��(J���Y��$LY��2P���UY	��Y
��b���Y���Y ��Y-�d�Y>��E��S'B�&d,JH�,JO�&d,NU�,N\�&�,Ra�,Rg�ppo��pw�jo��^���o���p���p���p���d���o���o���`��p��Fp��$��Y�� D���(���"���"��Y��@���Y����Y��Z�K[�q[�w[�w[�y[��[�\�(\�J\�P\��\��\��]�v^�v^�@	�@
�@	��^�$��^ �2D'��()���.��4��:����^D�@��`F�$��`M�2DT��(V���[��a��g����`�=a��a�b�!b�,b�4b��b�c� c�(c��c�d�d�!d��d��dq�@s�@"
u�@	��dw�$��d~�2D���(���������������d��e��$��e���e��2D���(����������������������" ���"$��e��e�g����!g�'g�������eg�eg�kg��h��h�i�Wi��i��i��i�j��j��j��j��j�Pk�uk�{k�l�
m�m�1m��m��n�\o�fo�@"�@
�@	�@$��b�+�@0��"�5����jo:�$TjoA�2DH��(J���O��U��[���loe��j����oo�$W�ov�2D}��(��������������o�����o��$Z�o��2D���(���������������o��������o��$]�o��2D���(���������������o�p��$ap�2D
��(������� ���p�Ep*�$dFp1�2D8��(:���?��E��K���HpU��Z���op_�$hppf�2Dm��(o���t��z������rp��q��p��$k�p��2D���(���������������p��p��$n�p��2D���(���������������p��p��$q�p��2D���(�������������p��p�$t�p�2D#��(%���*��0��6����p�q@�$wqI�2DR��(T���Y��_��e��o���q��q�Mr�Vr�Xr�_r�_r��r��r��r��r��r��r��r��r��r��s��s�8t�Cv��y��y�#|�/|�t~�z~�t�@v���@
��@"	��@��@"���b��@������" ���$���,���&",V��,V�����$���2P����'��d���b��b��(@�����c����
�d���EE''�&�0V#�0V)�Ƒ1�0�9�B�B���J��R�l�Z��b�N�j���r�2�z�����$?��� D���(���"���"����D���H���L���X��&��t�����t�����������
��������@��@
��@	�������$l���2D���(����������������#��w��o��o��s���$�t���t��2D��(�������%��*��2���y��a��y�����9��J����,��7�������Ê�ʊ�ʊ������g��p��p��v�������
��[��`�����������7�@9�@
=�@	A�@F����K�$��R�2DY��([���`��f��l�����/�q�$�0�x�2D��(��������������2��M���$�N���2D���(��������������P��k���$�l���2D���(��������������n������$�����2D���(������������������	�$����2D��(�����$��*������ő/�$�Ƒ6�2D=��(?���D��J��P���ϑ������
������ݔ���������ї���d��-�U�@W�@"
Y�@	^�@c�@h��b�1�l�$2�s�2Dz��(|�������������7��L��d��l��u�����W���@"��@
��@	�����$4����2D���(��������������������ڜ��@"��@
����$B������2D������"�����!��'��_�����#���@�B���$TB���2D���(�������������G��)������$��@"	�@"

�@	�@�X��&"0Z�0Z#� (�$nX�0�2P8���a�=���B��b����F�("L�K�(H�P�(D�V��t��f�tԠo�dԠ|��E>E''��$Ԡ�� P����֠�������@��@$
����$��� D���$��������@�*��� ����*���,���D���$\��������
ȡ����!4�������آ,����8��,�D��l�P���Z��`�f��l�q��l�}�!����d�����ERfl&��$���� D���"���������@��Ω��&"P[��P[��6���$_Ω��2P���������e��eD�
�dD���ETfl&�$D�'� N/��"4���;��@�@E�b�N�&"T[V�T[_�ʬc�$]b�k�2Ps��x���|��c����cج��dج���ETfl&��$ج�� D���"���������d����EUfl&��$��� D���"�����������t����`�	������������'�d��2��EUfl&6�$��;� G@��"B��ǷM�ȷX�dȷe��ENfl&i�$ȷp� �w��"z��"}�@"��D���&"�[���[������$D���2P������������������d�����E&�R'��$���������2���������(��ϸ��������=��@(���i��$	j��j��2P#��(�l��q��ҹ�ҹ%�$Թ-�Թ6�2�>��(@��B���ٹ���������Ϻ�z��ɻD�@F�@
I�@	K�@.M�@Q�@S��(�λV�$=λZ�λ_�2�c��"e��i��l���л�/��u�o�@(q�@
s�@	u�@w�@���y�$^��������2D�������ͼ�ּ��������������,��?���@�C���${D���D���2D���.�F��m��������ʽ�ؽ����������������(��J���@��@
�i���$�j���j���2�����l���@(�����$���������2����(���(��������w��������h���������������������@.��@
��@.	��@��@��@���.���.������.���.���.��(�� ��$	��(�F���[�$F��F�#�2�,��(.���K�0�h��������������������3��6�5�&d�[9�@(<�@(
@�@(	C���A�E�$(B�L�B�T�2�[��(]���G��w��������_�@a�@.
c�@.	f�@i�@l�@n��.q��s��(�|�v�$_|�z�|��2D���(���(����������@.��@.
��@.	��@������.�����$|��������2����(���(�������
����"��6�����������@��@.
��@	��@��@.��@.������.���.���(�����������$���������2G��������@����C���$�D���D���2G���(���$�I�����R���������������@��@.
��@	��@.�@�@��
�����I��$+J��J��2�����$��$�O����$��X����������$�@(&�@
(��*�@	-��./��2��4��7���E�9�$�F�?�F�F�2GL��(N��(�K�������P�@R��U��X��[�����^�&g�[c��[i�&g�\q��\z�&g�\���\��$����� G���"������������x����������`�������P��^��^��^��f�����������������f�����������S��X��_��c�����������-��3��5��I�������������������!��'������<��K�������<��<��<��M��r���������������3��3��3��J����#��%��6��������������e�����������<�����������W���������������������������)��)��+��V��������n�����������#��������������������P����������h������t���������@��@
��@(	��@��@(��@������"���(������(���$��(��,
��0��4��8��(<��@��D��H"��L&��T,��X3��`7��h;��l=��p@��(tD��xG��|I���M���R���V��"�Y���_��"���b�$��i��q�2Dx��(z��(�����$�����1����������������1�������|�@.�@
��@	��@��@��@������.���������.���.��������l���p���$k���� �������������$���$�����������
��4��n�����������������]���t���|���l���d��1��F��S��Z��\��c��h��w��y�����������������7����������������
����&��N��Z��e��t��\�����T��������]��c��c��s����������������&��=��M��������������A��G��c��k��������������������������������������2��H��Y��������������V��e��l��{�����������������I��T��w�������������������$��L��y����������������O���������������E��S��s��(p��((l�$�@"&�@
(�@	*�@(,�@.�@(2��7��;��(=��?��B��(F��( L��"$O��(R��0V��4Y��8\��<_��Db��Hl��Lo��Pr��Tw��X��\���`���d���h���l���p���t���x���(|�����&"�\���\��F���$�����2P��������$����b�� ���((h���(�(�����!�����
�������%��3����>����J���V����`���l��d�x�t���J����\�������������������\��R���0���d���dd����E� m&��$d��� D���(��@(�����������&"�\	��\�*��$���2P&��+��/���=�8�H�d8�W��E�ʾ&[�$8�b� �i��(k�@(m��v�d�z�&"�\���\������$$���2P�����d����*a���*����d�����E�D''��$���� ����"�����x��@(�x��&"�\���\���$x
�2P��������b���"���1��<��E��\N��R��V�a�dp��EH*m&t�${� D������(�����&"]��]��6��$���2P��������#���Ԡ����~<��r�����	2]��,�0	���%��Z/�	�]5��R=��l9I�8��[��Be��Il�L�Dt�+�F{��(���T���$D����4���	y]������ȡ������0���\���L����H�k	�I 
!���*�&<s4�"?�lH
J�OLT�u�_�(�j��4t��
}�;D���qج���	��W 	�����������\H���F(U��)@���t����`�����5��(�/���v0���Z���D���.�J�-�N 4'��$1�mZ?@���5L��KY���=c�;�o���,y��h(���z��9�8����0���h���\���Y�'���4-�������Wt���g�4����+��	�]���8��t8H��x��&l���`�`##��`*��`+5�n`'<�`/C����L���PU��0N`�?Pn�zP}��FQ����Q���|������!���`d���4���������Q��[N��!d3���h3���,6��;�0����3�	�]�	�]��X[���%��,�-��l�5��G�y�M��LZU� F*a�Ft�o�<��|�nH����Ϋ��L���~4���t�����H����Ȳ���$���6h����������Db�$�$3����>�N*�L����Y��v�h��F�u�@����L���V������������������F����F�������b�������!���3���B���U���a�hB�k�:�y��6%���$��
�����R����ޤ���������,����(����'�.2$���$���3*���U4�a�X<��X3C�v6K���2Q�X�0W����^��1f��6l����v��آ���0����5���M3��V����|U��h����� ���d���� �������C����2���5���6��t�����#��n�1�
x3:���3C�`�2K��3U��p6_���o�*D�x�bȷ���������������D���8��	:]���,�����/���@0��X`0��`�����0���1�������?�2���<6���7��H3�@���X�)����0����8��d�@�p��H����N����U����^���5e�� Sm�_7w��x8���vT��X���7h����t���b����7LJ���Y��.����ed����4S��b����8���\���������������A�n���	�$]%���+�+�3���;�	�t�@��I�E�@��P�	��Y��$�a�O`�i�N��q�	��]u�	��m{�����������crt0.oexitscsish.oscsish.crccdev_devscsish.h$23.3mainmain_5_parsemain_8parseparsefp/usr/ape/include/stdio.h$29.1_15_28_31_32_35_36bufferlinepartialcmdresultparseflook_flookflookscsish.h$15.2fscsish.h$15.2nameflook_47setdevicesetdevicedscsish.h$23.3errbuffscsish.h$15.2setdevicehelp_helphelpdscsish.h$23.3cmdprecscsish.h$23.3_59_68_76fscsish.h$15.2basescsish.h$15.2helpgen_helpgen_helperrClientDataitTcl_Interpargcargvgen_helpdevs_devsscsish.h$23.3gen_devgen_deverrClientDataitTcl_Interpargcargv_93_99_100_105_115dscsish.h$23.3gen_devscsi_targetscsi_targetn_122scsi_targetset_sonyset_sony_125_127aset_sonyinterpTcl_Interpscsish.h$23.3nameverboseextsensefnsscsish.h$15.2scsish.h$23.3scsish.h$15.2namehelpparamfnscsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1scsish.cge_dev.odev.crccfns_fns../scsish.h$15.2_4_5_6_7_8_9_10_11_12_13_14_15_gen_id_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35genericdev../scsish.h$23.3_36gen_idgen_iderrClientDataitTcl_Interpargcargv_40gen_id../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1dev.cge_inq.oinq.crccgen_rmb_4_5gen_devtype_6_7_8_9_10_11gen_inqgen_inqcdClientDataitTcl_Interpargcargv_43_53_60_67buf_68cmdscsi_cmdretscsi_returniargsnagen_inq../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1inq.cge_capacity.ocapacity.crccgen_capacitygen_capacitycdClientDataitTcl_Interpargcargv_7_37cmdscsi_cmdiretscsi_returnunitnsssgen_capacity../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1capacity.cge_display.odisplay.crccgen_displaygen_displaycdClientDataitTcl_Interpargcargv_9_24_48_59cmdscsi_cmdretscsi_returnivendorproductrevretvold_idngen_display../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1display.cge_stop.ostop.crccgen_stopgen_stopcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiunitretscsi_returngen_stop../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1stop.cge_start.ostart.crccgen_startgen_startcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiunitretscsi_returngen_start../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1start.cge_reset.oreset.crccgen_resetgen_resetcdClientDataitTcl_Interpargcargvcmdscsi_cmdretscsi_returngen_reset../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1reset.cge_tur.otur.crccgen_turgen_turcdClientDataitTcl_Interpargcargv_7_26cmdscsi_cmdiunitretscsi_returngen_tur../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tur.cge_scsi.oscsi.crccgen_scsigen_scsicdClientDataitTcl_Interpargcargv_41cmdscsi_cmdretscsi_returnngen_scsi../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1scsi.cge_readt.oreadt.crccgen_readtgen_readtcdClientDataitTcl_Interpargcargv_7_40_73_74_68cmdscsi_cmdaddrbsissretscsi_returnunitt1countt2nsgen_readt../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1readt.cso_dev.odev.crccfns_fns../scsish.h$15.2_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36sonydev../scsish.h$23.3_37_38../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1dev.cso_inq.oinq.crccsony_inqsony_inqcdClientDataitTcl_Interpargcargv_35_40_47_67_68_63_59_58_53_54_50cmdscsi_cmdiretscsi_returnargsnasony_inq../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1inq.cso_alt.oalt.crcctable_tabletabledrivetabdata_5_10intablesony_altsony_altcdClientDataitTcl_Interpargcargv_30iunitretscsi_returncmdscsi_cmdsony_alt../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1alt.cso_config.oconfig.crccmtab_mtabbrdname_brdname_4_5_6sony_confsony_confcdClientDataitTcl_Interpargcargv_31_32_28_29_26_43_45_50_57_60retscsi_returncmdscsi_cmdibufnsony_conf../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1config.cso_sense.osense.crccsony_sensesony_sensecdClientDataitTcl_Interpargcargv_7_26_28cmdscsi_cmdiunitbufretscsi_returnsony_senseexstab_exstab_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45sony_extsensesony_extsensedatadestndata_51_56_57_60_61_64nesdbufsony_extsense../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sense.cso_nesd.tab.onesd.tab.crccnesd_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254_255nesd.tab.cso_status.ostatus.crccshelf_shelfshelfi_5_9_10_8_16_19_22_23_24shelfsony_istatussony_istatusretscsi_returnerrcmdscsi_cmdnsony_istatussony_statussony_statuscdClientDataitTcl_Interpargcargv_90_91_85_88_86_84_103_107_106_108_121_122_123_124_127_128_131_132_135_136distartretscsi_returnsony_status../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1status.cso_set.oset.crccsony_setsony_setcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiretscsi_returnsony_set../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1set.cso_shelfside.oshelfside.crccshelfsideshelfsideargerr_9shelfoargshelfside../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1shelfside.cso_diskid.odiskid.crccsony_diskidsony_diskidcdClientDataitTcl_Interpargcargv_7_26cmdscsi_cmdiunitretscsi_returnsony_diskid../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1diskid.cso_copy.ocopy.crccsony_copysony_copycdClientDataitTcl_Interpargcargv_8_9_24_good_search_40_copy1_52_55_56sbasewrunwrnnblocksgoosdrdbaset2lowerddrstargetdtargetretscsi_returnnbt1sony_copycopy1copy1stsdsbndtdddberrcmdscsi_cmdretscsi_returncopy1searchsearchdrlowersbasenscopy.c$15.4errcpretscsi_returnsearchgoodcopy.c$15.4BADGOODcopy.c$15.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1copy.cso_eject.oeject.crccsony_ejectsony_ejectcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiunitretscsi_returnsony_eject../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1eject.cso_media.omedia.crccsony_media1sony_media1drivelbnlowerretscsi_returnerrcmdscsi_cmdnsony_media1sony_mediasony_mediacdClientDataitTcl_Interpargcargv_60_65_72_87_89_90_88_96_cmsg_113_114_116_118_120_122_124_126_128_130_132_134_cnts_162newbnewbnewb_240_247_248optindoptargdfp/usr/ape/include/stdio.h$29.1retscsi_returnbnccurcurbverbosenlinedrivelowerbuflbncountfoutsony_mediacmsgcnts../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1media.cso_rel.orel.crccsony_relsony_relcdClientDataitTcl_Interpargcargvcmdscsi_cmdijretscsi_returnsony_rel../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1rel.cso_internal.ointernal.crccinternal_internalinternalnb1nbretscsi_returnerrcmdscsi_cmdinternalcmds_cmds_53_54_55_56_57_58msg1_msg1_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74testn_testn_75_76_77_78_79_80_81_82_83_84sony_internalsony_internalcdClientDataitTcl_Interpargcargv_88_93_228_100_101_107_111_112_118_120_127_128_129_131_157_159_160_158_170_173_176_179_182_183_184_189_190_195_196_220_223_222_224_225_226scsiidentbusidscsicmdi1erri0comcmesgdiretscsi_returnargdrivecmdscsi_cmdt1t2lowersony_internal../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1internal.cso_readid.oreadid.crccmy_read_my_readmy_readlunblkretscsi_returnerrcmdscsi_cmdnmy_readsony_readidsony_readidcdClientDataitTcl_Interpargcargv_31_36_39_55_63_69optargoptindblkretscsi_returndrivelastbprbufczerosony_readid../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1readid.cwr_dev.odev.crccfns_fns../scsish.h$15.2_4_5_6_7_8_9_10_11_12_13wrendev../scsish.h$23.3_14_15../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1dev.cwr_inq.oinq.crccwr_extinqwr_extinqcdClientDataitTcl_Interpargcargv_23cmdscsi_cmdretscsi_returnvendorproductwr_extinq../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1inq.cwr_driver.odriver.crcctypes_typeswren.h$4.4curtype_curtypewren.h$4.4setwren_setwrensetwrenerr_34_35nproductcmdscsi_cmdfoundretscsi_returnsetwrenwr_modesensewr_modesensecdClientDataitTcl_Interpargcargv_42wr_modesensewr_modeselectwr_modeselectcdClientDataitTcl_Interpargcargv_51wr_modeselectwr_diagwr_diagcdClientDataitTcl_Interpargcargv_60wr_diagwr_logsensewr_logsensecdClientDataitTcl_Interpargcargv_69wr_logsensewr_logselectwr_logselectcdClientDataitTcl_Interpargcargvwr_logselectwren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1driver.cwr_elite.oelite.crccwr_elitewren.h$4.4_7_8_msense_mselect_lsense_10_11_12_13_14_15_16_17_18er_ererpcferr_40_45_50_56bitnretscsi_returncmdscsi_cmderdr_drdrpcferr_92_93_96cmdscsi_cmdretscsi_returndr_101_102_103_104_105_106fp_fpfppcferr_132_133_143_144_165bitnretscsi_returncmdscsi_cmdfp_184_185_186_187_188geom_geomgeompcferr_214syncretscsi_returncmdscsi_cmdgeom_231_232_233_234gcp_gcpgcppcferr_260_270_275bitnretscsi_returncmdscsi_cmdgcp_290_291_292_293vc_vcvcpcferr_319_331_334bitnretscsi_returncmdscsi_cmdvcpcfval_pcfval_346_347_348_349msensemsensecdClientDataargcargv_354_368pcfmsensepages_pageswren.h$29.6_382_383_384_385_386_387_388_389_390_391_392_393_394_395_396_397_398_399_400_401mselectmselectcdClientDataargcargv_414_419_423_431_443_449_465fwren.h$18.5ipagefpwren.h$18.5pcftodowren.h$18.5mselectcs_cscspcerr_504_516_505_546retscsi_returncmdscsi_cmdncspcval_pcval_574_575_576_577lsenselsensecdClientDataargcargv_579pcflsensewren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1elite.cwr_mpage.ompage.crcc_8wr_mpagewr_mpagepcfpagefieldswren.h$18.5err_31_36_42_43_41_47_71_69maskfpwren.h$18.5fwren.h$18.5cmdscsi_cmdretscsi_returnndatamskmwr_mpagewren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1mpage.cwr_wren5.owren5.crccwr_wren5wren.h$4.4_7_8_msense_mselect_10_11_12_13_14_15_16_17_18er_ererpcferr_40_45_50_56bitnretscsi_returncmdscsi_cmderdr_drdrpcferr_90_91_94cmdscsi_cmdretscsi_returndr_99_100_101_102_103_104_105fp_fpfppcferr_131_132_142_143_164bitnretscsi_returncmdscsi_cmdfpgeom_geomgeompcferr_208cmdscsi_cmdretscsi_returngeom_219_220_221vc_vcvcpcferr_247_259_262bitnretscsi_returncmdscsi_cmdvcpcfval_pcfval_274_275_276_277msensemsensecdClientDataargcargv_282_296pcfmsensepages_pageswren.h$29.6_308_309_310_311_312_313_314_315_316_317_318_319_320_321_322mselectmselectcdClientDataargcargv_335_340_344_352_364_370_386fwren.h$18.5ipagefpwren.h$18.5pcftodowren.h$18.5mselectwren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1wren5.cge_read.oread.crccgen_readgen_readcdClientDataitTcl_Interpargcargv_7_14_19_49cmdscsi_cmdnaddriretscsi_returnssfp/usr/ape/include/stdio.h$29.1unitbscountfilenst1t2gen_read../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1read.cso_i0.tab.oi0.tab.crcci0com_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254_255_256i0.tab.cso_i1.tab.oi1.tab.crcci1err_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254_255_256i1.tab.cso_scsi.tab.oscsi.tab.crccscsicmd_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254busid_255_256_257_258_259_260_261_262_263_264_265_266_267_268_269_270_271_272_273_274_275_276_277_278_279_280_281_282_283_284_285scsiident_286_287_288_289_290_291_292_293_294_295_296_297_298_299_300_301cmesg_302_303_304_305_306scsi.tab.cs_h_io.oh_io.crccfd_fds_ignuass_ioss_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_9_15_23nretvss_iosmsg_smsg_29_30_31_32_33_34_35_36s_ios_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_83mycmdscsi_cmdnioerrstatusbufignoreduas_ios_idss_extsense../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1h_io.cge_sense.osense.crccgen_sensegen_sensecdClientDataitTcl_Interpargcargv_7_26_30_31_39_46cmdscsi_cmdretscsi_returniunitgen_senseexstab_exstab_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63gen_extsensegen_extsensedatadestndata_69_70_71classgen_extsenseargv0../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sense.cs_pperror.opperror.crccpperrorpperrorbufmesg_5_6errnosys_errlistsys_nerrpperrorscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdpperror.cs_fixedstr.ofixedstr.crccfixedstrfixedstrsrclendestsfixedstrscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdfixedstr.cs_longat.olongat.crcclongatlongatsrcnlongatscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdlongat.cs_xd.oxd.crccxdxdpnfp/usr/ape/include/stdio.h$29.1_13_14_24_28_40_45_47_48_52indlsbufdidstarxd../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1xd.ctclAssem.otclAssem.crccrcsid_rcsidTcl_CreateCmdBufTcl_CreateCmdBufcbPtrtclAssem.c$40.5Tcl_CreateCmdBufTcl_DeleteCmdBufTcl_DeleteCmdBufbuffercbPtrtclAssem.c$40.5Tcl_DeleteCmdBufTcl_AssembleCmdTcl_AssembleCmdbufferstringnewSizenewBufgotNewLinecbPtrtclAssem.c$40.5plengthtotalLengthTcl_AssembleCmdtclAssem.c$40.5bufferbufSizebytesUsedtclAssem.c$40.5./stdlib.h$126.4quotrem./stdlib.h$126.4div_tquotremdiv_t./stdlib.h$79.3sizeflags./stdlib.h$79.3/usr/ape/include/stdio.h$29.2fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.2HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.1commandbytesAvltclInt.h$175.1CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.1curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_InterptclAssem.ctclBasic.otclBasic.crccrcsid_rcsidbuiltInCmds_builtInCmds_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35builtInProcs_builtInProcsTcl_CreateInterpTcl_CreateInterpTcl_InterpiPtrInterpnamePtrprocPtrcmdPtrCommandTcl_CreateInterpTcl_WatchInterpTcl_WatchInterpinterpTcl_InterpprocclientDataicPtrInterpCallbackiPtrInterpTcl_WatchInterpTcl_DeleteInterpTcl_DeleteInterpinterpTcl_InterpcmdPtrCommandtracePtrTraceicPtrInterpCallbackiPtrInterpTcl_DeleteInterpTcl_CreateCommandTcl_CreateCommandinterpTcl_InterpcmdNameprocclientDatadeleteProccmdPtrCommandiPtrInterpTcl_CreateCommandTcl_DeleteCommandTcl_DeleteCommandinterpTcl_InterpcmdNamecmdPtrCommandiPtrInterpTcl_DeleteCommandTcl_EvalTcl_EvalinterpTcl_InterpcmdflagstermPtr_80_119_132deltanewCopylengthvaluenewArgsnumRead_193_196_199deltanewCopy_220_219saved_245_248_249_268_273_280_281_282pnumCharsellipsis_297_298firstlastdstsrciPtrInterptracePtrTraceiargvargccopycmdPtrCommandcopySizelimitopenBracescmdStartopenQuotecopyStoragetermCharresultargStartsyntaxPtrsyntaxMsgtmpargSizeargStoragedummyTcl_EvalTcl_CreateTraceTcl_CreateTraceinterpTcl_InterplevelprocclientDatatracePtrTraceiPtrInterpTcl_CreateTraceTcl_DeleteTraceTcl_DeleteTraceinterpTcl_InterptraceiPtrInterptracePtrTracetracePtr2TraceTcl_DeleteTraceTcl_AddErrorInfoTcl_AddErrorInfointerpTcl_Interpmessage_315oldVarbufferlengthiPtrInterpTcl_AddErrorInfoTclFindCmdTclFindCmdCommandiPtrInterpcmdNameabbrevOK_330prevCommandcurCommandcmatchCommandlengthvarValueTclFindCmdHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclBasic.ctclCmdAH.otclCmdAH.crccrcsid_rcsidTcl_BreakCmdTcl_BreakCmddummyinterpTcl_Interpargcargv_8Tcl_BreakCmdTcl_CaseCmdTcl_CaseCmddummyinterpTcl_Interpargcargv_14_13_17_24_37pjpatArgcpatArgv_55msgistringbodyresultTcl_CaseCmdTcl_CatchCmdTcl_CatchCmddummyinterpTcl_Interpargcargv_60_63resultTcl_CatchCmdTcl_ConcatCmdTcl_ConcatCmddummyinterpTcl_Interpargcargv_68Tcl_ConcatCmdTcl_ContinueCmdTcl_ContinueCmddummyinterpTcl_InterpargcargvTcl_ContinueCmdTcl_ErrorCmdTcl_ErrorCmddummyinterpTcl_Interpargcargv_77iPtrInterpTcl_ErrorCmdTcl_EvalCmdTcl_EvalCmddummyinterpTcl_Interpargcargv_88msgresultcmdTcl_EvalCmdTcl_ExecCmdTcl_ExecCmddummyinterpTcl_Interpargcargv_91_101_108_117_122_127_130_134tmp_137_140_149err_152errSpacenewOutput_168_176child_181ioutputSizecountoutputSpaceoutputstdOutcmdNameresultinputstdInpidstatusinputSizeexecNameTcl_ExecCmdTcl_ExprCmdTcl_ExprCmddummyinterpTcl_Interpargcargv_198resultvalueTcl_ExprCmdTcl_FileCmdTcl_FileCmddummyinterpTcl_Interpargcargv_205_208_211_214_217_222lastSlash_228_235_239_240_243_246_249_252_255_258_259lengthfileNamepmodestatOpstatBufstatTcl_FileCmdTcl_ForCmdTcl_ForCmddummyinterpTcl_Interpargcargv_285_290_304msg_311resultvalueTcl_ForCmdTcl_ForeachCmdTcl_ForeachCmddummyinterpTcl_Interpargcargv_320_335msgresultilistArgvlistArgcTcl_ForeachCmdTcl_FormatCmdTcl_FormatCmddummyinterpTcl_Interpargcargv_342pbsSize_429_433_410endend_420_421_425_426newSpacenewDstnewPtr_450formatsizedstSizewidthprecisiondstnoPercentcurArgoneWordValuedstSpaceuseTwoWordsnewFormattwoWordValueTcl_FormatCmdHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interpstatst_devst_inost_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctimestatflockl_typel_whencel_startl_lenl_pidflock./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sigactionsa_handlersa_masksa_flagssigactiontclCmdAH.ctclCmdIZ.otclCmdIZ.crccrcsid_rcsidTcl_IfCmdTcl_IfCmddummyinterpTcl_Interpargcargv_9_12_17_20_29msgresultcmdconditionifPartvalueelsePartnameTcl_IfCmdTcl_IndexCmdTcl_IndexCmddummyinterpTcl_Interpargcargv_35_40_57_58resultindexpsizeelementparenthesizedTcl_IndexCmdTcl_InfoCmdTcl_InfoCmddummyinterpTcl_Interpargcargv_65_68_71_75_78_81_86_89_90_93_96_99_102_111_116_117_120_123p_128_131_134_137_142_153framePtrCallFramelevelend_168_171_174_177_178_181_184_187newArgsiPtrInterpvarPtrVarcmdPtrCommandflagargSizepatternargSpacelengthcprocPtrProcTcl_InfoCmdTcl_LengthCmdTcl_LengthCmddummyinterpTcl_Interpargcargv_230resultelementpcountTcl_LengthCmdTcl_ListCmdTcl_ListCmddummyinterpTcl_Interpargcargv_247Tcl_ListCmdTcl_PrintCmdTcl_PrintCmdnotUsedinterpTcl_Interpargcargv_253_261_262_263_264_267_273f/usr/ape/include/stdio.h$29.1resultTcl_PrintCmdTcl_RangeCmdTcl_RangeCmdnotUsedinterpTcl_Interpargcargv_279_284_287endresultcountbegindummylastfirstcTcl_RangeCmdTcl_RenameCmdTcl_RenameCmddummyinterpTcl_Interpargcargv_332_337_340oldPtrCommandnewPtrCommandiPtrInterpTcl_RenameCmdTcl_ReturnCmdTcl_ReturnCmddummyinterpTcl_Interpargcargv_345Tcl_ReturnCmdTcl_ScanCmdTcl_ScanCmddummyinterpTcl_Interpargcargv_353_370_387_383_391_418stringtclCmdIZ.c$945.350fmtsizelocationtclCmdIZ.c$945.350curFieldtclCmdIZ.c$945.350fmtnumFieldsitotalSizesuppressfieldstclCmdIZ.c$945.350resultsnumScannedarg1LengthTcl_ScanCmdTcl_SourceCmdTcl_SourceCmddummyinterpTcl_Interpargcargv_425_430_433_439_445msgfileIdstatBufstatcmdBufferresultfileNameendTcl_SourceCmdTcl_StringCmdTcl_StringCmddummyinterpTcl_Interpargcargv_450_453_458_461_464_467_470pclengthmatchfirstTcl_StringCmdTcl_TimeCmdTcl_TimeCmddummyinterpTcl_Interpargcargv_489_490_499msg_500resulticountstarttmsstoptmsmicrostimePerTcl_TimeCmdHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interptmstms_utimetms_stimetms_cutimetms_cstimetmsstatst_devst_inost_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctimestatflockl_typel_whencel_startl_lenl_pidflock./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclCmdIZ.ctclExpr.otclExpr.crccrcsid_rcsidprecTableExprGetNumExprGetNumstringtermPtrcresultsignExprGetNumExprLexExprLexinterpTcl_InterpinfoPtrtclExpr.c$34.3_94_46_55stringpctermvarresultExprLexExprGetValueExprGetValueinterpTcl_InterpinfoPtrtclExpr.c$34.3prec_107_211_166_213operatoroperandresultiPtrInterpgotOpExprGetValueTcl_ExprTcl_ExprinterpTcl_InterpstringvaluePtrinfotclExpr.c$34.3resultTcl_ExprtclExpr.c$34.3interpTcl_InterporiginalExprexprtokennumbertclExpr.c$34.3HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.2commandbytesAvltclInt.h$175.2CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.2curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclExpr.ctclGlob.otclGlob.crccrcsid_rcsidAppendResult_AppendResultAppendResultdirnamenameLengthresPtrtclGlob.c$41.5newSizenewSpacepdirLengthtotalLengthAppendResultDoGlob_DoGlobDoGlobinterpTcl_InterpdirremresPtrtclGlob.c$41.5_37elementnewReml2l1remLengthstatic1_60_76entryPtrdirentpatternd_dirdescnewDirl1l2static1statBufstatstatic2newDirl2l1static1pccloseBraceopenBracegotSpecialresultDoGlob_93_94_95Tcl_TildeSubstTcl_TildeSubstinterpTcl_Interpname_101_104_113pwPtrpasswdcurBufcurSizestaticBufplengthdirfromPwTcl_TildeSubstTcl_GlobCmdTcl_GlobCmddummyinterpTcl_Interpargcargv_136_137thisName_144iresultglobRestclGlob.c$41.5staticSpaceTcl_GlobCmdtclGlob.c$41.5resulttotalSpacespaceUseddynamictclGlob.c$41.5HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interpstatst_devst_inost_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctimestat_dirdescdd_fddd_locdd_sizedd_offsetdd_buf_dirdescdirentd_inod_reclend_namlend_namedirent./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2passwdpw_namepw_uidpw_gidpw_dirpw_shellpasswd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclGlob.ctclHistory.otclHistory.crccrcsid_rcsidTcl_RecordAndEvalTcl_RecordAndEvalinterpTcl_Interpcmdflags_HistoryInit_DoRevs_MakeSpaceiPtrInterpeventPtrtclInt.h$175.1lengthsavedFirstresultTcl_RecordAndEvalTcl_HistoryCmdTcl_HistoryCmddummyinterpTcl_Interpargcargv_25_GetEvent_RevCommand_30_33_38_39_42_45_DisableRevs_52_55_RevResult_63_66_71end_93curlengthnextpindxicount_101_104_109isrceventstclInt.h$175.1countend_132_135_136_139_142_150_154_SubsAndEval_162_165_GetWordswords_173iPtrInterpeventPtrtclInt.h$175.1lengthcTcl_HistoryCmdHistoryInitHistoryInitiPtrInterpnumEvents_180iHistoryInitMakeSpaceMakeSpacehPtrtclInt.h$175.1sizeMakeSpaceInsertRev_InsertRevInsertReviPtrInterprevPtrHistoryRevcurPtrHistoryRevprevPtrHistoryRevInsertRevRevCommandRevCommandiPtrInterpstringrevPtrHistoryRevRevCommandRevResultRevResultiPtrInterpstringrevPtrHistoryRevevalFirstevalLastargvRevResultDoRevsDoRevsiPtrInterprevPtrHistoryReveventPtrtclInt.h$175.1pcountbytesSeensizenewCommandDoRevsDisableRevsDisableRevsiPtrInterpDisableRevsGetEventGetEventtclInt.h$175.1iPtrInterpstring_248_253_257_271eventPtrtclInt.h$175.1indexlengtheventNumendGetEventSubsAndEvalSubsAndEvaliPtrInterpcmdoldnew_281srcdstoldLengthcountnewLengthnewCmdlengthresultSubsAndEvalGetWordsGetWordsiPtrInterpcommandwordsmatchsavedChar_338_339nextendstartdstindexfirstlastpatternresultGetWords./stdlib.h$126.4quotrem./stdlib.h$126.4div_tquotremdiv_t./stdlib.h$79.3sizeflags./stdlib.h$79.3/usr/ape/include/stdio.h$29.2fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.2HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.1commandbytesAvltclInt.h$175.1CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.1curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_InterptclHistory.ctclProc.otclProc.crccrcsid_rcsidTcl_ProcCmdTcl_ProcCmddummyinterpTcl_Interpargcargv_8_20_24argPtrVarfieldValuesfieldCountvalueLengthnameLengthiPtrInterpprocPtrProciresultargArrayargCountTcl_ProcCmdTcl_GetVarTcl_GetVarinterpTcl_InterpvarNameglobalvarPtrVariPtrInterpTcl_GetVarTcl_SetVarTcl_SetVarinterpTcl_InterpvarNamenewValueglobalvarPtrVarvarListPtrVariPtrInterpvalueLengthTcl_SetVarTcl_ParseVarTcl_ParseVarinterpTcl_InterpstringtermPtr_75_78nameresultcTcl_ParseVarTcl_SetCmdTcl_SetCmddummyinterpTcl_Interpargcargvvalue_87Tcl_SetCmdTcl_GlobalCmdTcl_GlobalCmddummyinterpTcl_Interpargcargv_92_101varPtrVariPtrInterpgVarPtrVarTcl_GlobalCmdTcl_UplevelCmdTcl_UplevelCmddummyinterpTcl_Interpargcargv_107cmd_140msg_141iPtrInterpframePtrCallFramelevellevelArgresultsavedVarFramePtrCallFrameendTcl_UplevelCmdTclFindProcTclFindProcProciPtrInterpprocNamecmdPtrCommandTclFindProcTclIsProcTclIsProcProccmdPtrCommandTclIsProcTclDeleteVarsTclDeleteVarsiPtrInterpvarPtrVarTclDeleteVarsInterpProcInterpProcprocPtrProcinterpTcl_Interpargcargv_176_183_187_192msg_195_198formalPtrVarargPtrVariPtrInterpframeCallFramevalueargsresultendInterpProcProcDeleteProcProcDeleteProcprocPtrProcargPtrVarProcDeleteProcFindVarFindVarVarvarListPtrVarvarNameprevVarcurVarcFindVarNewVarNewVarVarnamevaluevarPtrVarvalueLengthnameLengthNewVarHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclProc.ctclUtil.otclUtil.crccrcsid_rcsidTclFindElementTclFindElementinterpTcl_InterplistelementPtrnextPtrsizePtrbracePtr_36p2size_46popenBracessizeTclFindElementTclCopyAndCollapseTclCopyAndCollapsecountsrcdstcnumReadTclCopyAndCollapseTcl_MergeTcl_MergeargcargvnestingLevelbraceCountwhiteSpacebracketsdollarsnestedBSsrcdstcurFlagsinumCharsflagPtrresultlocalFlagsTcl_MergeTcl_ConcatTcl_ConcatargcargvpitotalSizeresultTcl_ConcatTcl_ReturnTcl_ReturninterpTcl_InterpstringstatusiPtrInterpwasDynamicoldResultlengthTcl_ReturnTcl_BackslashTcl_BackslashsrcreadPtr_201presultcountTcl_BackslashTcl_SplitListTcl_SplitListinterpTcl_InterplistargcPtrargvPtr_224pielSizeelementresultbraceargvsizeTcl_SplitListTcl_StringMatchTcl_StringMatchstringpatternc2Tcl_StringMatchTclWordEndTclWordEndstartnestedbracespcountTclWordEndHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclUtil.cgetopt.ogetopt.crccopterroptindsp_2getoptgetoptargcargvopts__YYnull_19_32_31_59_YYfile__YYfile_93_YYnull_YYnullline_94optoptoptarggetopt.crand.o_seednrand.o_3min.oLC_access.oLC_close.oLC_dup.oLC_execvp.oLC_fork.oLC_fstat.oLC_getenv.oLC_getpwnam.oLC_getuid.oLC_lseek.oLC_open.oLC_opendir.oLC_pipe.oLC_read.oLC_readdir.oLC_sleep.oLC_stat.oLC_time.oLC_times.oLC_unlink.oLC_wait.oLC_write.oP_getpwent.oposix/getpwent.crccPASSWD_PASSWDpwf_pwfsetpwentsetpwent_4endpwentendpwentpwskip_pwskippwskippp__YYnullpwdecodepwdecodepp_passwdgetpwentgetpwent_line_YYfile__YYfile_33_YYnull_YYnullline_34passwdlineposix/getpwent.cS__IO_putc.ostdio/_IO_putc.crcc_IO_cleanup_IO_cleanup_4_IO_putc_IO_putccf__YYnull_39firstcnt_YYfile__YYfile_289_YYnull_YYnullline_290bufstdio/_IO_putc.cS_clearerr.o__YYnull__YYfile_21_22S_fclose.o__YYnull__YYfile_24_25S_fflush.o__YYnull__YYfile_50_51S_fgets.o__YYnull__YYfile_33_34S_fopen.o__YYnull__YYfile_11_12S_fprintf.ostdio/fprintf.crccfprintffprintfffmtnargsstdio/fprintf.cS_fputs.ostdio/fputs.crccfputsfputsssff__YYnull_YYfile__YYfile_31_YYnull_YYnullline_32stdio/fputs.cS_freopen.ostdio/freopen.crccfreopenfreopennamemodef__YYnullnm_YYfile__YYfile_101_YYnull_YYnullline_102bufstdio/freopen.cS_fwrite.ostdio/fwrite.crccfwritefwritepreclnrecf__YYnulldns_YYfile__YYfile_97_YYnull_YYnullline_98bufstdio/fwrite.cS_perror.o_4__YYnull__YYfile_18_19S_printf.ostdio/printf.crccprintfprintffmtnargsstdio/printf.cS_rewind.oS_setvbuf.o__YYnull__YYfile_45_46S_sprintf.ostdio/sprintf.crccsprintfsprintfbuffmtfnargsvstdio/sprintf.cS_sscanf.ostdio/sscanf.crccsscanfsscanfsfmtnfargsstdio/sscanf.cS_stdio.oS_strerror.o__IO_errlist_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44S_tmpnam.ostdio/tmpnam.crcc_4tmpnamtmpnams__YYnullnamep_YYfile__YYfile_25_YYnull_YYnullline_26bufstdio/tmpnam.cS_vfprintf.ostdio/vfprintf.crcclflag_lflagtflag_tflagocvt_ocvt_ocvt_E_ocvt_G_ocvt_X_ocvt_c_ocvt_d_ocvt_e_ocvt_f_ocvt_g_ocvt_n_ocvt_o_ocvt_p_ocvt_s_ocvt_u_ocvt_xvfprintfvfprintffsargs_nprint__YYnullflagswidthprecisionocvt_cocvt_cfargsflagswidthprecisioniocvt_socvt_sfargsflagswidthprecisionisnocvt_nocvt_nfargsflagswidthprecisionocvt_fixed_ocvt_fixedocvt_fixedfargsflagswidthprecisionradixsgnedalphabetprefix_386_389_392_393dpnumnlzeronpaddigitsnoutsignsnumocvt_Xocvt_Xfargsflagswidthprecision_604_603ocvt_docvt_dfargsflagswidthprecision_605ocvt_oocvt_ofargsflagswidthprecision_607_606ocvt_pocvt_pfargsflagswidthprecisionocvt_uocvt_ufargsflagswidthprecisionocvt_xocvt_xfargsflagswidthprecision_609_608ocvt_Eocvt_Efargsflagswidthprecision_ocvt_fltocvt_Gocvt_Gfargsflagswidthprecisionocvt_eocvt_efargsflagswidthprecisionocvt_focvt_ffargsflagswidthprecisionocvt_gocvt_gfargsflagswidthprecisionocvt_fltocvt_fltfargsflagswidthprecisionafmtiexponentnoutdigitsndigeptrebuffmtsignedigitsechrd_YYfile__YYfile_980_YYnull_YYnullline_981bufnprintstdio/vfprintf.cS_vfscanf.ostdio/vfscanf.crccicvt_icvt_icvt_f_icvt_x_icvt_sq_icvt_c_icvt_d_icvt_i_icvt_n_icvt_o_icvt_p_icvt_s_icvt_uvfscanfvfscanffsargs_nread_ncvt_fmtp__YYnullcwidthstoretypeicvt_nicvt_nfargsstorewidthtypeicvt_fixed_icvt_fixedicvt_fixedfargsstorewidthtypeunsgnedbasecdignumndigsignicvt_dicvt_dfargsstorewidthtypeicvt_xicvt_xfargsstorewidthtypeicvt_oicvt_ofargsstorewidthtypeicvt_iicvt_ifargsstorewidthtypeicvt_uicvt_ufargsstorewidthtypeicvt_picvt_pfargsstorewidthtypeicvt_ficvt_ffargsstorewidthtypecsndptnexpndigbuficvt_sicvt_sfargsstorewidthtypescnnicvt_cicvt_cfargsstorewidthtypescmatch_matchmatchcpatokicvt_sqicvt_sqfargsstorewidthtypespatcnn_YYfile__YYfile_826_YYnull_YYnullline_827buffmtpncvtnreadstdio/vfscanf.cS_exit.ostdio/exit.crccexitexitstatusifatexitatexitfi_atexitfnsstdio/exit.cS_abort.oLC_strlen.oLC_strcat.oLC_strchr.oLC_strcmp.oLC_strcpy.oLC_strncmp.oLC_strncpy.oLC_strrchr.oLC_memcpy.oLC_memcmp.oLC_malloc.oLC_sbrk.oLC_cerror.oLC_ctype.oLC_strdup.oG_strtol.ogen/strtol.crccstrtolstrtolnptrendptrbasebase__YYnull_YYfile__YYfile_82_YYnull_YYnullline_83gen/strtol.cG_strtoul.ogen/strtoul.crccstrtoulstrtoulnptrendptrbasebase__YYnull_YYfile__YYfile_80_YYnull_YYnullline_81gen/strtoul.cG_atoi.ogen/atoi.crccatoiatoisgen/atoi.cG_atol.ogen/atol.crccatolatolsgen/atol.cLC_errlst.oLC_ctime.oLC_udiv.oLC_urem.oLC__exit.oG_atof.ogen/atof.crccatofatofsgen/atof.cG_strstr.ogen/strstr.crccstrstrstrstrs1s2s2__YYnull_YYfile__YYfile_15_YYnull_YYnullline_16gen/strstr.cS__dtoa.ostdio/_dtoa.crccBalloc_BallocBallock_freelist__YYnullrvxBfree_BfreeBfreevmultadd_multaddmultaddbmayxizxwdsib1s2b_s2bs2bsnd0ndy9biykxhi0bits_hi0bitshi0bitsxklo0bits_lo0bitslo0bitsykxi2b_i2bi2bibmult_multmultabxccarryxz2zyxaexbwcxaxc0xbecwawbk_244pow5mult_pow5multpow5multbk_p5sp05p5p51b1ilshift_lshiftlshiftbkixx1k1n1nxezb1cmp_cmpcmpabxaxbxa0jixb0diff_diffdiffabborrowxcyzxaxbwaxaexbeciwbulp_ulpulpxLab2d_b2db2daekxayxa0d0d1dzwd2b_d2bd2bdebitsbkzd0xdeyd1iratio_ratioratioabkdadbkakbtens_tensbigtens_bigtenstinytens_tinytensstrtodstrtods00se_532_554_662_699_737_837_846_849_920_921_924rvinddeltabb2bscbd2sbdybbaadjbs2dsignnzjzbd0bbeebb5bd5aadj1bbbitsadjrv0Le1bb1nfknd0signnz0s0esigns1quorem_quoremquorembSbxborrowyyszsizssxcarryqbxesxen_1045_1046_dtoa_dtoadmodendigitsdecptsignrve_1071_1080_1092_1091_1093_1094_1122_1153_1154result_kresultsijbLmhiilimdigSkdsmlodeltas0j1epss2b2m2d2leftrightb5s5iepsk_checktry_quickbbitsm5beilim1ilim0k0spec_caseb1_YYfile__YYfile_1399_YYnull_YYnullline_1400bufp5sfreeliststdio/_dtoa.cLC_alarm.oLC_creat.oLC_dirread.oLC_pdirread.oLC_execv.oLC_execve.oLC_getpid.oLC_kill.oLC_setjmp.oLC_signal.oS__IO_getc.o__YYnull__YYfile_64_65S_ferror.o__YYnull__YYfile_8_9S_fseek.ostdio/fseek.crccfseekfseekffoffstype__YYnull_YYfile__YYfile_43_YYnull_YYnullline_44stdio/fseek.cS_sclose.ostdio/sclose.crccsclosescloseff__YYnull_57_YYfile__YYfile_66_YYnull_YYnullline_67stdio/sclose.cS_sopenr.ostdio/sopenr.crccsopenrsopenrs__YYnullf_YYfile__YYfile_34_YYnull_YYnullline_35bufstdio/sopenr.cS_sopenw.o__YYnull__YYfile_25_26S_ungetc.ostdio/ungetc.crccungetcungetccf__YYnull_YYfile__YYfile_60_YYnull_YYnullline_61stdio/ungetc.c_exitstart_main_environ_Tcl_CreateInterp_interp_scsi_target_genericdev_setdevice_set_sony_s_id_printf__IO_stream_Tcl_CreateCmdBuf_clearerr_fputs_fflush_fgets_Tcl_AssembleCmd_Tcl_RecordAndEval_strlen_strncmp_ss_extsense_Tcl_CreateCommand_strcmp_gen_help_sonydev_wrendev_gen_dev_fprintf_gen_capacity_gen_display_gen_inq_gen_read_gen_readt_gen_reset_gen_scsi_gen_sense_gen_start_gen_stop_gen_tur_gen_extsense_atoi_gen_rmb_gen_devtype_s_io_fixedstr_longat_sprintf_ss_io_atoludiv_time_srand_nrand_sony_alt_sony_conf_sony_copy_sony_diskid_sony_eject_sony_inq_sony_internal_sony_media_sony_readid_sony_rel_sony_sense_sony_set_sony_status_sony_extsense__IO_putc_min_nesd_strcat_sony_istatus_shelfside_xd_ctime_sony_media1_getopt_optarg_optind_fopen_pperror_strdup_i0com_scsicmd_i1err_scsiident_busid_cmesg_strncpy_wr_diag_wr_extinq_wr_modesense_wr_modeselect_wr_logsense_wr_logselect_wr_elite_wr_wren5_strcpy_wr_mpage_sleep_memcpy_perror_fwrite_s_ignua_open_write_close_read_argv0_errno_sys_nerr_sys_errlist_memcmp_malloc_Tcl_DeleteCmdBuf_free__ctype_TclWordEnd_Tcl_BreakCmd_Tcl_CaseCmd_Tcl_CatchCmd_Tcl_ConcatCmd_Tcl_ContinueCmd_Tcl_ErrorCmd_Tcl_EvalCmd_Tcl_ExecCmd_Tcl_ExprCmd_Tcl_FileCmd_Tcl_ForCmd_Tcl_ForeachCmd_Tcl_FormatCmd_Tcl_GlobCmd_Tcl_GlobalCmd_Tcl_IfCmd_Tcl_IndexCmd_Tcl_InfoCmd_Tcl_LengthCmd_Tcl_ListCmd_Tcl_PrintCmd_Tcl_ProcCmd_Tcl_RangeCmd_Tcl_RenameCmd_Tcl_ReturnCmd_Tcl_ScanCmd_Tcl_SetCmd_Tcl_SourceCmd_Tcl_StringCmd_Tcl_TimeCmd_Tcl_UplevelCmd_Tcl_WatchInterp_Tcl_DeleteInterp_TclDeleteVars_Tcl_DeleteCommand_TclFindCmd_Tcl_Eval_Tcl_ParseVar_Tcl_Backslash_Tcl_Return_strchr_Tcl_AddErrorInfo_Tcl_CreateTrace_Tcl_DeleteTrace_Tcl_GetVar_Tcl_SetVar_Tcl_StringMatch_Tcl_SplitList_Tcl_Concat_Tcl_TildeSubst_pipe_strerror_tmpnam_lseek_unlink_fork_dup2__exit_execvp_wait_Tcl_Expr_strrchr_access_stat_geteuid_strtol_sscanf_TclFindElement_TclCopyAndCollapse_TclFindProc_Tcl_Merge_TclIsProc_fclose_fstat_times_precTable_ExprGetNum_ExprLex_ExprGetValue_opendir_readdir_getenv_getpwnam_endpwent_Tcl_HistoryCmd_strtoul_strstr_ProcDeleteProc_InterpProc_FindVar_NewVar_opterr_optopt_abort_lrand_rand_frandcerror_dup_execlp_execv_vfork_setpwent_getpwent_getuid_dirread_pdirread_alarm_setjmp_signal_getpid_kill_pause_longjmp_ftime_rewind_pwdecode__IO_cleanup__IO_setvbuf_atexit_realloc__IO_getc_ferror_freopen_vfprintf_creat_fseek_setvbuf_sopenw_sclose_sopenr_vfscanfurem__dtoa_ungetc_atof__atexitfns_sbrk_ialloc_mstats_end_brk_localtime_asctime_gmtime_dysize_strtod_mb_ncnv_execve_getppid0707070035050377401006660011710000040000010133720474343167700001100000006164scsish.c#include	<stddef.h>
#include	<stdio.h>
#include	<string.h>
#include	"scsi.h"
#include	"scsish.h"
#include	"tcl.h"
#include	"generic/fns.h"

extern Device genericdev;
static Device *dev = 0;
static void parse(FILE *);
Tcl_Interp *interp;

main()
{
	interp = Tcl_CreateInterp();
	scsi_target(2);
	setdevice(&genericdev);
	set_sony();
	printf("dev=%s, target=%d:\n", dev->name, s_id);
	parse(stdin);
	exit(0);
}

static void
parse(FILE *fp)
{
	char line[1000], *cmd;
	int result, partial;
	static Tcl_CmdBuf buffer;

	buffer = Tcl_CreateCmdBuf();
	partial = 0;
	for(;;){
		clearerr(fp);
		if(!partial){
			fputs("% ", stdout);
			fflush(stdout);
		}
		if(fgets(line, sizeof line, fp) == NULL){
			if(!partial)
				exit(0);
			line[0] = 0;
		}
		cmd = Tcl_AssembleCmd(buffer, line);
		if(cmd == NULL){
			partial = 1;
			continue;
		}
		partial = 0;
		result = Tcl_RecordAndEval(interp, cmd, 0);
		if(result == TCL_OK){
			if(interp->result[0])
				printf("%s\n", interp->result);
		} else {
			if(result == TCL_ERROR)
				printf("Error");
			else
				printf("Error %d", result);
			if(interp->result)
				printf(": %s", interp->result);
			printf("\n");
		}
	}
}

static Function *
flook(Function *f, char *name)
{
	for(; f->help; f++)
		if(strncmp(f->name, name, strlen(f->name)) == 0)
			return(f);
	return(0);
}

void
setdevice(Device *d)
{
	Function *f;
	static char errbuf[256];

	dev = d;
	ss_extsense = dev->extsense;
	for(f = d->fns; f->name; f++){
		Tcl_CreateCommand(interp, f->name, f->fn, (ClientData)errbuf, NULL);
	}
}

static
help(Device *d, char *cmd, Device *prec)
{
	Function *f;
	Function *base;

	base = (prec && prec->fns)? prec->fns:0;
	if(cmd == 0){
		printf("device %s(%s):\n", d->name, d->verbose);
		if(f = d->fns)
			while(f->name){
				if((base == 0) || (flook(base, f->name) == 0))
					printf("\t%s\n", f->help);
				f++;
			}
		return(0);
	} else {
		if(f = d->fns)
			while(f->name)
				if(strcmp(f->name, cmd) == 0){
					printf("(%s) %s\n", d->name, f->help);
					return(1);
				} else
					f++;
		return(0);
	}
}

int
gen_help(ClientData err, Tcl_Interp *it, int argc, char **argv)
{
#pragma ref it
#pragma ref err

	if(dev)
		if(help(dev, argc <= 1? 0:argv[1], (Device *)0))
			return(0);
	help(&genericdev, argc <= 1? 0:argv[1], dev);
	return(TCL_OK);
}

extern Device sonydev;
extern Device wrendev;
static Device *devs[] = {
	&genericdev,
	&sonydev,
	&wrendev,
	0
};

int
gen_dev(ClientData err, Tcl_Interp *it, int argc, char **argv)
{
	Device **d;

#pragma ref it
#pragma ref err

	if(argc == 1)
		printf("dev=%s\n", dev? dev->name : genericdev.name);
	else if(strcmp(argv[1], "?") == 0){
		printf("available devices:\n");
		for(d = devs; *d; d++)
			printf("\t%s(%s)\n", (*d)->name, (*d)->verbose);
	} else {
		for(d = devs; *d; d++)
			if(strcmp(argv[1], (*d)->name) == 0)
				break;
		if(*d){
			setdevice(&genericdev);
			setdevice(*d);
		} else
			fprintf(stderr, "device '%s' unknown\n", argv[1]);
	}
	return(TCL_OK);
}

void
scsi_target(int n)
{
	if((n < 0) || (n >= 8))
		fprintf(stderr, "%d is an invalid target\n", n);
	else
		s_id = n;
}

set_sony()
{
	char *a[3];

	a[0] = "dev";
	a[1] = "sony";
	a[2] = 0;
	gen_dev(0L, interp, 2, a);
}
0707070035050375101006660011710000040000010135770467643675700001100000002375scsish.hstruct ClientData
{
	char err[256];
};
typedef struct ClientData *ClientData;
#define	_CLIENTDATA

#define		ERR_RETURN	{ it->result = cd->err; return(TCL_ERROR); }
#define		USAGE_RETURN	{ it->result = "usage error"; return(TCL_ERROR); }

struct Tcl_Interp;
typedef int (*Functionfn)(ClientData, struct Tcl_Interp *, int, char **);

typedef struct
{
	char *name;
	char *help;
	char *param;
	Functionfn fn;
} Function;

typedef struct
{
	char *name;
	char *verbose;
	void (*extsense)(uchar *, char *, int);
	Function *fns;
} Device;
extern void setdevice(Device *);

extern void scsi_target(int);
extern void fixedstr(uchar *src, int len, char *dest);
extern void gen_extsense(uchar *, char *, int);
extern int shelfside(char *arg, char *err);
extern void xd(uchar *base, int, FILE *fp);

/*
 * argument processing
 */
#define	ARGBEGIN	for(argv0? 0: (argv0=*argv++,argc--);\
			    argv[0] && argv[0][0]=='-' && argv[0][1];\
			    argc--, argv++) {\
				char *_args, *_argt, _argc;\
				_args = &argv[0][1];\
				if(_args[0]=='-' && _args[1]==0){\
					argc--; argv++; break;\
				}\
				while(*_args) switch(_argc=*_args++)
#define	ARGEND		}
#define	ARGF()		(_argt=_args, _args="",\
				(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
#define	ARGC()		_argc
extern char *argv0;
0707070035050375151006660011710000040000010653600464713423200000700000000215sgi.mk# config stuff: sgi; system v with moran/droneck /dev/scsi
CC=pcc		# must be ansi
RANLIB=:
LDFLAGS= -lds
IO=md_io
CFLAGS=-g -I../inc
NPROC=4
0707070035050550671006660011710000040000010011330477113661400001200000003437shelves.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdlib.h>
#include	<stdio.h>
#include	<string.h>
#include	<errno.h>
#include	"jukeface.h"
#include	"jukebox.h"

int j_wrshelf = 0;

j_rdshelves(Jukebox *j, char *err)
{
	FILE *fp;
	static haveread = 0;
	int shno;
	char vname[256];

	if(haveread)
		return(0);
	for(shno = 0; shno < j->nshelves; shno++){
		j->names[shno] = 0;
		j->shelves[shno] = 0;
	}
	if((fp = fopen(JUKEDIR, "r")) == NULL){
		sprintf(err, "%s: %s", JUKEDIR, strerror(errno));
		return(-1);
	}
	while(fscanf(fp, "%d %s\n", &shno, vname) == 2){
		if((shno < 0) || (shno >= j->nshelves)){
		fprintf(stderr, "Warning: bad shelf number in %s: %d (vol_id=%s)\n",
				JUKEDIR, shno, vname);
			continue;
	    	
		}
		j->names[shno] = strdup(vname);
		j->shelves[shno] = 1;
	}
	fclose(fp);
	haveread = 1;
	return(0);
}

j_wrshelves(Jukebox *j, char *err)
{
	FILE *fp;
	int shno;

	if((fp = fopen(JUKEDIR, "w")) == NULL){
		sprintf(err, "%s: %s", JUKEDIR, strerror(errno));
		return(-1);
	}
	for(shno = 0; shno < j->nshelves; shno++)
		if(j->names[shno])
			fprintf(fp, "%d %s\n", shno, j->names[shno]);
	fclose(fp);
	return(0);
}

char *
j_name(Jukebox *j, int n)
{
	static char err[1024];

	if(j_rdshelves(j, err) < 0)
		return(err);
	if((n >= j->nshelves) || (j->names[n] == 0))
		return(NONAME);
	return(j->names[n]);
}

j_shelfof(Jukebox *j, char *vol_id)
{
	int i;
	char buf[512];

	for(;;){
		for(i = 0; i < j->nshelves; i++)
			if(j->shelves[i] && (strcmp(j->names[i], vol_id) == 0))
				return(i);
		if((i = j_warm(j, buf)) <= 0)
			break;
	}
	if(i < 0)
		fprintf(stderr, "jukebox: %s\n", buf);
	return(-1);
}

j_driveof(Jukebox *j, char *vol_id)
{
	int i, sh;

	if((sh = j_shelfof(j, vol_id)) < 0)
		return(-1);
	for(i = 0; i < j->nluns; i++)
		if(j->luns[i].shelf == sh)
			return(i);
	return(-1);
}
0707070035050370540407770011710000040000020654140476064464000000500000000000sony0707070035050370531006660011710000040000010034620474277225300001300000001600sony/dev.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static Function fns[] = {
	{ "alternate", "alternate [lun]", "L?", sony_alt },
	{ "config", "config", "", sony_conf },
	{ "copy", "copy srclun start n destlun dest", "LIILI", sony_copy },
	{ "diskid", "diskid [lun]", "L?", sony_diskid },
	{ "eject", "eject lun", "L", sony_eject },
	{ "inq", "inq [lun]", "L?", sony_inq },
	{ "internal", "internal [test [drive]]", "II?", sony_internal },
	{ "media", "media [-v] [-f output] lun start count", "LIIS?", sony_media },
	{ "readid", "readid lun [start]", "LI?", sony_readid },
	{ "rel", "rel lun [shelfside]", "LS?", sony_rel },
	{ "sense", "sense [lun=0]", "L?", sony_sense },
	{ "set", "set shelfside lun", "SL", sony_set },
	{ "status", "status", "", sony_status },
	{ 0 }
};

Device sonydev = {
	"sony", "Sony WDA-3000",
	sony_extsense,
	fns
};
0707070035050370521006660011710000040000010134530467251571200001300000001775sony/inq.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
sony_inq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i;
	int na, args[8];

	na = 0;
	if(argc == 1)
		args[na++] = 0;
	else if((argc == 2) && (atoi(argv[1]) < 0)){
		for(i = 0; i < 8; i++)
			args[na++] = i;
	} else {
		for(i = 1; i < argc; i++)
			args[na++] = atoi(argv[i]);
	}
	for(i = 0; i < na; i++){
		set6(cmd, 0x12, args[i]<<5, 0, 0, 6, 0);
		if(s_io(0, &cmd, 0, &ret, 6, cd->err))
			ERR_RETURN
		printf("inq(%d,%d): ", s_id, args[i]);
		if(ret.data[5]&0x80)
			printf("power off (0x%x)\n", ret.data[5]&0xFF);
		else if(ret.data[5]&0x40)
			printf("empty (0x%x)\n", ret.data[5]&0xFF);
		else
			printf("%s,%s,%s,%s (0x%x)\n",
				(ret.data[5]&0x08)?"write protect":"writable",
				(ret.data[5]&0x04)?"no alternate":"",
				(ret.data[5]&0x02)?"drive error":"",
				(ret.data[5]&0x01)?"ready":"not ready",
				ret.data[5]&0xFF);
	}
	return(0);
}
0707070035050370511006660011710000040000010134550467251506700001300000001503sony/alt.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static
table(int drive, int tab, uchar *data)
{
	int n, i;

	n = data[6];
	printf("(%d,%d): alternate table %d (%d entries)\n", s_id, drive, tab, n);
	for(data += 0x18, i = 0; i < n; data += 4, i++)
		printf("%ld%c", data[0]+256L*data[1]+256L*256*data[2],
			(i%10 == 9)? '\n':' ');
	if((i%10) && n)
		putchar('\n');
}

int
sony_alt(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int unit, i;

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0xC3, unit<<5, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 4096, cd->err))
			ERR_RETURN
		for(i = 0; i < 4; i++)
			table(unit, i+1, &ret.data[1024*i]);
	}
	return(TCL_OK);
}
0707070035050370501006660011710000040000010134620467251610500001600000002174sony/config.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static char mtab[5][2] =
{
	'0', '0', '1', '1', '1', '2', '2', '2', '?', '?'
};
static char *brdname[] = {
	"no doard", "T.D. Systems Viking", "U.S. Design 1158"
};

int
sony_conf(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n, i;
	char buf[512];

#pragma ref argc
#pragma ref argv

	set6(cmd, 0x12, 0, 0, 0, 44, 0);
	if(n = s_io(0, &cmd, 0, &ret, 44, cd->err))
		ERR_RETURN
	i = min(ret.data[37], 4);
	fixedstr(&ret.data[8], 28, buf);
	printf("config(%d,%d): %s device, '%s', %c controller%s, %c drive%s\n",
		s_id, 0, (ret.data[0] == 0x4)? "WORM":"Unknown",
		buf, mtab[i][0], (mtab[i][0] == '1')?"":"s",
		mtab[i][1], (mtab[i][1] == '1')?"":"s");
	printf("\tUnibus-SCSI controller=%s\n", brdname[ret.type]);
	printf("\tROMS:");
	if(ret.data[38] != 0xFF)
		printf(" up cont.=0x%x,", ret.data[38]);
	if(ret.data[40] != 0xFF)
		printf(" lo cont.=0x%x,", ret.data[40]);
	printf( " IF-129=0x%x, SY-46=0x%x, SS-30=0x%x\n", ret.data[36],
		ret.data[42], ret.data[43]);
	return(TCL_OK);
}
0707070035050370471006660011710000040000010135640467251755400001600000004117sony/status.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static
shelf(int i)
{
	printf(": ");
	if(i&0x80){
		printf("%s,", (i&0x40)? "disk":"temporary");
		if(i&0x10) printf("wait loading,");
		if(i&0x08) printf("wait ejection,");
		if(i&0x20) printf("use shelf instead of drive for LUN %d", i&7);
	} else
		printf("no disk");
	printf("\n");
}

int
sony_istatus(struct scsi_return *ret, char *err)
{
	struct scsi_cmd cmd;
	int n;

	set6(cmd, 0x1D, 0, 0, 0, 10, 0);
	cmd.data[0] = 0xE2;	/* internal status */
	cmd.data[1] = 0;
	cmd.data[2] = 0;
	cmd.data[3] = 0;
	cmd.data[4] = 0;
	cmd.data[5] = 0;
	cmd.data[6] = 0;
	cmd.data[7] = 0;
	cmd.data[8] = 0;
	cmd.data[9] = 0;
	if(n = s_io(0, &cmd, 10, ret, 0, err))
		return(n);
	setdiag(cmd, 0, 128);
	if(n = s_io(0, &cmd, 0, ret, 128, err))
		return(n);
	return(0);
}

int
sony_status(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_return ret;
	int i, start;
	uchar *d;

#pragma ref argc
#pragma ref argv

	if(sony_istatus(&ret, cd->err))
		ERR_RETURN
	d = &ret.data[16];
	for(i = 0; i < 8; i++, d += 4){
		printf("drive %d: %sready,%sdisk in LUN,power %s,", i,
			(d[0]&1)?"":"not ", (d[0]&0x40)?"":"no ",
			(d[0]&0x80)?"off":"on");
		if(d[0]&0x40){
			if(d[1]&0x80){
				printf("disk in drive %d", d[1]&0x7f);
				if(d[2]&0x80)
					printf(", return shelf %d%c", (d[2]&0x7F)/2, "ab"[d[2]&1]);
			} else
				printf("disk in shelf %d%c (%d)", (d[1]&0x7f)/2, (d[1]&1)+'a', d[1]&0x7f);
		}
		printf("\n");
	}
	for(i = 0; i < 50;){
		for(start = i; ++i < 50;)
			if(d[i] != d[start])
				break;
		if(i == start+1)
			printf("%d", start);
		else
			printf("%d-%d", start, i-1);
		shelf(d[start]);
	}
	d += 50;
	printf("I/O shelf");
	shelf(*d);
	d++;
	printf("carrier: ");
	i = *d&0x7F;
	if(*d&0x80)
		printf("disk shelf=%d%c (%d)\n", i/2, 'a'+(i&1), i);
	else
		printf("no disk\n");
	d++;
	if(*d&0x80)
		printf("upper drive: disk, LUN=%d\n", *d&7);
	else
		printf("upper drive: no disk\n");
	d++;
	if(*d&0x80)
		printf("lower drive: disk, LUN=%d\n", *d&7);
	else
		printf("lower drive: no disk\n");
	return(TCL_OK);
}
0707070035050370461006660011710000040000010136060467252267600001300000000754sony/rel.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
sony_rel(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, j;

	if(argc < 3){
		i = 0;
		j = 0;		/* its ignored anyway */
	} else {
		i = 1;
		if((j = shelfside(argv[2], cd->err)) < 0)
			ERR_RETURN
	}
	set6(cmd, 0xD7, (atoi(argv[1])<<5)|i, 0, j, 0, 0);
	if(s_io(0, &cmd, 0, &ret, 0, cd->err))
		ERR_RETURN
	return(TCL_OK);
}
0707070035050370451006660011710000040000010135760467252270200001300000000652sony/set.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
sony_set(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i;

	if(argc < 3)
		USAGE_RETURN
	if((i = shelfside(argv[1], cd->err)) < 0)
		return(1);
	set6(cmd, 0xD6, atoi(argv[2])<<5, 0, i, 0, 0);
	if(s_io(0, &cmd, 0, &ret, 0, cd->err))
		ERR_RETURN
	return(0);
}
0707070035050370441006660011710000040000010136130467252111300001500000000674sony/eject.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
sony_eject(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0xC0, unit<<5, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 0, cd->err))
			ERR_RETURN
	}
	return(0);
}
0707070035050370431006660011710000040000010136030467251714600002100000001000sony/shelfside.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
shelfside(char *arg, char *err)
{
	char *oarg = arg;
	int shelf;

	if((*arg < '0') || (*arg > '9')){
usage:
		sprintf(err, "shelfside '%s' must be numa or numb", oarg);
		return(-1);
	}
	shelf = 0;
	while((*arg >= '0') && (*arg <= '9'))
		shelf = 10*shelf + *arg++ - '0';
	shelf <<= 1;
	if(*arg == 'a')
		;
	else if(*arg == 'b')
		shelf |= 1;
	else
		goto usage;
	if(*++arg)
		goto usage;
	return(shelf);
}
0707070035050370421006660011710000040000010136110467252073300001600000001025sony/diskid.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
sony_diskid(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0xC2, unit<<5, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 1024, cd->err))
			ERR_RETURN
		printf("(%d,%d) disk id block:\n", s_id, unit);
		xd(ret.data, 1024, stdout);
	}
	return(TCL_OK);
}
0707070035050370401006660011710000040000010136170467252532400002000000011241sony/internal.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static
internal(int n, int b1, int nb, struct scsi_return *ret, char *err)
{
	struct scsi_cmd cmd;

	set6(cmd, 0x1D, b1, 0, 0, 10, 0);
	cmd.data[0] = n;
	cmd.data[1] = b1>>8;
	cmd.data[2] = 0;
	cmd.data[3] = 0;
	cmd.data[4] = 0;
	cmd.data[5] = 0;
	cmd.data[6] = 0;
	cmd.data[7] = 0;
	cmd.data[8] = 0;
	cmd.data[9] = 0;
	if(n = s_io(0, &cmd, 10, ret, 0, err))
		return(n);
	setdiag(cmd, 0, nb);
	if(n = s_io(0, &cmd, 0, ret, nb, err))
		return(n);
	return(0);
}

static char *cmds[] = {
	"internal command table",
	"error information table",
	"arm controller diagnostics",
	"scsi control board diagnostics",
	"drive controller diagnostics",
	"jukebox status",
	0
};

static char *msg1[16] =
{
	"drive not connected or powered off",
	"drive connected but no disk",
	"diagnostic aborted: write-protect",
	"diagnostic aborted: write area full",
	"urk 4", "urk 5", "urk 6", "urk 7", "urk 8", "urk 9", "urk 10",
	"urk 11", "urk 12", "urk 13", "urk 14", "urk 15"
};

static char *testn[10] =
{
	"drive on/off",
	"read disk id",
	"move",
	"seek",
	"blank sector search",
	"written sector search",
	"search writable area",
	"write",
	"ECC margin check",
	"read data compare"
};

int
sony_internal(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	register unsigned char *d;
	int i, drive, lower, arg;
	long t1, t2;
	extern char *cmesg[];
	extern char *i0com[], *i1err[], *scsicmd[], *busid[], *scsiident[];

	if(argc <= 1){
		printf("available internal commands:\n");
		for(i = 0; cmds[i]; i++)
			printf("\tinternal %d: %s\n", i, cmds[i]);
		return(TCL_OK);
	}
	switch(arg = atoi(argv[1]))
	{
	case 0:
		if(internal(0xE5, 0, 256, &ret, cd->err))
			ERR_RETURN
		printf("internal 0 (%s):\n", cmds[arg]);
		printf("Diagnostic #E5: last 16 internal tasks (drive,shelf)\n");
		for(i = 0, d = ret.data; i < 16; i++, d += 16){
			printf("[%d] %s (%d,%d)\n",
				d[0], i0com[d[1]], d[2], d[3]);
		}
		break;
	case 1:
		if(internal(0xE4, 0, 256, &ret, cd->err))
			ERR_RETURN
		printf("internal 1 (%s):\n", cmds[arg]);
		printf("Diagnostic #E4: last 16 errors; initiator[identify] error[sense] (cmd)\n");
		for(i = 0, d = ret.data; i < 16; i++, d += 16){
			printf("%s[%s]: %s[#%x] (%s)\n",
				busid[d[0]], scsiident[d[1]], i1err[d[14]], d[15], scsicmd[d[4]]);
		}
		break;
	case 2:
		printf("internal 2 (%s):\n", cmds[arg]);
		fflush(stdout);
		time(&t1);
		if(internal(0x90, 0, 8, &ret, cd->err))
			ERR_RETURN
		time(&t2);
		d = ret.data;
		if(d[0] == 0)
			printf("\tended normally");
		else
			printf("\tfailed, error codes=#%x, #%x, #%x",
				d[0], d[1], d[2]);
		printf(" (time: %lds)\n", t2-t1);
		break;
	case 3:
		printf("internal 3 (%s):\n", cmds[arg]);
		fflush(stdout);
		time(&t1);
		if(internal(0xe0, 0, 8, &ret, cd->err))
			ERR_RETURN
		time(&t2);
		d = ret.data;
		if(d[0] == 0)
			printf("\tended normally");
		else
			printf("\tfailed, error codes=#%x, #%x, #%x",
				d[0], d[1], d[2]);
		printf(" (time: %lds)\n", t2-t1);
		break;
	case 4:
		drive = (argc >= 3)? atoi(argv[2]) : 0;
		if(sony_istatus(&ret, cd->err))
			ERR_RETURN
		if((ret.data[100]&0x80) && (drive == (ret.data[100]&7)))
			lower = 0x100;
		else if((ret.data[101]&0x80) && (drive == (ret.data[101]&7)))
			lower = 0x200;
		else {
			fprintf(stderr, "drive %d not occupied\n", drive);
			ERR_RETURN
		}
		printf("drive %d[%ser]: %s\n", drive, (lower == 0x200)?"low":"upp", cmds[arg]);
		fflush(stdout);
		time(&t1);
		if(internal(0x18, lower, 256, &ret, cd->err))
			ERR_RETURN
		time(&t2);
		d = ret.data;
		if(d[1]&0x80){
			printf("diagnostic result:");
			if((d[1]&0x70) == 0)
				printf(" no faults");
			else {
				if(d[1]&0x10)
					printf(" controller-fault");
				if(d[1]&0x20)
					printf(" drive-fault");
				if(d[1]&0x10)
					printf(" disk-fault");
				printf(" (last error code 0x%2.2ux)", d[4]);
			}
		} else
			printf("diagnostic not performed: %s", msg1[d[1]&0xF]);
		printf(" (time: %lds)\n", t2-t1);
		for(i = 0; i < 10; i++)
			printf("test %d[%s]: %s\n", i, testn[i], cmesg[d[i*8+drive+8]]);
		printf("diagnostic count (drive:avail):");
		for(d += 104, i = 0; i < 8; i++, d += 2)
			printf(" %d:%d", i, d[0]+d[1]*256);
		printf("\n");
		break;
	case 5:
		set10(cmd,  0xD3, 0, 0, 0, 0, 0, 0, 0, 0, 0);
		if(s_io(0, &cmd, 0, &ret, 20, cd->err))
			ERR_RETURN
		printf("%s: component(fatal err/err/cmds)\n", cmds[arg]);
		d = ret.data;
#define	ONE(str, x, sep)	printf("%s(%d/%d/%d)%c", str, d[x+3], d[x+2], d[x+1]+256*d[x], sep)
	
		ONE("upper drive", 4, ' ');
		ONE("lower drive", 8, ' ');
		ONE("sys control", 12, ' ');
		printf("backup mem(0/%d/%d)\n", d[19]+256*d[18], d[17]+256*d[16]);
		break;
	}
	return(TCL_OK);
}
0707070035050370371006660011710000040000010654310457563432200001400000000465sony/i0.tabi0com
00	nop
01	sense result
02	version check
04	recover disk warning
08	sense alternate information
0a	error margin check
18	diagnostics
20	sense drive status
21	recalibrate
22	drive on
23	drive off
24	disk out
30	seek
31	move
32	read
a1	disk check
a2	carrier move
b1	disk set
b2	disk release
b3	disk rotate
0707070035050370361006660011710000040000010654330457563432200001400000000477sony/i1.tabi1err
94	drive error (SONY)
a0	invalid command
a1	invalid LUN
a2	reserved bit nonzero
a3	illegal logical address
a4	illegal shelf number
a5	illegal parameter length
a6	illegal parameter
a7	unacceptable diagnostics parameter
a8	unit attention
a9	drive not ready
aa	medium removal prevented
ab	reserved
ac	no disk in LUN
0707070035050370351006660011710000040000010654340457563432200001600000001777sony/scsi.tabscsicmd
00	test unit ready
01	rezero unit
03	request sense
08	read
0a	write
0b	seek
0c	move
12	inquiry
15	mode select
16	reserve
17	release
18	copy
1a	mode sense
1b	start/stop unit
1c	receive diagnostics
1d	send diagnostics
1e	prevent/allow medium removal
25	read capacity
28	read
2a	write
2c	blank sector search
2d	written sector search
c0	disk eject
c2	read disk id
c3	sense alternate information
c4	recover disk warning
d3	request recovered status
d6	disk set
d7	disk release
busid
01	0
02	1
80	7
scsiident
80	no dis/reconnect-LUN 0
81	no dis/reconnect-LUN 1
82	no dis/reconnect-LUN 2
83	no dis/reconnect-LUN 3
84	no dis/reconnect-LUN 4
85	no dis/reconnect-LUN 5
86	no dis/reconnect-LUN 6
87	no dis/reconnect-LUN 7
c0	dis/reconnect-LUN 0
c1	dis/reconnect-LUN 1
c2	dis/reconnect-LUN 2
c3	dis/reconnect-LUN 3
c4	dis/reconnect-LUN 4
c5	dis/reconnect-LUN 5
c6	dis/reconnect-LUN 6
c7	dis/reconnect-LUN 7
cmesg
0	good
e0	test not done
ee	diagnostic could not be done
fe	drive not ready (no disk)
ff	not connected or power off
0707070035050370341006660011710000040000010136210467252232600001500000006377sony/media.c#include	<stdio.h>
#include	<stddef.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static int cnts[256];
static char *cmsg[256];

sony_media1(int drive, long lbn, int lower, struct scsi_return *ret, char *err)
{
	struct scsi_cmd cmd;
	int n;

	set6(cmd, 0x1D, drive<<5, 0, 0, 10, 0);
	cmd.data[0] = 0x0A;	/* error margin check */
	cmd.data[1] = lower? 2:1;
	cmd.data[2] = 0;
	cmd.data[3] = 0;
	cmd.data[4] = drive;
	cmd.data[5] = lbn;
	cmd.data[6] = lbn>>8;
	cmd.data[7] = lbn>>16;
	cmd.data[8] = 0;
	cmd.data[9] = 0;
	if(n = s_io(0, &cmd, 10, ret, 0, err))
		return(n);
	setdiag(cmd, drive, 256);
	if(n = s_io(0, &cmd, 0, ret, 256, err))
		return(n);
	return(0);
}

int
sony_media(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_return ret;
	uchar *d;
	int bn, c;
	char buf[256];
	int lower;
	int nline;
	int cur, curb;
	int drive;
	long lbn;
	int count;
	extern char *strdup(char *);
	int verbose = 0;
	FILE *fp = 0;
	char *fout = 0;
	extern char *optarg;
	extern int optind;

#pragma ref niargs

	while((c = getopt(argc, argv, "vf:")) != -1)
		switch(c)
		{
		case 'v':	verbose = 1; break;
		case 'f':	fout = optarg; break;
		default:	USAGE_RETURN
		}
	if(optind+3 != argc)
		USAGE_RETURN
	drive = atoi(argv[optind]);
	lbn = atol(argv[optind+1]);
	count = atoi(argv[optind+2]);
	if(fout){
		if((fp = fopen(fout, "w")) == NULL){
			pperror(cd->err, fout);
			ERR_RETURN
		}
	}
	if(sony_istatus(&ret, cd->err))
		ERR_RETURN
	if((ret.data[100]&0x80) && (drive == (ret.data[100]&7)))
		lower = 0;
	else if((ret.data[101]&0x80) && (drive == (ret.data[101]&7)))
		lower = 1;
	else {
		sprintf(cd->err, "drive %d not occupied and ready\n", drive);
		ERR_RETURN
	}
	printf("media margin check for %d blocks [%d-%d] on %s drive (%d,%d):",
		count, lbn, lbn+count-1, lower? "lower":"upper", s_id, drive);
	if(fp)
		printf(" stored in '%s'", fout);
	putchar('\n');
	if(cmsg[0] == 0){
		for(bn = 0; bn < 256; bn++){
			sprintf(buf, "rare error 0x%x", bn);
			cmsg[bn] = strdup(buf);
		}
		cmsg[0] = "good";
		cmsg[0x40] = "seek error 1 (alternated)";
		cmsg[0x41] = "seek error 2 (alternated)";
		cmsg[0x42] = "seek error 3 (alternated)";
		cmsg[0x44] = "read error 1 (alternated)";
		cmsg[0x45] = "unwritten";
		cmsg[0x46] = "read error 3 (alternated)";
		cmsg[0x81] = "<50% burst";
		cmsg[0x82] = "50-96% burst (alternated)";
		cmsg[0x83] = ">96% burst (alternated)";
		cmsg[0x84] = "uncorrectable (alternated)";
	}
#define	DO(ch,cp) if(fp) putc(ch,fp); else if(ch != cur){\
			int newb = bn+cp-ret.data;\
			if(verbose && (curb>=0)){\
				printf("%d %s@%d, ", newb-curb, cmsg[cur], curb);\
				if(++nline == 5){nline = 0; putchar('\n');}\
			}\
			cur = ch;\
			curb = newb;\
		}
	cur = 256;
	curb = -1;
	nline = 0;
	for(bn = 0; bn < 256; bn++)
		cnts[bn] = 0;
	for(bn = lbn, c = count; c >= 256; c -= 256, bn += 256){
		if(sony_media1(drive, bn, lower, &ret, cd->err))
			ERR_RETURN
		for(d = ret.data; d < &ret.data[256];){
			DO(*d, d);
			cnts[*d++]++;
		}
	}
	if(c){
		if(sony_media1(drive, bn, lower, &ret, cd->err))
			ERR_RETURN
		for(d = ret.data; c; c--){
			DO(*d, d);
			cnts[*d++]++;
		}
	}
	DO(256, d);
	if(nline)
		putchar('\n');
	printf("\t");
	for(c = 0; c < 256; c++)
		if(cnts[c])
			printf("%d %s, ", cnts[c], cmsg[c]);
	printf("\n");
	return(TCL_OK);
}
0707070035050370331006660011710000040000010136070467253431000001600000002640sony/readid.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static int
my_read(int lun, long blk, struct scsi_return *ret, char *err)
{
	struct scsi_cmd cmd;
	int n;

	cmd.bus_id = s_id;
	set10(cmd, 0x28, lun<<5, blk>>24, blk>>16, blk>>8, blk, 0, 0, 1, 0);
	n = ss_io(0, &cmd, 0, ret, 1024, err);
	return(n);
}

int
sony_readid(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_return ret;
	char buf[128];
	int drive;
	long blk, lastb, zero;
	int pr = 0;
	int c;
	extern int optind;
	extern char *optarg;

	zero = 0;
	while((c = getopt(argc, argv, "vz:")) != -1)
		switch(c)
		{
		case 'v':	pr = 1; break;
		case 'z':	zero = atol(optarg); break;
		default:	USAGE_RETURN
		}
	if(optind >= argc)
		argv[--optind] = "0";
	for(; optind < argc; optind++){
		drive = atoi(argv[optind]);
		buf[0] = 0;
		blk = zero;
		if(blk == 0){
			if(my_read(drive, blk, &ret, cd->err) == 0)
				goto done;
			blk++;
		}
		for(lastb = -1;;){
			if(pr){
				printf("%d: ", blk);
				fflush(stdout);
			}
			if(my_read(drive, blk, &ret, cd->err))
				break;
			lastb = blk;
			blk = ((long *)ret.data)[9];
		}
		if(lastb < 0){
			printf("read(blk=%d) failed\n", blk);
			ERR_RETURN
		}
		if(my_read(drive, lastb, &ret, cd->err) != 0)
			ERR_RETURN
	done:
		strncpy(buf, (char *)&ret.data[42], 128);
		buf[127] = 0;
		printf("(%d,%d): '%s'\n", s_id, drive, buf);
		fflush(stdout);
	}
	return(TCL_OK);
}
0707070035050370321006660011710000040000010136100467252122600001400000006335sony/copy.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

#define	PROGRESS	\
		if(sbase/TALK != goo){\
			goo = sbase/TALK;\
			time(&t2);\
			printf("\tdoing block %ld at %s", goo*TALK, ctime(&t2));\
		}

static char good[256];	/* by default, all BAD */
typedef enum { BAD = 0, GOOD } Searchtype;
static int copy1(int, int, int, int, int, int, int, char *);
static int search(int, int, int, int, Searchtype, char *);

int
sony_copy(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	int n;
	int sdr, sbase, nblocks, ddr, dbase;
	int starget = s_id;
	int dtarget = s_id;
	int wr, unwr;
	long nb = nblocks;
	long t1, t2;
	long goo;
	int lower;
	struct scsi_return ret;
#define		TALK		10000
	extern char *ctime();

	if(argc != 6)
		USAGE_RETURN
	sdr = atoi(argv[1]);
	sbase = atoi(argv[2]);
	nblocks = atoi(argv[3]);
	ddr = atoi(argv[4]);
	dbase = atoi(argv[5]);
	printf("copying drive (%d,%d)[%d-%d] to drive (%d,%d)[%d-%d]\n",
		starget, sdr, sbase, sbase+nblocks-1,
		dtarget, ddr, dbase, dbase+nblocks-1);
	if(sony_istatus(&ret, cd->err))
		ERR_RETURN
	if((ret.data[100]&0x80) && (sdr == (ret.data[100]&7)))
		lower = 0;
	else if((ret.data[101]&0x80) && (sdr == (ret.data[101]&7)))
		lower = 1;
	else {
		sprintf(cd->err, "drive %d not occupied\n", sdr);
		ERR_RETURN
	}
	good[0] = good[0x81] = good[0x82] = good[0x83] = GOOD;
	time(&t1);
	goo = -1;
	while(nblocks > 0){
		/* search for a block to copy */
		while(n = min(256, nblocks)){
			wr = search(sdr, lower, sbase, n, GOOD, cd->err);
			if(wr < 0)
				break;
			sbase += wr;
			dbase += wr;
			nblocks -= wr;
			if(wr < n)
				break;
			PROGRESS
		}
		/* now copy until the first bad block */
		while(n = min(256, nblocks)){
			unwr = search(sdr, lower, sbase, n, BAD, cd->err);
			if(unwr < 0)
				break;
			/*printf("writing %d-%d\n", sbase, sbase+unwr-1);/**/
			if(copy1(starget, sdr, sbase, unwr, dtarget, ddr, dbase, cd->err))
				break;
			sbase += unwr;
			dbase += unwr;
			nblocks -= unwr;
			PROGRESS
		}
	}
	time(&t2);
	t2 -= t1;
	if(t2 == 0) t2 = 1;
	printf("%ds: ", t2);
	if(nblocks){
		printf("copy buggered up: sbase=%d nblks=%d dbase=%d\n",
			sbase, nblocks, dbase);
		it->result = cd->err;
		return(TCL_ERROR);
	}
	printf("%d blocks at %.1fKB/s\n", nb, nb/(float)t2);
	return(TCL_OK);
}

static int
copy1(int st, int sd, int sb, int n, int dt, int dd, int db, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	set6(cmd, 0x18, sd<<5, 0, 0, 20, 0);
	cmd.data[0] = 0x10;	/* copy */
	cmd.data[1] = 0;
	cmd.data[2] = 0;
	cmd.data[3] = 0;
	cmd.data[4] = (st<<5)|sd;
	cmd.data[5] = (dt<<5)|dd;
	cmd.data[6] = 0;
	cmd.data[7] = 0;
	cmd.data[8] = n>>24;
	cmd.data[9] = n>>16;
	cmd.data[10] = n>>8;
	cmd.data[11] = n;
	cmd.data[12] = sb>>24;
	cmd.data[13] = sb>>16;
	cmd.data[14] = sb>>8;
	cmd.data[15] = sb;
	cmd.data[16] = db>>24;
	cmd.data[17] = db>>16;
	cmd.data[18] = db>>8;
	cmd.data[19] = db;
	return(s_io(0, &cmd, 20, &ret, 0, err));
}

static int
search(int dr, int lower, int sbase, int n, Searchtype s, char *err)
{
	uchar *cp;
	struct scsi_return ret;

	if(n <= 0)
		return(0);
	if(n > 256)
		n = 256;
	if(sony_media1(dr, sbase, lower, &ret, err))
		return(-1);
	for(cp = ret.data; n-- > 0; cp++)
		if(good[*cp] != s)
			break;
	return(cp-ret.data);
}
0707070035050370311006660011710000040000010133730474351133200001300000002040sony/fns.hextern int sony_inq(ClientData , Tcl_Interp *, int , char **);
extern int sony_alt(ClientData , Tcl_Interp *, int , char **);
extern int sony_conf(ClientData , Tcl_Interp *, int , char **);
extern int sony_status(ClientData , Tcl_Interp *, int , char **);
extern int sony_set(ClientData , Tcl_Interp *, int , char **);
extern int sony_rel(ClientData , Tcl_Interp *, int , char **);
extern int sony_eject(ClientData , Tcl_Interp *, int , char **);
extern int sony_diskid(ClientData , Tcl_Interp *, int , char **);
extern int sony_internal(ClientData , Tcl_Interp *, int , char **);
extern int sony_media(ClientData , Tcl_Interp *, int , char **);
extern int sony_readid(ClientData , Tcl_Interp *, int , char **);
extern int sony_copy(ClientData , Tcl_Interp *, int , char **);
extern int sony_sense(ClientData , Tcl_Interp *, int , char **);
extern int sony_status(ClientData , Tcl_Interp *, int , char **);
extern void sony_extsense(uchar *, char *, int);

extern int shelfside(char *arg, char *err);
extern int sony_istatus(struct scsi_return *, char *);
0707070035050370301006660011710000040000010134760467251545300001500000003337sony/sense.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

int
sony_sense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int i, unit;
	char buf[4096];

#pragma ref ncargs
#pragma ref cargs

	if(argc <= 1)
		argv[i = 0] = "0";
	else
		i = 1;
	for(; i < argc; i++){
		unit = atoi(argv[i]);
		set6(cmd, 0x03, unit<<5, 0, 0, 32, 0);
		if(s_io(0, &cmd, 0, &ret, -32, cd->err))
			ERR_RETURN
		printf("sense(%d,%d): ", s_id, unit);
		sony_extsense(ret.data, buf, sizeof buf);
		printf("%s\n", buf);
	}
	return(TCL_OK);
}

static char *exstab[16] =
{
	"no sense",
	"recovered error",
	"not ready",
	"medium error",
	"hardware error",
	"illegal request",
	"unit attention",
	"data protect",
	"blank check",
	"key #9",
	"copy aborted",
	"aborted command",
	"key #c",
	"volume overflow",
	"miscompare",
	"key #f",
};

void
sony_extsense(uchar *data, char *dest, int ndata)
{
	char buf[4096];
	extern char *nesd[];

	dest[0] = 0;
	switch(data[2])
	{
	case 0:
		sprintf(dest, "no error");
		break;
	case 0x1:	/* recovered error */
		sprintf(dest, "recovered error");
		break;
	case 0xA:	/* recovered error */
		sprintf(dest, "recovered error");
		break;
	default:
		if(data[7] != 4)
			sprintf((char *)data, "warning: extra data is %d, not 4! ", data[7]);
		sprintf(buf, "sense: %s", nesd[data[8]&0x7f]);
		strcat(dest, buf);
		if(data[8]&0x80){
			sprintf(buf, " at addr #%x", data[11]+256L*data[10]+256L*256*data[9]);
			strcat(dest, buf);
		}
		sprintf(buf, ", ext sense: %s", exstab[data[2]]);
		strcat(dest, buf);
		if(data[0]&0x80){
			sprintf(buf, " info=#%x", data[6]+256L*data[5]+256L*256L*data[4]+256L*256L*256L*data[3]);
			strcat(dest, buf);
		}
		break;
	}
}
0707070035050370241006660011710000040000010654420457563432300001600000002251sony/nesd.tabnesd
00	no sense
01	invalid command
02	recovered error
03	illegal request
06	unit attention
07	parity error
08	message reject error
0a	copy aborted
10	ecc trouible occurred
11	time out error
12	controller error
13	SONY I/F II hardware/firmware error
14	scsi hardware/firmware error
20	command not terminated
21	drive interface parity error
22	loading trouble
23	focus trouble
24	tracking trouble
25	spindle trouble
26	slide trouible
27	skew trouble
28	head lead out
29	write modulation trouble
2a	under laser power
2b	over laser power
2f	drive error
30	drive power off
31	no disk in drive
32	drive not ready
38	disk already exists in drive
39	no disk in drive
3a	disk already exists in shelf
40	write warning
41	write error
42	disk error
43	cannot read disk id
44	write protect error 1
45	write protect error 2
46	disk warning
47	alternation trouble
50	specified address not found
51	address block not found
52	all address could not be read
53	data could not be read
54	uncorrectable read error
55	tracking error
60	no data in specified address
68	z-axis servo error
69	roter servo error
6a	hook servo error
6b	i/o shelf error
6c	drive 0 error
6d	drive 1 error
6e	shelf error
6f	carrier error
0707070035051063221006640011710000040000010133770467252423000001200000300000sony/core��������������4��������
���d{����������d8ÀV���b������l�
@
.0u|��½�yy�������������������������������������������������������������������x��.�������\������9��9�a^�������H��0��0�����@��$�qrcc���&J�
2�	���L�&'
 �!L`L�&
 �!������@@����_andrew���,����������~� [��,��������� �����@��:�,���h����������H,��:�������&�������~�Hh�"����^ ������	E�X /�������C�� �������D� �/$����.(����
~��8�
�8�
�(�/p��T���z�����h�.�������5������h�E8�
��/��������8R
������(t��\��@������������a��22	
:yVa^_^J�
t��?4��V���<�����(���|�������.������������
��/������ �@x�?x����8R�s�����)�D�����.MM}QM)M,^^PX,kPXBl,kBl�Y�Y�_�h�h�_�k�k�_0Z�_^^0�o@�o��o0�o@�oP�o`�op�o��o��o��o��o�o��o��o�|ozowo uo0�o%ro %po0%mo@%jo



		


`�0�0@�@%0%�0�pP 0���M }M MQ     %   )  , ./ 123456789:M<=>?@ QMMMMMMQMMMQMQMQM[]^M|} ����t��t��t����@��	@
@
��(�4�����
�������������������������������������������~�|�z�x�u�r�o�l�i�f�c�`�]�Z�X�V�T�R�P�N�J�C�?�:�4�/�&��������������������������������������@�M }M }�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd|dydvdsdpdmdjdgdddad^d[dXdUdRdOdLdIdFdCd@d=d:d7d4d1d.d+d(d%d"ddddddd
d
dddd�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c|cxctcpclchcdc`c\cXcTcPcLcHcDc@c<c8c4c0c,c(c���{���P8=��ktA-QC]w���Sn���A����*Qx+^aw}0���eo��$12"�\�-Z�n8�Z��c^H�fI&u�tA��a��j:��K<��W&�XhN��d	���?\qcLN�*OH��SY"�y=lSuI�P�y~MH�x�@V;Zg#WpCQ`,�����U�DQ��	:�#���a�����aT�kH�5	��`#���)���CAm�_�eNP[���i]��T$.KD_nbX�xm0hX��M�)X%��5�`�Ejj|���e6T`�3��4�,�uh�{�n�Pv�I���bqh�,��D��`t#<�i�O�ot�qM�am�]`Ʉ̡��[�K{��t{�^%��3�i�BtԇoJ6�is�W���Y��70j>�C�p��K;]XJ��X�/*��Y�͋"�8-q�0K\��4�9�g�_���p���;�bT��M}�Ζj���1���p}z`��}����(����1��d��P����ܢ���������������@�L�X�خ��O�į���ȸ��Pİ4��Q�X����z��Ա8{0�8��{�D�������<�ܳl��~��`LT����LT���đp��?�:D;�;<�<���<p�0�`=Mĥ$�8>(��>?:|?l:d�p�xR|�������Է��P�X���x�R�(�(J�E�A�<�6�2�.�*�&�"�����������������ݱرԱϱ˱DZı��������������_�Y�Q�I�n|b|B|3||
||�{�{�{�{�{�{v{g{[{N{?{4{+{{{�z�z�z�z�z�z�zlzXzEz2zzzz	zz�y�y�y��y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y}yyyuypycyVyHy9y-y$yyyy�x�x�x�x�x�x�x�x�x�x�x�x�x�x�yx{xvxrxmxixdx`x[xWxRxNxLxJxHxFxDx@x<x8x4x0x,x(x$x xxxx
xx�yLxJxHxFxDxxx�y�d�d�d�d�d�d�*8�8�8��h���������)��������������@�./�;�>D;^-�=<=�>�<X? ;�:�;>d<@�*.��H:����`@�@A\A,R R# 1 "internal.c"
# 1 "/usr/ape/include/stdio.h"



 


# 1 "/usr/ape/include/stdarg.h"



typedef char *va_list;








# 7 "/usr/ape/include/stdio.h"

# 1 "/usr/ape/include/stddef.h"






typedef long ptrdiff_t;


typedef unsigned size_t;



typedef char wchar_t;



# 8 "/usr/ape/include/stdio.h"

 



















typedef struct{
	int fd;		 
	char flags;	 
	char state;	 
	char *buf;	 
	char *rp;	 
	char *wp;	 
	char *lp;	 
	size_t bufl;	 
	char unbuf[1];	 
}FILE;
typedef long fpos_t;



 




















extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *, ...);
extern int printf(const char *, ...);
extern int scanf(const char *, ...);
extern int sprintf(char *, const char *, ...);
extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, va_list);
extern int vprintf(const char *, va_list);
extern int vsprintf(char *, const char *, va_list);
extern int vfscanf(FILE *, const char *, va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);

extern int _IO_getc(FILE *f);
extern int getchar(void);

extern char *gets(char *);
extern int putc(int, FILE *);

extern int _IO_putc(int, FILE *);
extern int putchar(int);

extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long int, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long int ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
extern FILE _IO_stream[90		];
extern FILE *sopenr(const char *);
extern FILE *sopenw(void);
extern char *sclose(FILE *);
extern char *rdline(FILE *, char **);







# 1 "internal.c"

# 1 "../scsi.h"
typedef unsigned char uchar;

struct scsi_cmd
{
	unsigned long id;
	uchar bus_id;		 
	uchar flags;
	uchar cmd[10];		 
	uchar data[4096];	 
};

struct scsi_return
{
	unsigned long id;
	uchar scsi_stat;	 
	uchar scsi_msg;		 
	uchar flags;
	uchar type;		 
	unsigned short reg1;	 
	unsigned short reg2;	 
	unsigned char sense[22];
	char pad[2];
	uchar data[4096];	 
	uchar nread;		 
};









extern s_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
extern ss_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
extern int s_ignua;	 
extern void (*ss_extsense)(uchar *, char *, int);
extern int s_start(int, char *);
extern int s_stop(int, char *);
extern int s_eject(int, char *);
extern int s_id;
extern unsigned long longat(uchar *);
# 2 "internal.c"

# 1 "../scsish.h"
struct ClientData
{
	char err[256];
};
typedef struct ClientData *ClientData;





struct Tcl_Interp;
typedef int (*Functionfn)(ClientData, struct Tcl_Interp *, int, char **);

typedef struct
{
	char *name;
	char *help;
	char *param;
	Functionfn fn;
} Function;

typedef struct
{
	char *name;
	char *verbose;
	void (*extsense)(uchar *, char *, int);
	Function *fns;
} Device;
extern void setdevice(Device *);

extern void scsi_target(int);
extern void fixedstr(uchar *src, int len, char *dest);
extern void gen_extsense(uchar *, char *, int);
extern int shelfside(char *arg, char *err);
extern void xd(uchar *base, int, FILE *fp);
# 3 "internal.c"

# 1 "fns.h"
extern int sony_inq(ClientData , Tcl_Interp *, int , char **);
extern int sony_alt(ClientData , Tcl_Interp *, int , char **);
extern int sony_conf(ClientData , Tcl_Interp *, int , char **);
extern int sony_status(ClientData , Tcl_Interp *, int ,
�;���������.text
Ltext:.stabs "internal.c",0x64,0,0,Ltext
.stabs "rcc",0xf0,0,17665,652912783
missing parameter name to function `sony_inq'
d�4�t����|�,>Q��`��0���̦�L0��N��`��>h����Mԝ�`��TL}Խ8��M�)L�ԁ<@���M��H�(�H@HN`�D~T=,����N�?�����0����hM�:HOx������Ƚ�;X���T@��(�(����K�{hN�8;,|p��Q��؄��L� �д���=���<�N����؟$����d�������H��M��p?`:$PP�d����zH�0@����(���$���<��?L.:�)R�;�;�;�;�;|?�?��`�������ij�����lOh�ܧȜ��Բ �PDXBHFHFHFHFHF<IDG4K4K4K4K4K4K�*�Q�Q�Q(z�)chardoublefloatintlong doublelong intshortsigned charunsigned charunsigned long intunsigned short intunsigned intvoidchar[]T*internal.c/usr/ape/include/stdio.h/usr/ape/include/stdarg.h-1va_list/usr/ape/include/stddef.hptrdiff_tsize_twchar_tfdflagsstatebufrpwplpbuflunbufFILEfpos_tremoverenametmpfiletmpnamfclosefflushfopenfreopensetbufsetvbuffprintf...fscanfprintfscanfsprintfsscanfvfprintfvprintfvsprintfvfscanffgetcfgetsfputcfputsgetc_IO_getcfgetchargetsputc_IO_putcputcharputsungetcfreadfwritefgetposfseekfsetposftellrewindclearerrfeofferrorperror_IO_streamsopenrsopenwscloserdline../scsi.hucharscsi_cmdidbus_idcmddatascsi_returnscsi_statscsi_msgtypereg1reg2sensepadnreads_ioss_ios_ignuass_extsenses_starts_stops_ejects_idlongat../scsish.hClientDataerrTcl_InterpFunctionfnnamehelpparamfnFunctionverboseextsensefnsDevicesetdevicescsi_targetfixedstrsrclendestgen_extsenseshelfsideargxdbasefpfns.hsony_inq�)H::�)�)�::l:H:** ;l:�:�:
*
*�;�:D; ;**�;D;�;�;**d<�;<�;#*#*�<<�<d<)*)*<=�<�<�<5*
�<5*�=�<`=<=C*C*>`=�=�=U*U*�>�=8>>h*h*�>8>�>�>u*u*X?�>?�>z*z*?�*�*|?X?�?�*
�*�*�*�d�@�d�@`@�dHA�@�d�AA�d�A\A�dDB�A�A�d�B0BB�d�BXB�d@C�B�B�d�CCC�d�CTCTC�d<D�C�C�d�D �C�C�d�DPD�d8E�D�D�d�E�D�D�d�ELELE�d4F�E�E�d�F �E�E�d�F�HF�d0G�F�F�d�G
�F�F�d�G@DG�d,H��G�G�d�H�G�G�d�H	@H@H�d(I
�H�H�d|I�H�H�d�I@<I�d$J��I�I�dxJ�I�I�d�J	8J8J�d K
�J�J�dtK�J�J�*H:�?�*S�K�*
�*�*	�*Sd<�*
�K�*�*S�>�*
L�*�*SH:�*
`L+�dPM�*tM�?	 MX?++�;�M++H:�M
+
+H:�M++�K�M++�KN++�K4N++�KTN++�>�N"+H:|?�K"+tN(+(+SPM�*'�L-+-+Sd<�*
(�N4+H:tNTO�?ClO�*A�;�O4+4+J�O�*AO;+ClO�*BpPClO�* B�;0P�O;+;+J�P�*B�OB+CX?�*CPM�?\QQB+B+JtQ�*C�PJ+%z�T$z�8Rx� �4R�|�x�x��Y؉u�T�t�x�C�K�*D�K4zJ+J+Jtz�*D�QQ+C\Q�*E�;�z�PQ+Q+J {�*E�zX+C\Q�*F�;�{ {X+X+J�{�*F8{_+ClO�*Gx|ClO�*!G\Q8|tQ_+_+J�|�*G�{e+ClO�*Hd}ClO�*#H�}C\Q�*1H\Q$}�|e+e+J�}�*H�|m+C\Q�*I�~C�K�*IX?P~@m+m+J�~�*I�}t+C\Q�*J|C�K�*J�C�;�*#J�C�>�*(J�;<�{t+t+J<��*J�~|+C\Q�*K�ClO�*K4��+�+X?�*)K�;��<�|+|+Jt��*KT��+C\Q�*L �ClO�*L`��+X?�*(L�;��t��+�+J���*L���+ClO�*ML��+X?�* M�;����+�+J���*M���+ClO�*N8��+X?�*N�;�����+�+Jx��*N���+C�K�*O$�ClO�*Od��+X?�*)O�;�x��+�+J���*O���+ClO�*PP�ClO�* P���+X?�*.P�;����+�+JІ�*P���+C\Q�*Q|�ClO�*Q��C�K�**Q�;<�І�+�+J���*Q��+ClO�*R��C�K�*!R�;h����+�+J��*R�O��+\�C�K�*S��ClO�*SԉC�K�**S�;T���+�+J��*S��+C\Q�*T��ClO�*T�C�K�*)T�;����+�+J@��*T�K,��+C\Q�*U�;��@��+�+J��*UX��+(NC�K�*V��C�;�*V،C\Q�* V�KX�tz�+�+J��*V��+C�;�*WčC\Q�*W�;����+�+J��*W0��+ClO�*X��C\Q�*X�;p���+�+J���*X�|��+C\Q�*Y�;\����+�+J���*Y�}��+�+�+C\Q�*[�;����+�+JT��*[���+CX?�*\�;��T��+�+J��*\l��+C�K�*^�Kl���+�+J���*^�,C�;�*_X�C\Q�*_�;��,,J���*_đ,C�;�*aD�C\Q�*a�;���,,J���*a��,C�;�*b�;���,,J0��*b��,ClO�*d�;��0�,,Jܔ�*dH�,C�;�*e��C\Q�*e�;H�ܔ,,Jȕ�*e��$,C@�*ft�C�>�*f��C�>�*$f��C\Q�*,f�>4�$,$,J4��*f���*,X?�~���?C���*g�C�>�*#gP�C�>�*+g��C\Q�*3g�>З4�*,*,JИ�*gL�1,C\Q�*h��d<�?C|��*h�;<�ȕ1,1,Jԙ�*h�9,C\Q�*i��Cd<�*i��C�;�*#i�;@�ԙ9,9,J��*i�?,C\Q�*jܛd<|����?Cě�*j�;l��?,?,J��*j�G,C\Q�*kd<����G,G,JȜ�*k4�M,C\Q�*lX?4���M,M,Jt��*l���T,C\Q�*mX?��t�T,T,J ��*m��],C\Q�*n�;���],],J̞�*n8�b,C\Q�*o�;8�̞b,b,Jx��*o�i,ClO�*pX?� �i,i,J$��*p��p,
@PMM\Qp,p,J���*q<�{,ClO�*r\Q���}{,{,J<��*r���,CX?�*s\Q��<��,�,J��*s��T��,������C\Q�*t�K�����,�,JĢ�*t��,C\Q�*u���K�?ĢCp��*u�K0�p��,�,Jȣ�*uH�ܢ�,	�,�,S�=�,��,�,ܤ�,�M	��PM�,�,> ��,�,�=4�+�=l��,
�=|?�,T����,�=|?T��,���,�,��,
$��=��	(ĥܤ�,>D��,	�,�=d��,�,�=x�+�=���,�,�=���,�,�>ئ�,�,�>
��,�=|?���,��H��,H:|?TO�,0�"\��,��$|��,�,�=$-C�;�,#��ܤ�?�Cܧ�,#4�C�;�,$#����?x�Ct��,)#̨C�;�,?#�C�K�,D#�;��t�--JL��,#@�-�C�;�,
$��Cܧ�,$8�C�;�,%$x�Ct��,*$��C�;�,@$��C�K�,E$�;��L�--J8��,$d�---J�;�,%P�-�K�=�?��C���,&P�C�K�,$&��C�;�,,&X?�$�Ь�?��--J��,&�� -C�;�,'��C�K�,'�;T�8� - -Jԭ�,'�(-C�;�,(��C�K�,(�;@�ԭ(-(-J���,(�N�/-C�;�,)l�C�K�,)�;,���/-/-J���,)خ7-7-7-J�;�,*į<-H�C���,+>l�ȣ<-<-J���,+,��C-O-
O-l�C-��ĥ	$��Z-H:|?0�Z-��l��?ИO-S��C-İ^-
^-p�C-$�	(�l�i-
C��C-�p��?CԲC-&,�C�;C-;l�Cp�C-@�;�������?ěi-SijC-<�Աt-�L�dx�C-��(�	0�p�u-u-�K��z-4�z-�Kܴ--�K���-�-ij�-�-Sx�C-��ܳ�-$��d��C-е0�	p�x�u-�K��-�-�K��-C��C-P�C�KC-��C�;C-#X?�Ьж�?��-�8��-x��?�- ��-�-S��C-��-	���?C��C-X?ķж�-�-J�C-X��-4�C�;C-X?p���-�-J��C-��-|<�-�-C��C- t��-�-C�;C-! ���-�-C�KC-* X?(����-�-J�C- ȸ�-C��C-!��C�KC-"!�C�;C-*!X?l���-�-J,�C-!��-	�-�-C�KC-"�Z-C�KC- "�;�����-�-J$�C-"LD��-�-�-C��C-#ܼC�;C-#(��-�-C\QC-!#X?��,��-�-Jh�C-#�<�.��.C��. �^-C�;.!�;�$�C��C-����,/$����e�(p��L��;�6��8��B��D��(������;�1/��������w(������;���������>���,��(1/l��H����(`��<��+�..T��8��xj�s��|�,���h���.��(�/�������D���8R�s��C����,������%@`��/@��$���2�s�;`�J.`�...J.,d��L���KO�$(���h����s(���l��/s�����������������������������K��U����������������*��;��C��M�����=��F��N��V��b��k��s��z�����������������}�����
������������������������������M��U��_��������������������������������������/usr/lib/rcc-g2-/tmp/lcc24159.sAS=asBUILTINS=%.o:	%.c
	$CC $CFLAGS -c $stem.c
%.o:	%.s
	$AS -o $stem.o $stem.s
%.o:	%.f
	$FC $FFLAGS -c $stem.f
%.o:	%.y
	$YACC $YFLAGS $stem.y && $CC $CFLAGS -c y.tab.c && mv y.tab.o $stem.o; rm y.tab.c
%.o:	%.l
	$LEX $LFLAGS -t $stem.l > /tmp/$$.c && $CC $CFLAGS -c /tmp/$$.c && mv /tmp/$$.o $stem.o; rm /tmp/$$.c
CC=pccCDEST=dk!nj/astro/bowell!mesgdcon!CDPATH=:/usr/ucds/src:/usr/src/cmd:/usr/andrewCFLAGS=-gCSOURCE=source=dk!nj/astro/r70 user=andrew line=nj/astro/3.23/8.6.FENVIRON=FC=f77FFLAGS=GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start ge_reset ge_tur ge_scsi ge_readtHISTORY=/tmp/histagh22047HOME=/usr/andrewIO=h_ioJL=juke.aJLIB=juke.a(allocate.o) juke.a(cold.o) juke.a(getstatus.o) juke.a(ioshelves.o) juke.a(iodr_sh.o) juke.a(lib.o) juke.a(load.o) juke.a(nlun.o) juke.a(warm.o)JSRC=allocate.c cold.c getstatus.c ioshelves.c iodr_sh.c lib.c load.c nlun.c warm.cLDFLAGS=LEX=lexLFLAGS=MKARGS=pootMKFLAGS=NPROC=2NREP=1PATH=:/usr/andrew/bin:/bin:/usr/bin:/usr/jerq/bin:/usr/ape/apebinPS1=bowell=; PS2=	RANLIB=ranlibSHL=scsish.aSHLIB=scsish.a(ge_dev.o) scsish.a(ge_inq.o) scsish.a(ge_capacity.o) scsish.a(ge_display.o) scsish.a(ge_stop.o) scsish.a(ge_start.o) scsish.a(ge_reset.o) scsish.a(ge_tur.o) scsish.a(ge_scsi.o) scsish.a(ge_readt.o) scsish.a(so_dev.o) scsish.a(so_inq.o) scsish.a(so_alt.o) scsish.a(so_config.o) scsish.a(so_sense.o) scsish.a(so_i0.tab.o) scsish.a(so_i1.tab.o) scsish.a(so_scsi.tab.o) scsish.a(so_nesd.tab.o) scsish.a(so_status.o) scsish.a(so_set.o) scsish.a(so_shelfside.o) scsish.a(so_diskid.o) scsish.a(so_copy.o) scsish.a(so_eject.o) scsish.a(so_media.o) scsish.a(so_rel.o) scsish.a(so_internal.o) scsish.a(so_readid.o) scsish.a(wr_dev.o) scsish.a(wr_inq.o)SL=scsi.aSLIB=scsi.a(s_h_io.o) scsi.a(ge_sense.o) scsi.a(s_volid.o) scsi.a(s_pperror.o) scsi.a(s_fixedstr.o) scsi.a(s_longat.o) scsi.a(s_xd.o)SONY=so_dev so_inq so_alt so_config so_sense so_i0.tab so_i1.tab so_scsi.tab so_nesd.tab so_status so_set so_shelfside so_diskid so_copy so_eject so_media so_rel so_internal so_readidSYS=researchTERM=dumbTL=tcl.aTLIB=tcl.a(tclAssem.o) tcl.a(tclBasic.o) tcl.a(tclCmdAH.o) tcl.a(tclCmdIZ.o) tcl.a(tclExpr.o) tcl.a(tclGlob.o) tcl.a(tclHistory.o) tcl.a(tclProc.o) tcl.a(tclUtil.o)WREN=wr_dev wr_inqX=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory tclProc tclUtilYACC=yaccYFLAGS=alltarget=so_internal.onewprereq=sony/internal.c sony/fns.h scsish.h scsi.hnproc=0pid=24154prereq=sony/internal.c sony/fns.h scsish.h scsi.hstem=internalstem0=stem1=stem2=stem3=stem4=stem5=stem6=stem7=stem8=stem9=target=so_internal.os0707070035050550751006660011710000040000010256630476064450700001400000006651sony/juke.c#include	<stdio.h>
#include	<stdlib.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"
#include	"../generic/fns.h"
#include	"../jukeface.h"
#include	<scsi.h>

int
j_config(Jukebox *j, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	char buf[512];

	j->nshelves = 50;
	j->nluns = 8;
	set6(cmd, 0x12, 0, 0, 0, 44, 0);
	if(s_io(0, &cmd, 0, &ret, 44, err))
		return(-1);
	switch(ret.data[37])
	{
	case 1:		j->ndrives = 1; break;
	case 2: case 3:	j->ndrives = 2; break;
	default:	j->ndrives = 0; break;
	}
	j->luns = (struct lun *)malloc(j->nluns * sizeof(struct lun));
	j->shelves = (char *)malloc(j->nshelves * sizeof(char));
	j->names = (char **)malloc(j->nshelves * sizeof(char *));

	for(j->nworms = 0; j->nworms < j->nluns; j->nworms++){
		sprintf(buf, "/dev/worm%d", j->nworms);
		if(access(buf, 0) < 0)
			return(0);
	}
	return(0);
}

extern j_drstatus(Jukebox *j, char *err)
{
	struct scsi_return ret;
	int i;
	char *where[8];
	unsigned char *d;

	if(sony_istatus(&ret, err))
		return(-1);
	for(i = 0; i < 8; i++)
		where[i] = "shelf";
	d = &ret.data[100];
	if(*d&0x80)
		where[*d&7] = "upper";
	d++;
	if(*d&0x80)
		where[*d&7] = "lower";
	d = &ret.data[16];
	for(i = 0; i < 8; i++, d += 4){
		j->luns[i].spunup = (d[0]&1) != 0;
		j->luns[i].desc = "shelf";
		j->luns[i].shelf = -1;
		j->luns[i].side = 0;
		if(j->luns[i].occupied = (d[0]&0x40) != 0){
			if(d[1]&0x80){
				j->luns[i].desc = where[i];
				if(d[2]&0x80){
					j->luns[i].shelf = (d[2]&0x7F)/2;
					j->luns[i].side = d[2]&1;
				}
			} else {
				j->luns[i].shelf = (d[1]&0x7F)/2;
				j->luns[i].side = d[1]&1;
			}
		}
	}
	return(0);
}

extern j_shstatus(Jukebox *j, char *err)
{
	struct scsi_return ret;
	int i;
	unsigned char *d;

	if(sony_istatus(&ret, err))
		return(-1);
	d = &ret.data[48];
	for(i = 0; i < j->nshelves; i++)
		j->shelves[i] = (d[i]&0x80) && (d[i]&0x40);
	return(0);
}

j_eject(int dr, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	set6(cmd, 0xC0, dr<<5, 0, 0, 0, 0);
	return(s_io(0, &cmd, 0, &ret, 0, err));
}

j_sh_to_dr(int sh, int side, int dr, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	set6(cmd, 0xD6, dr<<5, 0, (sh<<1)|side, 0, 0);
	return(s_io(0, &cmd, 0, &ret, 0, err));
}

j_dr_to_sh(int dr, int sh, int side, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	if(sh < 0)
		set6(cmd, 0xD7, dr<<5, 0, 0, 0, 0);
	else
		set6(cmd, 0xD7, (dr<<5)|1, 0, (sh<<1)|side, 0, 0);
	return(s_io(0, &cmd, 0, &ret, 0, err));
}

j_start(int dr, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	set6(cmd, 0x1B, dr<<5, 0, 0, 1, 0);
	if(s_io(0, &cmd, 0, &ret, 0, err))
		return(-1);
	return(0);
}

j_stop(int dr, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	set6(cmd, 0x1B, dr<<5, 0, 0, 0, 0);
	if(s_io(0, &cmd, 0, &ret, 0, err))
		return(-1);
	return(0);
}
extern j_read(int, unsigned long, char *, int, char *);
extern j_write(int, unsigned long, char *, int, char *);
extern j_capacity(int, unsigned long *, unsigned long *);

j_load_unloaded(int dr, char *err)
{
	/* this is wrong;
		we should do a status every time to see ifthere are any temps
	*/
	if(j_sh_to_dr(127, SIDEA, dr, err))
		return(0);
	else
		return(1);
}

void
j_reset(void)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	char err[1024];

	set6(cmd, 0, 0, 0, 0, 0, 0);
	cmd.bus_id = s_id;
	cmd.flags |= SCSI_RESET | SCSI_BRESET;
	/* should probably test for some kind of error... */
	ss_io(0, &cmd, 0, &ret, 0, err);
}
0707070035050340340407750011710000040000030657700503441470500000400000000000tcl0707070035050146021006640011710000040000010657720466276612700001500000001460tcl/Makefile#
# This Makefile is for use when distributing Tcl to the outside world.
# It is simplified so that it doesn't include any Sprite-specific stuff.
# For HP-UX systems, use the second, commented-out, form of LIBS below.
#

LIBS =
#LIBS = -lBSD

CFLAGS = -g -I. -DTCL_VERSION=\"3.3\" -I/usr/include/bsd

OBJS = tclAssem.o tclBasic.o tclCmdAH.o tclCmdIZ.o tclExpr.o \
	tclGlob.o tclHistory.o tclProc.o tclUtil.o

LIBOBJS = panic.o strerror.o strtol.o strtoul.o strspn.o \
	strpbrk.o strchr.o strstr.o

CSRCS = tclAssem.c tclBasic.c tclCmdAH.c tclCmdIZ.c tclExpr.c \
	tclGlob.c tclHistory.c tclProc.c tclUtil.c

tcl.a: ${OBJS} ${LIBOBJS}
	rm -f tcl.a
	ar cr tcl.a ${OBJS} ${LIBOBJS}
	#ranlib tcl.a

tclTest: tclTest.o tcl.a
	cc tclTest.o tcl.a ${LIBS} -o tclTest

clean:
	rm -f ${OBJS} ${LIBOBJS} tcl.a tclTest.o tclTest
0707070035050145701006660011710000040000010657730466300604100001700000013355tcl/tclAssem.c/* 
 * tclAssem.c --
 *
 *	This file contains procedures to help assemble Tcl commands
 *	from an input source  where commands may arrive in pieces, e.g.
 *	several lines of type-in corresponding to one command.
 *
 * Copyright 1990 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include "tclInt.h"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*
 * The structure below is the internal representation for a command
 * buffer, which is used to hold a piece of a command until a full
 * command is available.  When a full command is available, it will
 * be returned to the user, but it will also be retained in the buffer
 * until the NEXT call to Tcl_AssembleCmd, at which point it will be
 * removed.
 */

typedef struct {
    char *buffer;		/* Storage for command being assembled.
				 * Malloc-ed, and grows as needed. */
    int bufSize;		/* Total number of bytes in buffer. */
    int bytesUsed;		/* Number of bytes in buffer currently
				 * occupied (0 means there is not a
				 * buffered incomplete command). */
} CmdBuf;

/*
 * Default amount of space to allocate in command buffer:
 */

#define CMD_BUF_SIZE 100

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateCmdBuf --
 *
 *	Allocate and initialize a command buffer.
 *
 * Results:
 *	The return value is a token that may be passed to
 *	Tcl_AssembleCmd and Tcl_DeleteCmdBuf.
 *
 * Side effects:
 *	Memory is allocated.
 *
 *----------------------------------------------------------------------
 */

Tcl_CmdBuf
Tcl_CreateCmdBuf()
{
    register CmdBuf *cbPtr;

    cbPtr = (CmdBuf *) malloc(sizeof(CmdBuf));
    cbPtr->buffer = malloc(CMD_BUF_SIZE);
    cbPtr->bufSize = CMD_BUF_SIZE;
    cbPtr->bytesUsed = 0;
    return (Tcl_CmdBuf) cbPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DeleteCmdBuf --
 *
 *	Release all of the resources associated with a command buffer.
 *	The caller should never again use buffer again.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Memory is released.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_DeleteCmdBuf(buffer)
    Tcl_CmdBuf buffer;		/* Token for command buffer (return value
				 * from previous call to Tcl_CreateCmdBuf). */
{
    register CmdBuf *cbPtr = (CmdBuf *) buffer;

    free(cbPtr->buffer);
    free((char *) cbPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_AssembleCmd --
 *
 *	This is a utility procedure to assist in situations where
 *	commands may be read piece-meal from some input source.  Given
 *	some input text, it adds the text to an input buffer and returns
 *	whole commands when they are ready.
 *
 * Results:
 *	If the addition of string to any currently-buffered information
 *	results in one or more complete Tcl commands, then the return value
 *	is a pointer to the complete command(s).  The command value will
 *	only be valid until the next call to this procedure with the
 *	same buffer.  If the addition of string leaves an incomplete
 *	command at the end of the buffer, then NULL is returned.
 *
 * Side effects:
 *	If string leaves a command incomplete, the partial command
 *	information is buffered for use in later calls to this procedure.
 *	Once a command has been returned, that command is deleted from
 *	the buffer on the next call to this procedure.
 *
 *----------------------------------------------------------------------
 */

char *
Tcl_AssembleCmd(buffer, string)
    Tcl_CmdBuf buffer;		/* Token for a command buffer previously
				 * created by Tcl_CreateCmdBuf.  */
    char *string;		/* Bytes to be appended to command stream.
				 * Note:  if the string is zero length,
				 * then whatever is buffered will be
				 * considered to be a complete command
				 * regardless of whether parentheses are
				 * matched or not. */
{
    register CmdBuf *cbPtr = (CmdBuf *) buffer;
    int length, totalLength;
    register char *p;

    /*
     * If an empty string is passed in, just pretend the current
     * command is complete, whether it really is or not.
     */

    length = strlen(string);
    if (length == 0) {
	cbPtr->bytesUsed = 0;
	return cbPtr->buffer;
    }

    /*
     * Add the new information to the buffer.  If the current buffer
     * isn't large enough, grow it by at least a factor of two, or
     * enough to hold the new text.
     */

    length = strlen(string);
    totalLength = cbPtr->bytesUsed + length + 1;
    if (totalLength > cbPtr->bufSize) {
	unsigned int newSize;
	char *newBuf;

	newSize = cbPtr->bufSize*2;
	if (newSize < totalLength) {
	    newSize = totalLength;
	}
	newBuf = malloc(newSize);
	strcpy(newBuf, cbPtr->buffer);
	free(cbPtr->buffer);
	cbPtr->buffer = newBuf;
	cbPtr->bufSize = newSize;
    }
    strcpy(cbPtr->buffer+cbPtr->bytesUsed, string);
    cbPtr->bytesUsed += length;

    /*
     * See if there is now a complete command in the buffer.
     */

    p = cbPtr->buffer;
    while (1) {
	int gotNewLine = 0;

	while (isspace(*p)) {
	    if (*p == '\n') {
		gotNewLine = 1;
	    }
	    p++;
	}
	if (*p == 0) {
	    if (gotNewLine) {
		cbPtr->bytesUsed = 0;
		return cbPtr->buffer;
	    }
	    return NULL;
	}
	p = TclWordEnd(p, 0);
    }
}
0707070035050141011006660011710000040000010626260467152712300001700000102201tcl/tclBasic.c/* 
 * tclBasic.c --
 *
 *	Contains the basic facilities for TCL command interpretation,
 *	including interpreter creation and deletion, command creation
 *	and deletion, and command parsing and execution.
 *
 * Copyright 1987, 1990 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "tclInt.h"

/*
 * Built-in commands, and the procedures associated with them:
 */

static char *builtInCmds[] = {
    "break",
    "case",
    "catch",
    "concat",
    "continue",
    "error",
    "eval",
    "exec",
    "expr",
    "file",
    "for",
    "foreach",
    "format",
    "glob",
    "global",
    "if",
    "index",
    "info",
    "length",
    "list",
    "print",
    "proc",
    "range",
    "rename",
    "return",
    "scan",
    "set",
    "source",
    "string",
    "time",
    "uplevel",
    NULL
};

static int (*(builtInProcs[]))(ClientData , Tcl_Interp *, int , char **) = {
    Tcl_BreakCmd,
    Tcl_CaseCmd,
    Tcl_CatchCmd,
    Tcl_ConcatCmd,
    Tcl_ContinueCmd,
    Tcl_ErrorCmd,
    Tcl_EvalCmd,
    Tcl_ExecCmd,
    Tcl_ExprCmd,
    Tcl_FileCmd,
    Tcl_ForCmd,
    Tcl_ForeachCmd,
    Tcl_FormatCmd,
    Tcl_GlobCmd,
    Tcl_GlobalCmd,
    Tcl_IfCmd,
    Tcl_IndexCmd,
    Tcl_InfoCmd,
    Tcl_LengthCmd,
    Tcl_ListCmd,
    Tcl_PrintCmd,
    Tcl_ProcCmd,
    Tcl_RangeCmd,
    Tcl_RenameCmd,
    Tcl_ReturnCmd,
    Tcl_ScanCmd,
    Tcl_SetCmd,
    Tcl_SourceCmd,
    Tcl_StringCmd,
    Tcl_TimeCmd,
    Tcl_UplevelCmd,
    NULL
};

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateInterp --
 *
 *	Create a new TCL command interpreter.
 *
 * Results:
 *	The return value is a token for the interpreter, which may be
 *	used in calls to procedures like Tcl_CreateCmd, Tcl_Eval, or
 *	Tcl_DeleteInterp.
 *
 * Side effects:
 *	The command interpreter is initialized with an empty variable
 *	table and the built-in commands.
 *
 *----------------------------------------------------------------------
 */

Tcl_Interp *
Tcl_CreateInterp()
{
    register Interp *iPtr;
    register char **namePtr;
    register int (**procPtr)();
    register Command *cmdPtr;

    iPtr = (Interp *) malloc(sizeof(Interp));
    iPtr->result = iPtr->resultSpace;
    iPtr->dynamic = 0;
    iPtr->errorLine = 0;
    iPtr->commandPtr = NULL;
    iPtr->globalPtr = NULL;
    iPtr->numLevels = 0;
    iPtr->framePtr = NULL;
    iPtr->varFramePtr = NULL;
    iPtr->numEvents = 0;
    iPtr->events = NULL;
    iPtr->curEvent = 0;
    iPtr->curEventNum = 0;
    iPtr->revPtr = NULL;
    iPtr->historyFirst = NULL;
    iPtr->evalFirst = iPtr->evalLast = NULL;
    iPtr->cmdCount = 0;
    iPtr->noEval = 0;
    iPtr->flags = 0;
    iPtr->tracePtr = NULL;
    iPtr->callbackPtr = NULL;
    iPtr->resultSpace[0] = 0;

    /*
     * Create the built-in commands.  Do it here, rather than calling
     * Tcl_CreateCommand, because it's faster (there's no need to
     * check for a pre-existing command by the same name).
     */

    for (namePtr = builtInCmds, procPtr = builtInProcs;
	    *namePtr != NULL; namePtr++, procPtr++) {
	cmdPtr = (Command *) malloc(CMD_SIZE(strlen(*namePtr)));
	cmdPtr->proc = *procPtr;
	cmdPtr->clientData = (ClientData) NULL;
	cmdPtr->deleteProc = NULL;
	cmdPtr->nextPtr = iPtr->commandPtr;
	iPtr->commandPtr = cmdPtr;
	strcpy(cmdPtr->name, *namePtr);
    }

    return (Tcl_Interp *) iPtr;
}

/*
 *--------------------------------------------------------------
 *
 * Tcl_WatchInterp --
 *
 *	Arrange for a procedure to be called before a given
 *	interpreter is deleted.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	When Tcl_DeleteInterp is invoked to delete interp,
 *	proc will be invoked.  See the manual entry for
 *	details.
 *
 *--------------------------------------------------------------
 */

void
Tcl_WatchInterp(interp, proc, clientData)
    Tcl_Interp *interp;		/* Interpreter to watch. */
    void (*proc)();		/* Procedure to call when interpreter
				 * is about to be deleted. */
    ClientData clientData;	/* One-word value to pass to proc. */
{
    register InterpCallback *icPtr;
    Interp *iPtr = (Interp *) interp;

    icPtr = (InterpCallback *) malloc(sizeof(InterpCallback));
    icPtr->proc = proc;
    icPtr->clientData = clientData;
    icPtr->nextPtr = iPtr->callbackPtr;
    iPtr->callbackPtr = icPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DeleteInterp --
 *
 *	Delete an interpreter and free up all of the resources associated
 *	with it.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	The interpreter is destroyed.  The caller should never again
 *	use the interp token.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_DeleteInterp(interp)
    Tcl_Interp *interp;		/* Token for command interpreter (returned
				 * by a previous call to Tcl_CreateInterp). */
{
    Interp *iPtr = (Interp *) interp;
    register Command *cmdPtr;
    register Trace *tracePtr;
    register InterpCallback *icPtr;

    /*
     * If the interpreter is in use, delay the deletion until later.
     */

    iPtr->flags |= DELETED;
    if (iPtr->numLevels != 0) {
	return;
    }

    /*
     * Invoke callbacks, if there's anyone who wants to know about
     * the interpreter deletion.
     */

    for (icPtr = iPtr->callbackPtr; icPtr != NULL;
	    icPtr = icPtr->nextPtr) {
	(*icPtr->proc)(icPtr->clientData, interp);
	free((char *) icPtr);
    }

    /*
     * Free up any remaining resources associated with the
     * interpreter.
     */

    for (cmdPtr = iPtr->commandPtr; cmdPtr != NULL;
	    cmdPtr = cmdPtr->nextPtr) {
	if (cmdPtr->deleteProc != NULL) { 
	    (*cmdPtr->deleteProc)(cmdPtr->clientData);
	}
	free((char *) cmdPtr);
    }
    iPtr->commandPtr = NULL;
    TclDeleteVars(iPtr);
    if (iPtr->events != NULL) {
	free((char *) iPtr->events);
    }
    while (iPtr->revPtr != NULL) {
	free((char *) iPtr->revPtr);
	iPtr->revPtr = iPtr->revPtr->nextPtr;
    }
    for (tracePtr = iPtr->tracePtr; tracePtr != NULL;
	    tracePtr = tracePtr->nextPtr) {
	free((char *) tracePtr);
    }
    free((char *) iPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateCommand --
 *
 *	Define a new command in a command table.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	If a command named cmdName already exists for interp, it is
 *	deleted.  In the future, when cmdName is seen as the name of
 *	a command by Tcl_Eval, proc will be called with the following
 *	syntax:
 *
 *	int
 *	proc(clientData, interp, argc, argv)
 *	    ClientData clientData;
 *	    Tcl_Interp *interp;
 *	    int argc;
 *	    char **argv;
 *	{
 *	}
 *
 *	The clientData and interp arguments are the same as the corresponding
 *	arguments passed to this procedure.  Argc and argv describe the
 *	arguments to the command, in the usual UNIX fashion.  Proc must
 *	return a code like TCL_OK or TCL_ERROR.  It can also set interp->result
 *	("" is the default value if proc doesn't set it) and interp->dynamic (0
 *	is the default).  See tcl.h for more information on these variables.
 *
 *	When the command is deleted from the table, deleteProc will be called
 *	in the following way:
 *
 *	void
 *	deleteProc(clientData)
 *	    ClientData clientData;
 *	{
 *	}
 *
 *	DeleteProc allows command implementors to perform their own cleanup
 *	when commands (or interpreters) are deleted.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc)
    Tcl_Interp *interp;		/* Token for command interpreter (returned
				 * by a previous call to Tcl_CreateInterp). */
    char *cmdName;		/* Name of command. */
    int (*proc)();		/* Command procedure to associate with
				 * cmdName. */
    ClientData clientData;	/* Arbitrary one-word value to pass to proc. */
    void (*deleteProc)();	/* If not NULL, gives a procedure to call when
				 * this command is deleted. */
{
    Interp *iPtr = (Interp *) interp;
    register Command *cmdPtr;

    Tcl_DeleteCommand(interp, cmdName);
    cmdPtr = (Command *) malloc(CMD_SIZE(strlen(cmdName)));
    cmdPtr->proc = proc;
    cmdPtr->clientData = clientData;
    cmdPtr->deleteProc = deleteProc;
    cmdPtr->nextPtr = iPtr->commandPtr;
    iPtr->commandPtr = cmdPtr;
    strcpy(cmdPtr->name, cmdName);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DeleteCommand --
 *
 *	Remove the given command from the given interpreter.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	CmdName will no longer be recognized as a valid command for
 *	interp.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_DeleteCommand(interp, cmdName)
    Tcl_Interp *interp;		/* Token for command interpreter (returned
				 * by a previous call to Tcl_CreateInterp). */
    char *cmdName;		/* Name of command to remove. */
{
    Interp *iPtr = (Interp *) interp;
    Command *cmdPtr;

    cmdPtr = TclFindCmd(iPtr, cmdName, 0);
    if (cmdPtr != NULL) {
	if (cmdPtr->deleteProc != NULL) {
	    (*cmdPtr->deleteProc)(cmdPtr->clientData);
	}
	iPtr->commandPtr = cmdPtr->nextPtr;
	free((char *) cmdPtr);
    }
}

/*
 *-----------------------------------------------------------------
 *
 * Tcl_Eval --
 *
 *	Parse and execute a command in the Tcl language.
 *
 * Results:
 *	The return value is one of the return codes defined in
 *	tcl.h (such as TCL_OK), and interp->result contains a string
 *	value to supplement the return code.  The value of interp->result
 *	will persist only until the next call to Tcl_Eval:  copy it
 *	or lose it!
 *
 * Side effects:
 *	Almost certainly;  depends on the command.
 *
 *-----------------------------------------------------------------
 */

int
Tcl_Eval(interp, cmd, flags, termPtr)
    Tcl_Interp *interp;		/* Token for command interpreter (returned
				 * by a previous call to Tcl_CreateInterp). */
    char *cmd;			/* Pointer to TCL command to interpret. */
    int flags;			/* OR-ed combination of flags like
				 * TCL_BRACKET_TERM and TCL_RECORD_BOUNDS. */
    char **termPtr;		/* If non-NULL, fill in the address it points
				 * to with the address of the char. just after
				 * the last one that was part of cmd.  See
				 * the man page for details on this. */
{
    /*
     * While processing the command, make a local copy of
     * the command characters.  This is needed in order to
     * terminate each argument with a null character, replace
     * backslashed-characters, etc.  The copy starts out in
     * a static string (for speed) but gets expanded into
     * dynamically-allocated strings if necessary.  The constant
     * BUFFER indicates how much space there must be in the copy
     * in order to pass through the main loop below (e.g., must
     * have space to copy both a backslash and its following
     * characters).
     */

#   define NUM_CHARS 200
#   define BUFFER 5
    char copyStorage[NUM_CHARS];
    char *copy = copyStorage;	/* Pointer to current copy. */
    int copySize = NUM_CHARS;	/* Size of current copy. */
    register char *dst;		/* Points to next place to copy
				 * a character. */
    char *limit;		/* When dst gets here, must make
				 * the copy larger. */

    /*
     * This procedure generates an (argv, argc) array for the command,
     * It starts out with stack-allocated space but uses dynamically-
     * allocated storage to increase it if needed.
     */

#   define NUM_ARGS 10
    char *(argStorage[NUM_ARGS]);
    char **argv = argStorage;
    int argc;
    int argSize = NUM_ARGS;

    int openBraces = 0;			/* Curent brace nesting level. */
    int openQuote = 0;			/* Non-zero means quoted arg
					 * in progress. */

    register char *src;			/* Points to current character
					 * in cmd. */
    char termChar;			/* Return when this character is found
					 * (either ']' or '\0').  Zero means
					 * that newlines terminate commands. */
    char *argStart;			/* Location in cmd of first							 * non-separator character in
					 * current argument;  it's
					 * used to eliminate multiple
					 * separators between args and
					 * extra separators after last
					 * arg in command. */
    int result = TCL_OK;		/* Return value. */
    int i;
    register Interp *iPtr = (Interp *) interp;
    Command *cmdPtr;
    char *tmp;
    char *dummy;			/* Make termPtr point here if it was
					 * originally NULL. */
    char *syntaxMsg;
    char *syntaxPtr;			/* Points to "relevant" character
					 * for syntax violations. */
    char *cmdStart;			/* Points to first non-blank char. in
					 * command (used in calling trace
					 * procedures). */
    register Trace *tracePtr;

    /*
     * Set up the result so that if there's no command at all in
     * the string then this procedure will return TCL_OK.
     */

    if (iPtr->dynamic) {
	free((char *) iPtr->result);
	iPtr->dynamic = 0;
    }
    iPtr->result = iPtr->resultSpace;
    iPtr->resultSpace[0] = 0;

    /*
     * Check depth of nested calls to Tcl_Eval:  if this gets too large,
     * it's probably because of an infinite loop somewhere (e.g. self-
     * recursive history invocation).
     */

    iPtr->numLevels++;
    if (iPtr->numLevels > MAX_NESTING_DEPTH) {
	iPtr->result =  "too many nested calls to Tcl_Eval (infinite loop?)";
	return TCL_ERROR;
    }

    src = cmd;
    result = TCL_OK;
    if (flags & TCL_BRACKET_TERM) {
	termChar = ']';
    } else {
	termChar = 0;
    }
    if (termPtr == NULL) {
	termPtr = &dummy;
    }

    /*
     * There can be many sub-commands (separated by semi-colons or
     * newlines) in one command string.  This outer loop iterates over
     * the inner commands.
     */

    for (*termPtr = src; *src != termChar; *termPtr = src) {

	/*
	 * Skim off leading white space and semi-colons, and skip comments.
	 */

	while (isspace(*src) || (*src == ';')) {
	    src += 1;
	}
	if (*src == '#') {
	    for (src++; *src != 0; src++) {
		if (*src == '\n') {
		    src++;
		    break;
		}
	    }
	    continue;
	}

	/*
	 * Set up the first argument (the command name).  Note that
	 * the arg pointer gets set up BEFORE the first real character
	 * of the argument has been found.
	 */
    
	dst = copy;
	argc = 0;
	limit = copy + copySize - BUFFER;
	argv[0] = dst;
	argStart = cmdStart = src;

	/*
	 * Skim off the command name and arguments by looping over
	 * characters and processing each one according to its type.
	 */
    
	while (1) {
	    switch (*src) {
    
		/*
		 * All braces are treated as normal characters
		 * unless the first character of the argument is an
		 * open brace.  In that case, braces nest and
		 * the argument terminates when all braces are matched.
		 * Internal braces are also copied like normal chars.
		 */
    
		case '{': {
		    if (!openBraces && !openQuote && (dst == argv[argc])) {
			syntaxPtr = src;
			openBraces = 1;
			break;
		    }
		    *dst = '{'; dst++;
		    if (openBraces > 0) {
			openBraces++;
		    }
		    break;
		}

		case '}': {
		    if (openBraces == 1) {
			openBraces = 0;
			if (!isspace(src[1]) && (src[1] != termChar) &&
				(src[1] != 0) && (src[1] != ';')) {
			    syntaxPtr = src;
			    syntaxMsg = "extra characters after close-brace";
			    goto syntaxError;
			}
		    } else {
			*dst = '}'; dst++;
			if (openBraces > 0) {
			    openBraces--;
			}
		    }
		    break;
		}

		case '"': {
		    if (!openQuote) {
			if (openBraces || (dst != argv[argc])) {
			    *dst = '"'; dst++;
			    break;
			}
			syntaxPtr = src;
			openQuote = 1;
		    } else {
			openQuote = 0;
			if (!isspace(src[1]) && (src[1] != termChar) &&
				(src[1] != 0) && (src[1] != ';')) {
			    syntaxPtr = src;
			    syntaxMsg = "extra characters after close-quote";
			    goto syntaxError;
			}
		    }
		    break;
		}
    
		case '[': {
    
		    /*
		     * Open bracket: if not in middle of braces, then execute
		     * following command and substitute result into argument.
		     */

		    if (openBraces != 0) {
			*dst = '['; dst++;
		    } else {
			int length;
    
			result = Tcl_Eval(interp, src+1,
				TCL_BRACKET_TERM | (flags & TCL_RECORD_BOUNDS),
				&tmp);
			src = tmp;
			if (result != TCL_OK) {
			    goto done;
			}
    
			/*
			 * Copy the return value into the current argument.
			 * May have to enlarge the argument storage.  When
			 * enlarging, get more than enough to reduce the
			 * likelihood of having to enlarge again.  This code
			 * is used for $-processing also.
			 */

			copyResult:
			length = strlen(iPtr->result);
			if ((limit - dst) < length) {
			    char *newCopy;
			    int delta;

			    copySize = length + 10 + dst - copy;
			    newCopy = (char *) malloc((unsigned) copySize);
			    bcopy(copy, newCopy, (dst-copy));
			    delta = newCopy - copy;
			    dst += delta;
			    for (i = 0; i <= argc; i++) {
				argv[i] += delta;
			    }
			    if (copy != copyStorage) {
				free((char *) copy);
			    }
			    copy = newCopy;
			    limit = newCopy + copySize - BUFFER;
			}
			bcopy(iPtr->result, dst, length);
			dst += length;
		    }
		    break;
		}

		case '$': {
		    if (openBraces != 0) {
			*dst = '$'; dst++;
		    } else {
			char *value;

			/*
			 * Parse off a variable name and copy its value.
			 */
    
			value = Tcl_ParseVar(interp, src, &tmp);
			if (value == NULL) {
			    result = TCL_ERROR;
			    goto done;
			}
			if (iPtr->dynamic) {
			    free((char *) iPtr->result);
			    iPtr->dynamic = 0;
			}
			iPtr->result = value;
			src = tmp-1;
			goto copyResult;
		    }
		    break;
		}

		case ']': {
		    if ((openBraces == 0) && (termChar == ']')) {
			goto cmdComplete;
		    }
		    *dst = ']'; dst++;
		    break;
		}

		case ';': {
		    if (!openBraces && !openQuote) {
			goto cmdComplete;
		    }
		    *dst = *src; dst++;
		    break;
		}
    
		case '\n': {

		    /*
		     * A newline can be either a command terminator
		     * or a space character.  If it's a space character,
		     * just fall through to the space code below.
		     */
    
		    if (!openBraces && !openQuote && (termChar == 0)) {
			goto cmdComplete;
		    }
		}

		case '\r':
		case ' ':
		case '\t': {
		    if (openBraces || openQuote) {
    
			/*
			 * Quoted space.  Copy it into the argument.
			 */

			*dst = *src; dst++;
		    } else {

			/*
			 * Argument separator.  If there are many
			 * separators in a row (src == argStart) just
			 * ignore this separator.  Otherwise,
			 * Null-terminate the current argument and
			 * set up for the next one.
			 */

			if (src == argStart) {
			    argStart = src+1;
			    break;
			}
			argStart = src+1;
			*dst = 0;
			dst++; argc++;

			/*
			 * Make sure that the argument array is large enough
			 * for the next argument plus a final NULL argument
			 * pointer to terminate the list.
			 */

			if (argc >= argSize-1) {
			    char **newArgs;
    
			    argSize *= 2;
			    newArgs = (char **)
				    malloc((unsigned) argSize * sizeof(char *));
			    for (i = 0; i < argc; i++) {
				newArgs[i] = argv[i];
			    }
			    if (argv != argStorage) {
				free((char *) argv);
			    }
			    argv = newArgs;
			}
			argv[argc] = dst;
			break;
		    }
		    break;
		}
    
		case '\\': {
		    int numRead;

		    /*
		     * First of all, make the special check for
		     * backslash followed by newline.  This can't
		     * be processed in the normal fashion of
		     * Tcl_Backslash because is maps to "nothing",
		     * rather than to a character.
		     */

		    if (src[1] == '\n') {
			if (argStart  == src) {
			    argStart += 2;
			}
			src++;
			break;
		    }

		    /*
		     * If we're in an argument in braces then the
		     * backslash doesn't get collapsed.  However,
		     * whether we're in braces or not the characters
		     * inside the backslash sequence must not receive
		     * any additional processing:  make src point to
		     * the last character of the sequence.
		     */

		    *dst = Tcl_Backslash(src, &numRead);
		    if (openBraces > 0) {
			for ( ; numRead > 0; src++, dst++, numRead--) {
			    *dst = *src;
			}
			src--;
		    } else {
			src += numRead-1;
			dst++;
		    }
		    break;
		}
    
		case 0: {

		    /*
		     * End of string.  Make sure that braces/quotes
		     * were properly matched.  Also, it's only legal
		     * to terminate a command by a null character if
		     * termChar is zero.
		     */

		    if (openQuote != 0) {
			syntaxMsg = "unmatched quote";
			goto syntaxError;
		    }
		    if (openBraces != 0) {
			syntaxMsg = "unmatched brace";
			goto syntaxError;
		    }
		    if (termChar == ']') {
			syntaxPtr = cmd;
			syntaxMsg = "missing close-bracket";
			goto syntaxError;
		    }
		    goto cmdComplete;
		}
    
		default: {
		    *dst = *src; dst++;
		    break;
		}
	    }
	    src += 1;
    
	    /*
	     * Make sure that we're not running out of space in the
	     * string copy area.  If we are, allocate a larger area
	     * and copy the string.  Be sure to update all of the
	     * relevant pointers too.
	     */
    
	    if (dst >= limit) {
		char *newCopy;
		int delta;
    
		copySize *= 2;
		newCopy = (char *) malloc((unsigned) copySize);
		bcopy(copy, newCopy, (dst-copy));
		delta = newCopy - copy;
		dst += delta;
		for (i = 0; i <= argc; i++) {
		    argv[i] += delta;
		}
		if (copy != copyStorage) {
		    free((char *) copy);
		}
		copy = newCopy;
		limit = newCopy + copySize - BUFFER;
	    }
    
	}
    
	/*
	 * Terminate the last argument and add a final NULL argument.  If
	 * the interpreter has been deleted then return;  if there's no
	 * command, then go on to the next iteration.
	 */

	cmdComplete:
	if (iPtr->flags & DELETED) {
	    goto done;
	}
	if (src != argStart) {
	    *dst = 0;
	    argc++;
	}
	if ((argc == 0) || iPtr->noEval) {
	    continue;
	}
	argv[argc] = NULL;

	cmdPtr = TclFindCmd(iPtr, argv[0], 1);
	if (cmdPtr == NULL) {
	    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	    sprintf(iPtr->result,
		    "\"%.50s\" is an invalid command name %s",
		    argv[0], "or ambiguous abbreviation");
	    result = TCL_ERROR;
	    goto done;
	}

	/*
	 * Replace argv[0] with the full name of the command (in case
	 * argv[0] was an abbreviation).
	 */

	argv[0] = cmdPtr->name;

	/*
	 * Call trace procedures, if any.
	 */

	for (tracePtr = iPtr->tracePtr; tracePtr != NULL;
		tracePtr = tracePtr->nextPtr) {
	    char saved;

	    if (tracePtr->level < iPtr->numLevels) {
		continue;
	    }
	    saved = *src;
	    *src = 0;
	    (*tracePtr->proc)(tracePtr->clientData, interp, iPtr->numLevels,
		    cmdStart, cmdPtr->proc, cmdPtr->clientData, argc, argv);
	    *src = saved;
	}

	/*
	 * Save information for the history module, if needed.
	 */

	if (flags & TCL_RECORD_BOUNDS) {
	    iPtr->evalFirst = cmdStart;
	    iPtr->evalLast = src;
	} else {
	    iPtr->evalFirst = NULL;
	}

	/*
	 * At long last, invoke the command procedure.  Reset the
	 * result to its default empty value first.
	 */

	iPtr->cmdCount++;
	iPtr->flags &= ~ERR_IN_PROGRESS;
	if (iPtr->dynamic) {
	    free((char *) iPtr->result);
	    iPtr->dynamic = 0;
	}
	iPtr->result = iPtr->resultSpace;
	iPtr->resultSpace[0] = 0;
	result = (*cmdPtr->proc)(cmdPtr->clientData, interp, argc, argv);
	if (result != TCL_OK) {
	    break;
	}
    }

    /*
     * Free up any extra resources that were allocated.
     */

    done:
    if (copy != copyStorage) {
	free((char *) copy);
    }
    if (argv != argStorage) {
	free((char *) argv);
    }
    iPtr->numLevels--;
    if (iPtr->numLevels == 0) {
	if (result == TCL_RETURN) {
	    result = TCL_OK;
	}
	if ((result != TCL_OK) && (result != TCL_ERROR)) {
	    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	    if (result == TCL_BREAK) {
		iPtr->result = "invoked \"break\" outside of a loop";
	    } else if (result == TCL_CONTINUE) {
		iPtr->result = "invoked \"continue\" outside of a loop";
	    } else {
		iPtr->result = iPtr->resultSpace;
		sprintf(iPtr->resultSpace, "command returned bad code: %d",
			result);
	    }
	    result = TCL_ERROR;
	}
	if (iPtr->flags & DELETED) {
	    Tcl_DeleteInterp(interp);
	}
    }

    /*
     * If an error occurred, record information about what was being
     * executed when the error occurred.
     */

    if ((result == TCL_ERROR) && !(iPtr->flags & ERR_ALREADY_LOGGED)) {
	int numChars;
	register char *p;
	char *ellipsis;

	/*
	 * Compute the line number where the error occurred.
	 */

	iPtr->errorLine = 1;
	for (p = cmd; p != cmdStart; p++) {
	    if (*p == '\n') {
		iPtr->errorLine++;
	    }
	}
	for ( ; isspace(*p) || (*p == ';'); p++) {
	    if (*p == '\n') {
		iPtr->errorLine++;
	    }
	}

	/*
	 * Figure out how much of the command to print in the error
	 * message (up to a certain number of characters, or up to
	 * the first new-line).
	 */

	ellipsis = "";
	p = strchr(cmdStart, '\n');
	if (p == NULL) {
	    numChars = strlen(cmdStart);
	} else {
	    numChars = p - cmdStart;
	    if (p[1] != 0) {
		ellipsis = " ...";
	    }
	}
	if (numChars > 40) {
	    numChars = 40;
	    ellipsis = " ...";
	}

	if (!(iPtr->flags & ERR_IN_PROGRESS)) {
	    /*
	     * This is the first piece of information being recorded
	     * for this error.  Log the error message as well as the
	     * command being executed.
	     */

	    if (strlen(iPtr->result) < 50) {
		sprintf(copyStorage,
			"%s, while executing\n\"%.*s%s\"",
			iPtr->result, numChars, cmdStart, ellipsis);
	    } else {
		sprintf(copyStorage,
			"%.50s..., while executing\n\"%.*s%s\"",
			iPtr->result, numChars, cmdStart, ellipsis);
	    }
	} else {
	    sprintf(copyStorage, ", invoked from within\n\"%.*s%s\"",
		    numChars, cmdStart, ellipsis);
	}
	Tcl_AddErrorInfo(interp, copyStorage);
	iPtr->flags &= ~ERR_ALREADY_LOGGED;
    } else {
	iPtr->flags &= ~ERR_ALREADY_LOGGED;
    }
    return result;

    /*
     * Syntax error:  generate an error message.
     */

    syntaxError: {
	char *first, *last;

	Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	for (first = syntaxPtr; ((first != cmd) && (first[-1] != '\n'));
		first--) {
	    /* Null loop body. */
	}
	for (last = syntaxPtr; ((*last != 0) && (*last!= '\n')); last++) {
	    /* Null loop body. */
	}
	if ((syntaxPtr - first) > 60) {
	    first = syntaxPtr - 60;
	}
	if ((last - first) > 70) {
	    last = first + 70;
	}
	if (last == first) {
	    sprintf(iPtr->result, "%s", syntaxMsg);
	} else {
	    sprintf(iPtr->result, "%s: '%.*s => %.*s'", syntaxMsg,
		    syntaxPtr-first, first, last-syntaxPtr, syntaxPtr);
	}
	result = TCL_ERROR;
    }

    goto done;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateTrace --
 *
 *	Arrange for a procedure to be called to trace command execution.
 *
 * Results:
 *	The return value is a token for the trace, which may be passed
 *	to Tcl_DeleteTrace to eliminate the trace.
 *
 * Side effects:
 *	From now on, proc will be called just before a command procedure
 *	is called to execute a Tcl command.  Calls to proc will have the
 *	following form:
 *
 *	void
 *	proc(clientData, interp, level, command, cmdProc, cmdClientData,
 *		argc, argv)
 *	    ClientData clientData;
 *	    Tcl_Interp *interp;
 *	    int level;
 *	    char *command;
 *	    int (*cmdProc)();
 *	    ClientData cmdClientData;
 *	    int argc;
 *	    char **argv;
 *	{
 *	}
 *
 *	The clientData and interp arguments to proc will be the same
 *	as the corresponding arguments to this procedure.  Level gives
 *	the nesting level of command interpretation for this interpreter
 *	(0 corresponds to top level).  Command gives the ASCII text of
 *	the raw command, cmdProc and cmdClientData give the procedure that
 *	will be called to process the command and the ClientData value it
 *	will receive, and argc and argv give the arguments to the
 *	command, after any argument parsing and substitution.  Proc
 *	does not return a value.
 *
 *----------------------------------------------------------------------
 */

Tcl_Trace
Tcl_CreateTrace(interp, level, proc, clientData)
    Tcl_Interp *interp;		/* Interpreter in which to create the trace. */
    int level;			/* Only call proc for commands at nesting level
				 * <= level (1 => top level). */
    void (*proc)();		/* Procedure to call before executing each
				 * command. */
    ClientData clientData;	/* Arbitrary one-word value to pass to proc. */
{
    register Trace *tracePtr;
    register Interp *iPtr = (Interp *) interp;

    tracePtr = (Trace *) malloc(sizeof(Trace));
    tracePtr->level = level;
    tracePtr->proc = proc;
    tracePtr->clientData = clientData;
    tracePtr->nextPtr = iPtr->tracePtr;
    iPtr->tracePtr = tracePtr;

    return (Tcl_Trace) tracePtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DeleteTrace --
 *
 *	Remove a trace.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	From now on there will be no more calls to the procedure given
 *	in trace.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_DeleteTrace(interp, trace)
    Tcl_Interp *interp;		/* Interpreter that contains trace. */
    Tcl_Trace trace;		/* Token for trace (returned previously by
				 * Tcl_CreateTrace). */
{
    register Interp *iPtr = (Interp *) interp;
    register Trace *tracePtr = (Trace *) trace;
    register Trace *tracePtr2;

    if (iPtr->tracePtr == tracePtr) {
	iPtr->tracePtr = tracePtr->nextPtr;
	free((char *) tracePtr);
    } else {
	for (tracePtr2 = iPtr->tracePtr; tracePtr2 != NULL;
		tracePtr2 = tracePtr2->nextPtr) {
	    if (tracePtr2->nextPtr == tracePtr) {
		tracePtr2->nextPtr = tracePtr->nextPtr;
		free((char *) tracePtr);
		return;
	    }
	}
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_AddErrorInfo --
 *
 *	Add information to a message being accumulated that describes
 *	the current error.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	The contents of message are added to the "errorInfo" variable.
 *	If Tcl_Eval has been called since the current value of errorInfo
 *	was set, errorInfo is cleared before adding the new message.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_AddErrorInfo(interp, message)
    Tcl_Interp *interp;		/* Interpreter to which error information
				 * pertains. */
    char *message;		/* Message to record. */
{
    register Interp *iPtr = (Interp *) interp;

    if (iPtr->flags & ERR_IN_PROGRESS) {
	int length;
	char *buffer, *oldVar;

	oldVar = Tcl_GetVar(interp, "errorInfo", 1);
	if (oldVar == NULL) {
	    oldVar = "";
	}
	length = strlen(oldVar);
	buffer = malloc((unsigned) (length + strlen(message) + 1));
	strcpy(buffer, oldVar);
	strcpy(buffer+length, message);
	Tcl_SetVar(interp, "errorInfo", buffer, 1);
    } else {
	iPtr->flags |= ERR_IN_PROGRESS;
	Tcl_SetVar(interp, "errorInfo", message, 1);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * TclFindCmd --
 *
 *	Find a particular command in an interpreter.
 *
 * Results:
 *	If the command doesn't exist in the table, or if it is an
 *	ambiguous abbreviation, then NULL is returned.  Otherwise
 *	the return value is a pointer to the command.  Unique
 *	abbreviations are allowed if abbrevOK is non-zero, but
 *	abbreviations take longer to look up (must scan the whole
 *	table twice).
 *
 * Side effects:
 *	If the command is found and is an exact match, it is relinked
 *	at the front of iPtr's command list so it will be found more
 *	quickly in the future.
 *
 *----------------------------------------------------------------------
 */

Command *
TclFindCmd(iPtr, cmdName, abbrevOK)
    Interp *iPtr;		/* Interpreter in which to search. */
    char *cmdName;		/* Desired command. */
    int abbrevOK;		/* Non-zero means permit abbreviations, if
				 * not disallowed by "noAbbrevs" variable.
				 * Zero means exact matches only. */
{
    register Command *prev;
    register Command *cur;
    register char c;
    Command *match;
    int length;
    char *varValue;

    /*
     * First check for an exact match.
     */

    c = *cmdName;
    for (prev = NULL, cur = iPtr->commandPtr; cur != NULL;
	    prev = cur, cur = cur->nextPtr) {

	/*
	 * Check the first character here before wasting time calling
	 * strcmp.
	 */

	if ((cur->name[0] == c) && (strcmp(cur->name, cmdName) == 0)) {
	    if (prev != NULL) {
		prev->nextPtr = cur->nextPtr;
		cur->nextPtr = iPtr->commandPtr;
		iPtr->commandPtr = cur;
	    }
	    return cur;
	}
    }
    if (!abbrevOK) {
	return NULL;
    }
    varValue = Tcl_GetVar((Tcl_Interp *) iPtr, "noAbbrev", 1);
    if ((varValue != NULL) && (*varValue == '1')) {
	return NULL;
    }

    /*
     * No exact match.  Make a second pass to check for a unique
     * abbreviation.  Don't bother to pull the matching entry to
     * the front of the list, since we have to search the whole list
     * for abbreviations anyway.
     */

    length = strlen(cmdName);
    match = NULL;
    for (prev = NULL, cur = iPtr->commandPtr; cur != NULL;
	    prev = cur, cur = cur->nextPtr) {
	if ((cur->name[0] == c) && (strncmp(cur->name, cmdName, length) == 0)) {
	    if (match != NULL) {
		return NULL;
	    }
	    match = cur;
	}
    }
    return match;
}
0707070035050510701006660011710000040000010710370466303005000001700000076663tcl/tclCmdAH.c/* 
 * tclCmdAH.c --
 *
 *	This file contains the top-level command routines for most of
 *	the Tcl built-in commands whose names begin with the letters
 *	A to H.
 *
 * Copyright 1987 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include <ctype.h>
#include <errno.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include "tclInt.h"

extern long lseek();
extern char *mktemp();

/*
 *----------------------------------------------------------------------
 *
 * Tcl_BreakCmd --
 *
 *	This procedure is invoked to process the "break" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_BreakCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    if (argc != 1) {
	sprintf(interp->result, "too many args: should be \"%.50s\"", argv[0]);
	return TCL_ERROR;
    }
    return TCL_BREAK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CaseCmd --
 *
 *	This procedure is invoked to process the "case" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_CaseCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int i, result;
    int body;
    char *string;

    if (argc < 4) {
	sprintf(interp->result,
		"%s \"%.50s string [in] patList body ... [default body]\"",
		"not enough args:  should be", argv[0]);
	return TCL_ERROR;
    }
    string = argv[1];
    body = NULL;
    if (strcmp(argv[2], "in") == 0) {
	i = 3;
    } else {
	i = 2;
    }
    for (; i < argc; i += 2) {
	int patArgc, j;
	char **patArgv;
	register char *p;

	if (i == (argc-1)) {
	    sprintf(interp->result, "extra pattern with no body in \"%.50s\"",
		    argv[0]);
	    return TCL_ERROR;
	}

	/*
	 * Check for special case of single pattern (no list) with
	 * no backslash sequences.
	 */

	for (p = argv[i]; *p != 0; p++) {
	    if (isspace(*p) || (*p == '\\')) {
		break;
	    }
	}
	if (*p == 0) {
	    if ((*argv[i] == 'd') && (strcmp(argv[i], "default") == 0)) {
		body = i+1;
	    }
	    if (Tcl_StringMatch(string, argv[i])) {
		body = i+1;
		goto match;
	    }
	    continue;
	}

	/*
	 * Break up pattern lists, then check each of the patterns
	 * in the list.
	 */

	result = Tcl_SplitList(interp, argv[i], &patArgc, &patArgv);
	if (result != TCL_OK) {
	    return result;
	}
	for (j = 0; j < patArgc; j++) {
	    if (Tcl_StringMatch(string, patArgv[j])) {
		body = i+1;
		break;
	    }
	}
	free((char *) patArgv);
	if (j < patArgc) {
	    break;
	}
    }

    match:
    if (body != NULL) {
	result = Tcl_Eval(interp, argv[body], 0, (char **) NULL);
	if (result == TCL_ERROR) {
	    char msg[100];
	    sprintf(msg, " (\"%.50s\" arm line %d)", argv[i],
		    interp->errorLine);
	    Tcl_AddErrorInfo(interp, msg);
	}
	return result;
    }

    /*
     * Nothing matched:  return nothing.
     */
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CatchCmd --
 *
 *	This procedure is invoked to process the "catch" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_CatchCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int result;

    if ((argc != 2) && (argc != 3)) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s command [varName]\"",
		argv[0]);
	return TCL_ERROR;
    }
    result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
    if (argc == 3) {
	Tcl_SetVar(interp, argv[2], interp->result, 0);
    }
    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
    sprintf(interp->result, "%d", result);
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ConcatCmd --
 *
 *	This procedure is invoked to process the "concat" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ConcatCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    if (argc == 1) {
	sprintf(interp->result,
		"not enough args:  should be \"%.50s arg [arg ...]\"",
		argv[0]);
	return TCL_ERROR;
    }

    interp->result = Tcl_Concat(argc-1, argv+1);
    interp->dynamic = 1;
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ContinueCmd --
 *
 *	This procedure is invoked to process the "continue" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ContinueCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    if (argc != 1) {
	sprintf(interp->result, "too many args: should be \"%.50s\"", argv[0]);
	return TCL_ERROR;
    }
    return TCL_CONTINUE;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ErrorCmd --
 *
 *	This procedure is invoked to process the "error" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ErrorCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    Interp *iPtr = (Interp *) interp;

    if ((argc != 2) && (argc != 3)) {
	sprintf(interp->result, "wrong # args: should be \"%.50s message [errorInfo]\"",
		argv[0]);
	return TCL_ERROR;
    }
    if (argc == 3) {
	Tcl_AddErrorInfo(interp, argv[2]);
	iPtr->flags |= ERR_ALREADY_LOGGED;
    }
    Tcl_Return(interp, argv[1], TCL_VOLATILE);
    return TCL_ERROR;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_EvalCmd --
 *
 *	This procedure is invoked to process the "eval" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_EvalCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int result;
    char *cmd;

    if (argc < 2) {
	sprintf(interp->result,
		"not enough args:  should be \"%.50s arg [arg ...]\"",
		argv[0]);
	return TCL_ERROR;
    }
    if (argc == 2) {
	result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
    } else {
    
	/*
	 * More than one argument:  concatenate them together with spaces
	 * between, then evaluate the result.
	 */
    
	cmd = Tcl_Concat(argc-1, argv+1);
	result = Tcl_Eval(interp, cmd, 0, (char **) NULL);
	free(cmd);
    }
    if (result == TCL_ERROR) {
	char msg[60];
	sprintf(msg, " (\"eval\" body line %d)", interp->errorLine);
	Tcl_AddErrorInfo(interp, msg);
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ExecCmd --
 *
 *	This procedure is invoked to process the "exec" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ExecCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    char *input = "";			/* Points to the input remaining to
					 * send to the child process. */
    int inputSize;			/* # of bytes of input. */
#define MAX_PIPE_INPUT 4095
#define TMP_FILE_NAME "/tmp/tcl.XXXXXX"
    char *output = NULL;		/* Output received from child. */
    int outputSize;			/* Number of valid bytes at output. */
    int outputSpace;			/* Total space available at output. */
    int stdIn[2], stdOut[2], count, result, i;
    int pid = -1;			/* -1 means child process doesn't
					 * exist (yet).  Non-zero gives its
					 * id (0 only in child). */
    int status;
    char *cmdName, *execName;

    /*
     * Look through the arguments for a standard input specification
     * ("< value" in two arguments).  If found, collapse it out.
     * Shuffle all the arguments back over the "exec" argument, so that
     * there's room for a NULL argument at the end.
     */

    cmdName = argv[0];
    for (i = 1; i < argc; i++) {
	argv[i-1] = argv[i];
	if ((argv[i][0] != '<') || (argv[i][1] != 0)) {
	    continue;
	}
	i++;
	if (i >= argc) {
	    sprintf(interp->result,
		    "specified \"<\" but no input in \"%.50s\" command",
		    cmdName);
	    return TCL_ERROR;
	}
	input = argv[i];
	for (i++; i < argc; i++) {
	    argv[i-3] = argv[i];
	}
	argc -= 2;
    }

    argc -= 1;			/* Drop "exec" argument. */
    argv[argc] = NULL;
    if (argc < 1) {
	sprintf(interp->result, "not enough arguments to \"%.50s\" command",
		cmdName);
	return TCL_ERROR;
    }
    execName = Tcl_TildeSubst(interp, argv[0]);
    if (execName == NULL) {
	return TCL_ERROR;
    }

    /*
     * Set up the input stream for child.  Use a pipe if the amount of
     * input data is small enough for us to write it to the pipe without
     * overflowing the pipe and blocking.  If there's too much input data,
     * then write it to a temporary file.
     */

    stdIn[0] = stdIn[1] = stdOut[0] = stdOut[1] = -1;
    inputSize = strlen(input);
    if (inputSize <= MAX_PIPE_INPUT) {
	if (pipe(stdIn) < 0) {
	    sprintf(interp->result,
		    "couldn't create input pipe for \"%.50s\" command: %.50s",
		    cmdName, strerror(errno));
	    result = TCL_ERROR;
	    goto cleanup;
	}
	if (write(stdIn[1], input, inputSize) != inputSize) {
	    sprintf(interp->result,
		    "couldn't write pipe input for command: %.50s",
		    strerror(errno));
	    result = TCL_ERROR;
	    goto cleanup;
	}
	close(stdIn[1]);
	stdIn[1] = -1;
    } else {
	char tmp[L_tmpnam];
	tmpnam(tmp);
	stdIn[0] = open(tmp, O_RDWR|O_CREAT, 0);
	if (stdIn[0] < 0) {
	    sprintf(interp->result,
		    "couldn't create input file for \"%.50s\" command: %.50s",
		    cmdName, strerror(errno));
	    result = TCL_ERROR;
	    goto cleanup;
	}
	if (write(stdIn[0], input, inputSize) != inputSize) {
	    sprintf(interp->result,
		    "couldn't write file input for command: %.50s",
		    strerror(errno));
	    result = TCL_ERROR;
	    goto cleanup;
	}
	if ((lseek(stdIn[0], 0L, 0) == -1) || (unlink(tmp) == -1)) {
	    sprintf(interp->result,
		    "couldn't reset or close input file for command: %.50s",
		    strerror(errno));
	    result = TCL_ERROR;
	    goto cleanup;
	}
    }

    /*
     * Set up an output pipe from the child's stdout/stderr back to
     * us, then fork the child.
     */

    if (pipe(stdOut) < 0) {
	sprintf(interp->result,
		"couldn't create output pipe for \"%.50s\" command",
		cmdName);
	result = TCL_ERROR;
	goto cleanup;
    }
    pid = fork();
    if (pid == -1) {
	sprintf(interp->result,
		"couldn't fork child for \"%.50s\" command: %.50s",
		cmdName, strerror(errno));
	result = TCL_ERROR;
	goto cleanup;
    }
    if (pid == 0) {
	char errSpace[100];

	if ((dup2(stdIn[0], 0) == -1) || (dup2(stdOut[1], 1) == -1)
		|| (dup2(stdOut[1], 2) == -1)) {
	    char *err;
	    err = "forked process couldn't set up input/output";
	    write(stdOut[1], err, strlen(err));
	    _exit(1);
	}
	close(stdIn[0]);
	close(stdOut[0]);
	close(stdOut[1]);
	execvp(execName, argv);
	sprintf(errSpace, "couldn't find a \"%.50s\" to execute", argv[0]);
	write(1, errSpace, strlen(errSpace));
	_exit(1);
    }

    /*
     * In the parent, read output from the child until end of file
     * (this should mean that the child has completed and died).
     */

    close(stdIn[0]);
    stdIn[0] = -1;
    close(stdOut[1]);
    stdOut[1] = -1;
    outputSize = 0;
    outputSpace = 0;
    result = -1;
    while (1) {
	if ((outputSpace - outputSize) < 100) {
	    char *newOutput;

	    if (outputSpace == 0) {
		outputSpace = 200;
	    } else {
		outputSpace = 2*outputSpace;
	    }
	    newOutput = (char *) malloc((unsigned) outputSpace);
	    if (output != 0) {
		bcopy(output, newOutput, outputSize);
		free(output);
	    }
	    output = newOutput;
	}
	count = read(stdOut[0], output+outputSize,
		outputSpace-outputSize-1);

	if (count == 0) {
	    break;
	}
	if (count < 0) {
	    sprintf(interp->result,
		    "error reading stdout during \"%.50s\": %.50s",
		    cmdName, strerror(errno));
	    result = TCL_ERROR;
	    goto cleanup;
	}
	outputSize += count;
    }

    /*
     * The command is supposedly done now.  Terminate the result
     * string and wait for the process really to complete.
     */

    output[outputSize] = 0;
    interp->result = output;
    interp->dynamic = 1;

    cleanup:
    if (pid != -1) {
	while (1) {
	    int child;

	    child = wait(&status);
	    if (child == -1) {
		sprintf(interp->result,
			"child process disappeared mysteriously");
		result = TCL_ERROR;
		break;
	    }
	    if (child == pid) {
		break;
	    }
	}
	if (!WIFEXITED(status)) {
	    sprintf(interp->result, "command terminated abnormally");
	    result = TCL_ERROR;
	}
	result = status;
    }
    if (stdIn[0] != -1) {
	close(stdIn[0]);
    }
    if (stdIn[1] != -1) {
	close(stdIn[1]);
    }
    if (stdOut[0] != -1) {
	close(stdOut[0]);
    }
    if (stdOut[1] != -1) {
	close(stdOut[1]);
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ExprCmd --
 *
 *	This procedure is invoked to process the "expr" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ExprCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int result, value;

    if (argc != 2) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s expression\"", argv[0]);
	return TCL_ERROR;
    }

    result = Tcl_Expr(interp, argv[1], &value);
    if (result != TCL_OK) {
	return result;
    }

    /*
     * Turn the integer result back into a string.
     */

    sprintf(interp->result, "%d", value);
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_FileCmd --
 *
 *	This procedure is invoked to process the "file" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_FileCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    char *p;
    int length, mode, statOp;
    struct stat statBuf;
    char *fileName;

    if (argc != 3) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s name option\"", argv[0]);
	return TCL_ERROR;
    }
    length = strlen(argv[2]);

    /*
     * First handle operations on the file name.
     */

    fileName = Tcl_TildeSubst(interp, argv[1]);
    if ((argv[2][0] == 'd') && (strncmp(argv[2], "dirname", length) == 0)) {
	p = strrchr(fileName, '/');
	if (p == NULL) {
	    interp->result = ".";
	} else if (p == fileName) {
	    interp->result = "/";
	} else {
	    *p = 0;
	    Tcl_Return(interp, fileName, TCL_VOLATILE);
	    *p = '/';
	}
	return TCL_OK;
    } else if ((argv[2][0] == 'r') && (length >= 2)
	    && (strncmp(argv[2], "rootname", length) == 0)) {
	p = strrchr(fileName, '.');
	if (p == NULL) {
	    Tcl_Return(interp, fileName, TCL_VOLATILE);
	} else {
	    *p = 0;
	    Tcl_Return(interp, fileName, TCL_VOLATILE);
	    *p = '.';
	}
	return TCL_OK;
    } else if ((argv[2][0] == 'e') && (length >= 3)
	    && (strncmp(argv[2], "extension", length) == 0)) {
	char *lastSlash;

	p = strrchr(fileName, '.');
	lastSlash = strrchr(fileName, '/');
	if ((p != NULL) && ((lastSlash == NULL) || (lastSlash < p))) {
	    Tcl_Return(interp, p, TCL_VOLATILE);
	}
	return TCL_OK;
    } else if ((argv[2][0] == 't') && (strncmp(argv[2], "tail", length) == 0)) {
	p = strrchr(fileName, '/');
	if (p != NULL) {
	    Tcl_Return(interp, p+1, TCL_VOLATILE);
	} else {
	    Tcl_Return(interp, fileName, TCL_VOLATILE);
	}
	return TCL_OK;
    }

    /*
     * Next, handle operations that can be satisfied with the "access"
     * kernel call.
     */

    if (fileName == NULL) {
	return TCL_ERROR;
    }
    if ((argv[2][0] == 'r') && (length >= 2)
	    && (strncmp(argv[2], "readable", length) == 0)) {
	mode = R_OK;
	checkAccess:
	if (access(fileName, mode) == -1) {
	    interp->result = "0";
	} else {
	    interp->result = "1";
	}
	return TCL_OK;
    } else if ((argv[2][0] == 'w')
	    && (strncmp(argv[2], "writable", length) == 0)) {
	mode = W_OK;
	goto checkAccess;
    } else if ((argv[2][0] == 'e') && (length >= 3)
	    && (strncmp(argv[2], "executable", length) == 0)) {
	mode = X_OK;
	goto checkAccess;
    } else if ((argv[2][0] == 'e') && (length >= 3)
	    && (strncmp(argv[2], "exists", length) == 0)) {
	mode = F_OK;
	goto checkAccess;
    }

    /*
     * Lastly, check stuff that requires the file to be stat-ed.
     */

    if ((argv[2][0] == 'o') && (strncmp(argv[2], "owned", length) == 0)) {
	statOp = 0;
    } else if ((argv[2][0] == 'i') && (length >= 3)
	    && (strncmp(argv[2], "isfile", length) == 0)) {
	statOp = 1;
    } else if ((argv[2][0] == 'i') && (length >= 3)
	    && (strncmp(argv[2], "isdirectory", length) == 0)) {
	statOp = 2;
    } else {
	sprintf(interp->result, "bad \"%.30s\" option \"%.30s\": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writable",
		argv[0], argv[2]);
	return TCL_ERROR;
    }
    if (stat(fileName, &statBuf) == -1) {
	interp->result = "0";
	return TCL_OK;
    }
    switch (statOp) {
	case 0:
	    mode = (geteuid() == statBuf.st_uid);
	    break;
	case 1:
	    mode = S_ISREG(statBuf.st_mode);
	    break;
	case 2:
	    mode = S_ISDIR(statBuf.st_mode);
	    break;
    }
    if (mode) {
	interp->result = "1";
    } else {
	interp->result = "0";
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ForCmd --
 *
 *	This procedure is invoked to process the "for" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ForCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int result, value;

    if (argc != 5) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s start test next command\"",
		argv[0]);
	return TCL_ERROR;
    }

    result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
    if (result != TCL_OK) {
	if (result == TCL_ERROR) {
	    Tcl_AddErrorInfo(interp, " (\"for\" initial command)");
	}
	return result;
    }
    while (1) {
	result = Tcl_Expr(interp, argv[2], &value);
	if (result != TCL_OK) {
	    return result;
	}
	if (!value) {
	    break;
	}
	result = Tcl_Eval(interp, argv[4], 0, (char **) NULL);
	if (result == TCL_CONTINUE) {
	    result = TCL_OK;
	} else if (result != TCL_OK) {
	    if (result == TCL_ERROR) {
		char msg[60];
		sprintf(msg, " (\"for\" body line %d)", interp->errorLine);
		Tcl_AddErrorInfo(interp, msg);
	    }
	    break;
	}
	result = Tcl_Eval(interp, argv[3], 0, (char **) NULL);
	if (result == TCL_BREAK) {
	    break;
	} else if (result != TCL_OK) {
	    if (result == TCL_ERROR) {
		Tcl_AddErrorInfo(interp, " (\"for\" loop-end command)");
	    }
	    return result;
	}
    }
    if (result == TCL_BREAK) {
	result = TCL_OK;
    }
    if (result == TCL_OK) {
	Tcl_Return(interp, (char *) NULL, TCL_STATIC);
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ForeachCmd --
 *
 *	This procedure is invoked to process the "foreach" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ForeachCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int listArgc, i, result;
    char **listArgv;

    if (argc != 4) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s varName list command\"",
		argv[0]);
	return TCL_ERROR;
    }

    /*
     * Break the list up into elements, and execute the command once
     * for each value of the element.
     */

    result = Tcl_SplitList(interp, argv[2], &listArgc, &listArgv);
    if (result != TCL_OK) {
	return result;
    }
    for (i = 0; i < listArgc; i++) {
	Tcl_SetVar(interp, argv[1], listArgv[i], 0);

	result = Tcl_Eval(interp, argv[3], 0, (char **) NULL);
	if (result != TCL_OK) {
	    if (result == TCL_CONTINUE) {
		result = TCL_OK;
	    } else if (result == TCL_BREAK) {
		result = TCL_OK;
		break;
	    } else if (result == TCL_ERROR) {
		char msg[100];
		sprintf(msg, " (\"foreach\" body line %d)", interp->errorLine);
		Tcl_AddErrorInfo(interp, msg);
		break;
	    } else {
		break;
	    }
	}
    }
    free((char *) listArgv);
    if (result == TCL_OK) {
	Tcl_Return(interp, (char *) NULL, TCL_STATIC);
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_FormatCmd --
 *
 *	This procedure is invoked to process the "format" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_FormatCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register char *format;	/* Used to read characters from the format
				 * string. */
    char newFormat[40];		/* A new format specifier is generated here. */
    int width;			/* Field width from field specifier, or 0 if
				 * no width given. */
    int precision;		/* Field precision from field specifier, or 0
				 * if no precision given. */
    int size;			/* Number of bytes needed for result of
				 * conversion, based on type of conversion
				 * ("e", "s", etc.) and width from above. */
    char *oneWordValue;		/* Used to hold value to pass to sprintf, if
				 * it's a one-word value. */
    double twoWordValue;	/* Used to hold value to pass to sprintf if
				 * it's a two-word value. */
    int useTwoWords;		/* 0 means use oneWordValue, 1 means use
				 * twoWordValue. */
    char *dst = interp->result;	/* Where result is stored.  Starts off at
				 * interp->resultSpace, but may get dynamically
				 * re-allocated if this isn't enough. */
    int dstSize = 0;		/* Number of non-null characters currently
				 * stored at dst. */
    int dstSpace = TCL_RESULT_SIZE;
				/* Total amount of storage space available
				 * in dst (not including null terminator. */
    int noPercent;		/* Special case for speed:  indicates there's
				 * no field specifier, just a string to copy. */
    char **curArg;		/* Remainder of argv array. */

    /*
     * This procedure is a bit nasty.  The goal is to use sprintf to
     * do most of the dirty work.  There are several problems:
     * 1. this procedure can't trust its arguments.
     * 2. we must be able to provide a large enough result area to hold
     *    whatever's generated.  This is hard to estimate.
     * 2. there's no way to move the arguments from argv to the call
     *    to sprintf in a reasonable way.  This is particularly nasty
     *    because some of the arguments may be two-word values (doubles).
     * So, what happens here is to scan the format string one % group
     * at a time, making many individual calls to sprintf.
     */

    if (argc < 2) {
	sprintf(interp->result,
		"too few args: should be \"%.50s formatString [arg arg ...]\"",
		argv[0]);
	return TCL_ERROR;
    }
    curArg = argv+2;
    argc -= 2;
    for (format = argv[1]; *format != 0; ) {
	register char *newPtr = newFormat;

	width = precision = useTwoWords = noPercent = 0;

	/*
	 * Get rid of any characters before the next field specifier.
	 * Collapse backslash sequences found along the way.
	 */

	if (*format != '%') {
	    register char *p;
	    int bsSize;

	    oneWordValue = format;
	    for (p = format; (*format != '%') && (*format != 0); p++) {
		if (*format == '\\') {
		    *p = Tcl_Backslash(format, &bsSize);
		    format += bsSize;
		} else {
		    *p = *format;
		    format++;
		}
	    }
	    size = p - oneWordValue;
	    noPercent = 1;
	    goto doField;
	}

	if (format[1] == '%') {
	    oneWordValue = format;
	    size = 1;
	    noPercent = 1;
	    format += 2;
	    goto doField;
	}

	/*
	 * Parse off a field specifier, compute how many characters
	 * will be needed to store the result, and substitute for
	 * "*" size specifiers.
	 */

	*newPtr = '%';
	newPtr++;
	format++;
	if (*format == '-') {
	    *newPtr = '-';
	    newPtr++;
	    format++;
	}
	if (*format == '0') {
	    *newPtr = '0';
	    newPtr++;
	    format++;
	}
	if (isdigit(*format)) {
	    width = atoi(format);
	    do {
		format++;
	    } while (isdigit(*format));
	} else if (*format == '*') {
	    if (argc <= 0) {
		goto notEnoughArgs;
	    }
	    width = atoi(*curArg);
	    argc--;
	    curArg++;
	    format++;
	}
	if (width != 0) {
	    sprintf(newPtr, "%d", width);
	    while (*newPtr != 0) {
		newPtr++;
	    }
	}
	if (*format == '.') {
	    *newPtr = '.';
	    newPtr++;
	    format++;
	}
	if (isdigit(*format)) {
	    precision = atoi(format);
	    do {
		format++;
	    } while (isdigit(*format));
	} else if (*format == '*') {
	    if (argc <= 0) {
		goto notEnoughArgs;
	    }
	    precision = atoi(*curArg);
	    argc--;
	    curArg++;
	    format++;
	}
	if (precision != 0) {
	    sprintf(newPtr, "%d", precision);
	    while (*newPtr != 0) {
		newPtr++;
	    }
	}
	if (*format == '#') {
	    *newPtr = '#';
	    newPtr++;
	    format++;
	}
	if (*format == 'l') {
	    format++;
	}
	*newPtr = *format;
	newPtr++;
	*newPtr = 0;
	if (argc <= 0) {
	    goto notEnoughArgs;
	}
	switch (*format) {
	    case 'D':
	    case 'd':
	    case 'O':
	    case 'o':
	    case 'X':
	    case 'x':
	    case 'U':
	    case 'u': {
		char *end;

		oneWordValue = (char *) strtol(*curArg, &end, 0);
		if ((*curArg == 0) || (*end != 0)) {
		    sprintf(interp->result,
			    "expected integer but got \"%.50s\" instead",
			    *curArg);
		    goto fmtError;
		}
		size = 40;
		break;
	    }
	    case 's':
		oneWordValue = *curArg;
		size = strlen(*curArg);
		break;
	    case 'c': {
		char *end;

		oneWordValue = (char *) strtol(*curArg, &end, 0);
		if ((*curArg == 0) || (*end != 0)) {
		    sprintf(interp->result,
			    "expected integer but got \"%.50s\" instead",
			    *curArg);
		    goto fmtError;
		}
		size = 1;
		break;
	    }
	    case 'F':
	    case 'f':
	    case 'E':
	    case 'e':
	    case 'G':
	    case 'g':
		if (sscanf(*curArg, "%F", &twoWordValue) != 1) {
		    sprintf(interp->result,
			    "expected floating-point number but got \"%.50s\" instead",
			    *curArg);
		    goto fmtError;
		}
		useTwoWords = 1;
		size = 320;
		if (precision > 10) {
		    size += precision;
		}
		break;
	    case 0:
		interp->result = "format string ended in middle of field specifier";
		goto fmtError;
	    default:
		sprintf(interp->result, "bad field specifier \"%c\"", *format);
		goto fmtError;
	}
	argc--;
	curArg++;
	format++;

	/*
	 * Make sure that there's enough space to hold the formatted
	 * result, then format it.
	 */

	doField:
	if (width > size) {
	    size = width;
	}
	if ((dstSize + size) > dstSpace) {
	    char *newDst;
	    int newSpace;

	    newSpace = 2*(dstSize + size);
	    newDst = (char *) malloc((unsigned) newSpace+1);
	    if (dstSize != 0) {
		bcopy(dst, newDst, dstSize);
	    }
	    if (dstSpace != TCL_RESULT_SIZE) {
		free(dst);
	    }
	    dst = newDst;
	    dstSpace = newSpace;
	}
	if (noPercent) {
	    bcopy(oneWordValue, dst+dstSize, size);
	    dstSize += size;
	    dst[dstSize] = 0;
	} else {
	    if (useTwoWords) {
		sprintf(dst+dstSize, newFormat, twoWordValue);
	    } else {
		sprintf(dst+dstSize, newFormat, oneWordValue);
	    }
	    dstSize += strlen(dst+dstSize);
	}
    }

    interp->result = dst;
    interp->dynamic = !(dstSpace == TCL_RESULT_SIZE);
    return TCL_OK;

    notEnoughArgs:
    sprintf(interp->result,
	    "invoked \"%.50s\" without enough arguments", argv[0]);
    fmtError:
    if (dstSpace != TCL_RESULT_SIZE) {
	free(dst);
    }
    return TCL_ERROR;
}
0707070035050510671006660011710000040000010715450466300644100001700000077426tcl/tclCmdIZ.c/* 
 * tclCmdIZ.c --
 *
 *	This file contains the top-level command routines for most of
 *	the Tcl built-in commands whose names begin with the letters
 *	I to Z.
 *
 * Copyright 1987 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/times.h>
#include "tclInt.h"

/*
 *----------------------------------------------------------------------
 *
 * Tcl_IfCmd --
 *
 *	This procedure is invoked to process the "if" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_IfCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    char *condition, *ifPart, *elsePart, *cmd, *name;
    int result, value;

    name = argv[0];
    if (argc < 3) {
	ifSyntax:
	sprintf(interp->result, "wrong # args:  should be \"%.50s bool [then] command [[else] command]\"",
		name);
	return TCL_ERROR;
    }
    condition = argv[1];
    argc -= 2;
    argv += 2;
    if ((**argv == 't') && (strncmp(*argv, "then", strlen(*argv)) == 0)) {
	argc--;
	argv++;
    }
    if (argc < 1) {
	goto ifSyntax;
    }
    ifPart = *argv;
    argv++;
    argc--;
    if (argc == 0) {
	elsePart = "";
    } else {
	if ((**argv == 'e') && (strncmp(*argv, "else", strlen(*argv)) == 0)) {
	    argc--;
	    argv++;
	}
	if (argc != 1) {
	    goto ifSyntax;
	}
	elsePart = *argv;
    }

    cmd = ifPart;
    result = Tcl_Expr(interp, condition, &value);
    if (result != TCL_OK) {
	return result;
    }
    if (value == 0) {
	cmd = elsePart;
    }
    result = Tcl_Eval(interp, cmd, 0, (char **) NULL);
    if (result == TCL_ERROR) {
	char msg[60];
	sprintf(msg, " (\"if\" body line %d)", interp->errorLine);
	Tcl_AddErrorInfo(interp, msg);
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_IndexCmd --
 *
 *	This procedure is invoked to process the "index" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

    /* ARGSUSED */
int
Tcl_IndexCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    char *p, *element;
    int index, size, parenthesized, result;

    if (argc < 3) {
	indexSyntax:
	sprintf(interp->result,
		"wrong # args:  should be \"%.50s value index [chars]\"",
		argv[0]);
	return TCL_ERROR;
    }
    p = argv[1];
    index = atoi(argv[2]);
    if (!isdigit(*argv[2]) || (index < 0)) {
	sprintf(interp->result, "bad index \"%.50s\"", argv[2]);
	return TCL_ERROR;
    }
    if (argc == 3) {
	for ( ; index >= 0; index--) {
	    result = TclFindElement(interp, p, &element, &p, &size,
		    &parenthesized);
	    if (result != TCL_OK) {
		return result;
	    }
	}
	if (size >= TCL_RESULT_SIZE) {
	    interp->result = (char *) malloc((unsigned) size+1);
	    interp->dynamic = 1;
	}
	if (parenthesized) {
	    bcopy(element, interp->result, size);
	    interp->result[size] = 0;
	} else {
	    TclCopyAndCollapse(size, element, interp->result);
	}
    } else if (argc == 4) {
	if (strncmp(argv[3], "chars", strlen(argv[3])) != 0) {
	    sprintf(interp->result, "bad argument \"%s\":  must be \"chars\"",
		    argv[3]);
	    return TCL_ERROR;
	}
	size = strlen(p);
	if (index < size) {
	    interp->result[0] = p[index];
	    interp->result[1] = 0;
	}
    } else {
	goto indexSyntax;
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_InfoCmd --
 *
 *	This procedure is invoked to process the "info" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_InfoCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register Interp *iPtr = (Interp *) interp;
    Proc *procPtr;
    Var *varPtr;
    Command *cmdPtr;
    int length;
    char c;

    /*
     * When collecting a list of things (e.g. args or vars) "flag" tells
     * what kind of thing is being collected, according to the definitions
     * below.
     */

    int flag;
#   define VARS 0
#   define LOCALS 1
#   define PROCS 2
#   define CMDS 3

#   define ARG_SIZE 20
    char *argSpace[ARG_SIZE];
    int argSize;
    char *pattern;

    if (argc < 2) {
	sprintf(iPtr->result,
		"too few args:  should be \"%.50s option [arg arg ...]\"",
		argv[0]);
	return TCL_ERROR;
    }
    c = argv[1][0];
    length = strlen(argv[1]);
    if ((c == 'a') && (strncmp(argv[1], "args", length)) == 0) {
	if (argc != 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s args procname\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	procPtr = TclFindProc(iPtr, argv[2]);
	if (procPtr == NULL) {
	    infoNoSuchProc:
	    sprintf(iPtr->result,
		    "info requested on \"%s\", which isn't a procedure",
		    argv[2]);
	    return TCL_ERROR;
	}
	flag = VARS;
	varPtr = procPtr->argPtr;
	argc = 0;			/* Prevent pattern matching. */
    } else if ((c == 'b') && (strncmp(argv[1], "body", length)) == 0) {
	if (argc != 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s body procname\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	procPtr = TclFindProc(iPtr, argv[2]);
	if (procPtr == NULL) {
	    goto infoNoSuchProc;
	}
	iPtr->result = procPtr->command;
	return TCL_OK;
    } else if ((c == 'c') && (strncmp(argv[1], "cmdcount", length) == 0)
	    && (length >= 2)) {
	if (argc != 2) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s cmdcount\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	sprintf(iPtr->result, "%d", iPtr->cmdCount);
	return TCL_OK;
    } else if ((c == 'c') && (strncmp(argv[1], "commands", length) == 0)
	    && (length >= 2)){
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s commands [pattern]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	flag = CMDS;
	cmdPtr = iPtr->commandPtr;
    } else if ((c == 'd') && (strncmp(argv[1], "default", length)) == 0) {
	if (argc != 5) {
	    sprintf(iPtr->result, "wrong # args: should be \"%.50s default procname arg varname\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	procPtr = TclFindProc(iPtr, argv[2]);
	if (procPtr == NULL) {
	    goto infoNoSuchProc;
	}
	for (varPtr = procPtr->argPtr; ; varPtr = varPtr->nextPtr) {
	    if (varPtr == NULL) {
		sprintf(iPtr->result,
			"procedure \"%s\" doesn't have an argument \"%s\"",
			argv[2], argv[3]);
		return TCL_ERROR;
	    }
	    if (strcmp(argv[3], varPtr->name) == 0) {
		if (varPtr->value != NULL) {
		    Tcl_SetVar((Tcl_Interp *) iPtr, argv[4], varPtr->value, 0);
		    iPtr->result = "1";
		} else {
		    Tcl_SetVar((Tcl_Interp *) iPtr, argv[4], "", 0);
		    iPtr->result = "0";
		}
		return TCL_OK;
	    }
	}
    } else if ((c == 'e') && (strncmp(argv[1], "exists", length) == 0)) {
	char *p;
	if (argc != 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s exists varName\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	p = Tcl_GetVar((Tcl_Interp *) iPtr, argv[2], 0);
	if (p != NULL) {
	    iPtr->result[0] = '1';
	} else {
	    iPtr->result[0] = '0';
	}
	iPtr->result[1] = 0;
	return TCL_OK;
    } else if ((c == 'g') && (strncmp(argv[1], "globals", length) == 0)) {
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s globals [pattern]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	flag = VARS;
	varPtr = iPtr->globalPtr;
    } else if ((c == 'l') && (strncmp(argv[1], "locals", length) == 0)
	     && (length >= 2)) {
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s locals [pattern]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	flag = LOCALS;
	if (iPtr->varFramePtr == NULL) {
	    varPtr = NULL;
	} else {
	    varPtr = iPtr->varFramePtr->varPtr;
	}
    } else if ((c == 'l') && (strncmp(argv[1], "level", length) == 0)
	    && (length >= 2)) {
	if (argc == 2) {
	    if (iPtr->varFramePtr == NULL) {
		iPtr->result = "0";
	    } else {
		sprintf(iPtr->result, "%d", iPtr->varFramePtr->level);
	    }
	    return TCL_OK;
	} else if (argc == 3) {
	    int level;
	    char *end;
	    CallFrame *framePtr;

	    level = strtol(argv[2], &end, 10);
	    if ((end == argv[2]) || (*end != '\0')) {
		levelError:
		sprintf(iPtr->result, "bad level \"%.50s\"", argv[1]);
		return TCL_ERROR;
	    }
	    if (level <= 0) {
		if (iPtr->varFramePtr == NULL) {
		    goto levelError;
		}
		level += iPtr->varFramePtr->level;
	    }
	    if (level == 0) {
		return TCL_OK;
	    }
	    for (framePtr = iPtr->varFramePtr; framePtr != NULL;
		    framePtr = framePtr->callerVarPtr) {
		if (framePtr->level == level) {
		    break;
		}
	    }
	    if (framePtr == NULL) {
		goto levelError;
	    }
	    iPtr->result = Tcl_Merge(framePtr->argc, framePtr->argv);
	    iPtr->dynamic = 1;
	    return TCL_OK;
	}
	sprintf(iPtr->result,
		"wrong # args: should be \"%.50s level [number]\"",
		argv[0]);
	return TCL_ERROR;
    } else if ((c == 'p') && (strncmp(argv[1], "procs", length)) == 0) {
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s procs [pattern]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	flag = PROCS;
	cmdPtr = iPtr->commandPtr;
    } else if ((c == 't') && (strncmp(argv[1], "tclversion", length) == 0)) {

	/*
	 * Note:  TCL_VERSION below is expected to be set with a "-D"
	 * switch in the Makefile.
	 */

	strcpy(iPtr->result, TCL_VERSION);
	return TCL_OK;
    } else if ((c == 'v') && (strncmp(argv[1], "vars", length)) == 0) {
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "wrong # args: should be \"%.50s vars [pattern]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	flag = VARS;
	if (iPtr->varFramePtr == NULL) {
	    varPtr = iPtr->globalPtr;
	} else {
	    varPtr = iPtr->varFramePtr->varPtr;
	}
    } else {
	sprintf(iPtr->result, "bad \"%.50s\" option \"%.50s\": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or vars",
		argv[0], argv[1]);
	return TCL_ERROR;
    }

    /*
     * At this point we have to assemble a list of something or other.
     * Collect them in an expandable argv-argc array.
     */

    if (argc == 3) {
	pattern = argv[2];
    } else {
	pattern = NULL;
    }
    argv = argSpace;
    argSize = ARG_SIZE;
    argc = 0;
    while (1) {
	/*
	 * Increase the size of the argument array if necessary to
	 * accommodate another string.
	 */

	if (argc == argSize) {
	    char **newArgs;

	    argSize *= 2;
	    newArgs = (char **) malloc((unsigned) argSize*sizeof(char *));
	    bcopy((char *) argv, (char *) newArgs, argc*sizeof(char *));
	    if (argv != argSpace) {
		free((char *) argv);
	    }
	    argv = newArgs;
	}

	if ((flag == PROCS) || (flag == CMDS)) {
	    if (flag == PROCS) {
		for ( ; cmdPtr != NULL; cmdPtr = cmdPtr->nextPtr) {
		    if (TclIsProc(cmdPtr)) {
			break;
		    }
		}
	    }
	    if (cmdPtr == NULL) {
		break;
	    }
	    argv[argc] = cmdPtr->name;
	    cmdPtr = cmdPtr->nextPtr;
	} else {
	    if (flag == LOCALS) {
		for ( ; varPtr != NULL; varPtr = varPtr->nextPtr) {
		    if (!(varPtr->flags & VAR_GLOBAL)) {
			break;
		    }
		}
	    }
	    if (varPtr == NULL) {
		break;
	    }
	    argv[argc] = varPtr->name;
	    varPtr = varPtr->nextPtr;
	}
	if ((pattern == NULL)  || Tcl_StringMatch(argv[argc], pattern)) {
	    argc++;
	}
    }

    iPtr->result = Tcl_Merge(argc, argv);
    iPtr->dynamic = 1;
    if (argv != argSpace) {
	free((char *) argv);
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_LengthCmd --
 *
 *	This procedure is invoked to process the "length" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_LengthCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int count;
    char *p;

    if (argc < 2) {
	lengthSyntax:
	sprintf(interp->result,
		"wrong # args: should be \"%.50s value [chars]\"", argv[0]);
	return TCL_ERROR;
    }
    p = argv[1];
    if (argc == 2) {
	char *element;
	int result;

	for (count = 0; *p != 0 ; count++) {
	    result = TclFindElement(interp, p, &element, &p, (int *) NULL,
		    (int *) NULL);
	    if (result != TCL_OK) {
		return result;
	    }
	    if (*element == 0) {
		break;
	    }
	}
    } else if ((argc == 3)
	    && (strncmp(argv[2], "chars", strlen(argv[2])) == 0)) {
	count = strlen(p);
    } else {
	goto lengthSyntax;
    }
    sprintf(interp->result, "%d", count);
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ListCmd --
 *
 *	This procedure is invoked to process the "list" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ListCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    if (argc < 2) {
	sprintf(interp->result,
		"not enough args:  should be \"%.50s arg [arg ...]\"",
		argv[0]);
	return TCL_ERROR;
    }
    interp->result = Tcl_Merge(argc-1, argv+1);
    interp->dynamic = 1;
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_PrintCmd --
 *
 *	This procedure is invoked to process the "print" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_PrintCmd(notUsed, interp, argc, argv)
    ClientData notUsed;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref notUsed
    FILE *f;
    int result;

    if ((argc < 2) || (argc > 4)) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s string [file [append]]\"",
		argv[0]);
	return TCL_ERROR;
    }

    if (argc == 2) {
	f = stdout;
    } else {
	if (argc == 4) {
	    if (strncmp(argv[3], "append", strlen(argv[3])) != 0) {
		sprintf(interp->result,
			"bad option \"%.50s\":  must be \"append\"",
			argv[3]);
		return TCL_ERROR;
	    }
	    f = fopen(argv[2], "a");
	} else {
	    f = fopen(argv[2], "w");
	}
	if (f == NULL) {
	    sprintf(interp->result, "couldn't open \"%.50s\": %.80s",
		    argv[2], strerror(errno));
	    return TCL_ERROR;
	}
    }
    fputs(argv[1], f);
    if (argc == 2) {
	result = fflush(stdout);
    } else {
	result = fclose(f);
    }
    if (result == EOF) {
	sprintf(interp->result, "I/O error while writing: %.50s",
		strerror(errno));
	return TCL_ERROR;
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_RangeCmd --
 *
 *	This procedure is invoked to process the "range" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_RangeCmd(notUsed, interp, argc, argv)
    ClientData notUsed;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref notUsed
    int first, last, result;
    char *begin, *end, c, *dummy;
    int count;

    if (argc < 4) {
	rangeSyntax:
	sprintf(interp->result, "wrong #/type of args: should be \"%.50s value first last [chars]\"",
		argv[0]);
	return TCL_ERROR;
    }
    first = atoi(argv[2]);
    if (!isdigit(*argv[2]) || (first < 0)) {
	sprintf(interp->result, "bad range specifier \"%.50s\"", argv[2]);
	return TCL_ERROR;
    }
    if ((*argv[3] == 'e') && (strncmp(argv[3], "end", strlen(argv[3])) == 0)) {
	last = -1;
    } else {
	last = atoi(argv[3]);
	if (!isdigit(*argv[3]) || (last < 0)) {
	    sprintf(interp->result, "bad range specifier \"%.50s\"", argv[3]);
	    return TCL_ERROR;
	}
    }

    if (argc == 5) {
	count = strlen(argv[4]);
	if ((count == 0) || (strncmp(argv[4], "chars", count) != 0)) {
	    goto rangeSyntax;
	}

	/*
	 * Extract a range of characters.
	 */

	count = strlen(argv[1]);
	if (first >= count) {
	    interp->result = "";
	    return TCL_OK;
	}
	begin = argv[1] + first;
	if ((last == -1) || (last >= count)) {
	    last = count;
	} else if (last < first) {
	    interp->result = "";
	    return TCL_OK;
	}
	end = argv[1] + last + 1;
    } else {
	if (argc != 4) {
	    goto rangeSyntax;
	}

	/*
	 * Extract a range of fields.
	 */

	for (count = 0, begin = argv[1]; count < first; count++) {
	    result = TclFindElement(interp, begin, &dummy, &begin, (int *) NULL,
		    (int *) NULL);
	    if (result != TCL_OK) {
		return result;
	    }
	    if (*begin == 0) {
		break;
	    }
	}
	if (last == -1) {
	    Tcl_Return(interp, begin, TCL_VOLATILE);
	    return TCL_OK;
	}
	if (last < first) {
	    interp->result = "";
	    return TCL_OK;
	}
	for (count = first, end = begin; (count <= last) && (*end != 0);
		count++) {
	    result = TclFindElement(interp, end, &dummy, &end, (int *) NULL,
		    (int *) NULL);
	    if (result != TCL_OK) {
		return result;
	    }
	}

	/*
	 * Chop off trailing spaces.
	 */

	while (isspace(end[-1])) {
	    end--;
	}
    }
    c = *end;
    *end = 0;
    Tcl_Return(interp, begin, TCL_VOLATILE);
    *end = c;
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_RenameCmd --
 *
 *	This procedure is invoked to process the "rename" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_RenameCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register Command *oldPtr, *newPtr;
    Interp *iPtr = (Interp *) interp;

    if (argc != 3) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s oldName newName\"",
		argv[0]);
	return TCL_ERROR;
    }
    if (argv[2][0] == '\0') {
	Tcl_DeleteCommand(interp, argv[1]);
	return TCL_OK;
    }
    newPtr = TclFindCmd(iPtr, argv[2], 0);
    if (newPtr != NULL) {
	sprintf(interp->result, "can't rename to \"%.50s\": already exists",
		argv[2]);
	return TCL_ERROR;
    }
    oldPtr = TclFindCmd(iPtr, argv[1], 0);
    if (oldPtr == NULL) {
	sprintf(interp->result,
		"can't rename \"%.50s\":  command doesn't exist",
		argv[1]);
	return TCL_ERROR;
    }
    iPtr->commandPtr = oldPtr->nextPtr;
    newPtr = (Command *) malloc(CMD_SIZE(strlen(argv[2])));
    newPtr->proc = oldPtr->proc;
    newPtr->clientData = oldPtr->clientData;
    newPtr->deleteProc = oldPtr->deleteProc;
    newPtr->nextPtr = iPtr->commandPtr;
    iPtr->commandPtr = newPtr;
    strcpy(newPtr->name, argv[2]);
    free((char *) oldPtr);
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ReturnCmd --
 *
 *	This procedure is invoked to process the "return" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ReturnCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    if (argc > 2) {
	sprintf(interp->result, "too many args: should be \"%.50s [value]\"",
		argv[0]);
	return TCL_ERROR;
    }
    if (argc == 2) {
	Tcl_Return(interp, argv[1], TCL_VOLATILE);
    }
    return TCL_RETURN;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ScanCmd --
 *
 *	This procedure is invoked to process the "scan" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ScanCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int arg1Length;			/* Number of bytes in argument to be
					 * scanned.  This gives an upper limit
					 * on string field sizes. */
#   define MAX_FIELDS 20
    typedef struct {
	char fmt;			/* Format for field. */
	int size;			/* How many bytes to allow for
					 * field. */
	char *location;			/* Where field will be stored. */
    } Field;
    Field fields[MAX_FIELDS];		/* Info about all the fields in the
					 * format string. */
    register Field *curField;
    int numFields = 0;			/* Number of fields actually
					 * specified. */
    int suppress;			/* Current field is assignment-
					 * suppressed. */
    int totalSize = 0;			/* Number of bytes needed to store
					 * all results combined. */
    char *results;			/* Where scanned output goes.  */
    int numScanned;			/* sscanf's result. */
    register char *fmt;
    int i;

    if (argc < 3) {
	sprintf(interp->result,
		"too few args: should be \"%.50s string format varName ...\"",
		argv[0]);
	return TCL_ERROR;
    }

    /*
     * This procedure operates in four stages:
     * 1. Scan the format string, collecting information about each field.
     * 2. Allocate an array to hold all of the scanned fields.
     * 3. Call sscanf to do all the dirty work, and have it store the
     *    parsed fields in the array.
     * 4. Pick off the fields from the array and assign them to variables.
     */

    arg1Length = (strlen(argv[1]) + 4) & ~03;
    for (fmt = argv[2]; *fmt != 0; fmt++) {
	if (*fmt != '%') {
	    continue;
	}
	fmt++;
	if (*fmt == '*') {
	    suppress = 1;
	    fmt++;
	} else {
	    suppress = 0;
	}
	while (isdigit(*fmt)) {
	    fmt++;
	}
	if (suppress) {
	    continue;
	}
	if (numFields == MAX_FIELDS) {
	    sprintf(interp->result,
		    "can't have more than %d fields in \"%.50s\"", MAX_FIELDS,
		    argv[0]);
	    return TCL_ERROR;
	}
	curField = &fields[numFields];
	numFields++;
	switch (*fmt) {
	    case 'D':
	    case 'O':
	    case 'X':
	    case 'd':
	    case 'o':
	    case 'x':
		curField->fmt = 'd';
		curField->size = sizeof(int);
		break;

	    case 's':
		curField->fmt = 's';
		curField->size = arg1Length;
		break;

	    case 'c':
		curField->fmt = 'c';
		curField->size = sizeof(int);
		break;

	    case 'E':
	    case 'F':
		curField->fmt = 'F';
		curField->size = 8;
		break;

	    case 'e':
	    case 'f':
		curField->fmt = 'f';
		curField->size = 4;
		break;

	    case '[':
		curField->fmt = 's';
		curField->size = arg1Length;
		do {
		    fmt++;
		} while (*fmt != ']');
		break;

	    default:
		sprintf(interp->result, "bad scan conversion character \"%c\"",
			*fmt);
		return TCL_ERROR;
	}
	totalSize += curField->size;
    }

    if (numFields != (argc-3)) {
	interp->result =
		"different numbers of variable names and field specifiers";
	return TCL_ERROR;
    }

    /*
     * Step 2:
     */

    results = (char *) malloc((unsigned) totalSize);
    for (i = 0, totalSize = 0, curField = fields;
	    i < numFields; i++, curField++) {
	curField->location = results + totalSize;
	totalSize += curField->size;
    }

    /*
     * Step 3:
     */

    numScanned = sscanf(argv[1], argv[2],
	    fields[0].location, fields[1].location, fields[2].location,
	    fields[3].location, fields[4].location);

    /*
     * Step 4:
     */

    if (numScanned < numFields) {
	numFields = numScanned;
    }
    for (i = 0, curField = fields; i < numFields; i++, curField++) {
	switch (curField->fmt) {
	    char string[30];

	    case 'd':
		sprintf(string, "%d", *((int *) curField->location));
		Tcl_SetVar(interp, argv[i+3], string, 0);
		break;

	    case 'c':
		sprintf(string, "%d", *((char *) curField->location) & 0xff);
		Tcl_SetVar(interp, argv[i+3], string, 0);
		break;

	    case 's':
		Tcl_SetVar(interp, argv[i+3], curField->location, 0);
		break;

	    case 'F':
		sprintf(string, "%g", *((double *) curField->location));
		Tcl_SetVar(interp, argv[i+3], string, 0);
		break;

	    case 'f':
		sprintf(string, "%g", *((float *) curField->location));
		Tcl_SetVar(interp, argv[i+3], string, 0);
		break;
	}
    }
    free(results);
    sprintf(interp->result, "%d", numScanned);
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SourceCmd --
 *
 *	This procedure is invoked to process the "source" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_SourceCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int fileId, result;
    struct stat statBuf;
    char *cmdBuffer, *end;
    char *fileName;

    if (argc != 2) {
	sprintf(interp->result, "wrong # args: should be \"%.50s fileName\"",
		argv[0]);
	return TCL_ERROR;
    }
    fileName = Tcl_TildeSubst(interp, argv[1]);
    if (fileName == NULL) {
	return TCL_ERROR;
    }
    fileId = open(fileName, O_RDONLY, 0);
    if (fileId < 0) {
	sprintf(interp->result, "couldn't read file \"%.50s\"", argv[1]);
	return TCL_ERROR;
    }
    if (fstat(fileId, &statBuf) == -1) {
	sprintf(interp->result, "couldn't stat file \"%.50s\"", argv[1]);
	close(fileId);
	return TCL_ERROR;
    }
    cmdBuffer = (char *) malloc((unsigned) statBuf.st_size+1);
    if (read(fileId, cmdBuffer, (int) statBuf.st_size) != statBuf.st_size) {
	sprintf(interp->result, "error in reading file \"%.50s\"", argv[1]);
	close(fileId);
	return TCL_ERROR;
    }
    close(fileId);
    cmdBuffer[statBuf.st_size] = 0;
    result = Tcl_Eval(interp, cmdBuffer, 0, &end);
    if (result == TCL_RETURN) {
	result = TCL_OK;
    }
    if (result == TCL_ERROR) {
	char msg[100];

	/*
	 * Record information telling where the error occurred.
	 */

	sprintf(msg, " (file \"%.50s\" line %d)", argv[1], interp->errorLine);
	Tcl_AddErrorInfo(interp, msg);
    }
    free(cmdBuffer);
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_StringCmd --
 *
 *	This procedure is invoked to process the "string" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_StringCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int length;
    register char *p, c;
    int match;
    int first;

    if (argc != 4) {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s option a b\"",
		argv[0]);
	return TCL_ERROR;
    }
    length = strlen(argv[1]);
    if (strncmp(argv[1], "compare", length) == 0) {
	match = strcmp(argv[2], argv[3]);
	if (match > 0) {
	    interp->result = "1";
	} else if (match < 0) {
	    interp->result = "-1";
	} else {
	    interp->result = "0";
	}
	return TCL_OK;
    }
    if (strncmp(argv[1], "first", length) == 0) {
	first = 1;
    } else if (strncmp(argv[1], "last", length) == 0) {
	first = 0;
    } else if (strncmp(argv[1], "match", length) == 0) {
	if (Tcl_StringMatch(argv[3], argv[2]) != 0) {
	    interp->result = "1";
	} else {
	    interp->result = "0";
	}
	return TCL_OK;
    } else {
	sprintf(interp->result,
		"bad \"%.50s\" option \"%.50s\": must be compare, first, or last",
		argv[0], argv[1]);
	return TCL_ERROR;
    }
    match = -1;
    c = *argv[2];
    length = strlen(argv[2]);
    for (p = argv[3]; *p != 0; p++) {
	if (*p != c) {
	    continue;
	}
	if (strncmp(argv[2], p, length) == 0) {
	    match = p-argv[3];
	    if (first) {
		break;
	    }
	}
    }
    sprintf(interp->result, "%d", match);
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_TimeCmd --
 *
 *	This procedure is invoked to process the "time" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_TimeCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    int count, i, result;
    struct tms start, stop;
    int micros;
    double timePer;

    if (argc == 2) {
	count = 1;
    } else if (argc == 3) {
	if (sscanf(argv[2], "%d", &count) != 1) {
	    sprintf(interp->result, "bad count \"%.50s\" given to \"%.50s\"",
		    argv[2], argv[0]);
	    return TCL_ERROR;
	}
    } else {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s command [count]\"",
		argv[0]);
	return TCL_ERROR;
    }
    times(&start);
    for (i = count ; i > 0; i--) {
	result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
	if (result != TCL_OK) {
	    if (result == TCL_ERROR) {
		char msg[60];
		sprintf(msg, " (\"time\" body line %d)", interp->errorLine);
		Tcl_AddErrorInfo(interp, msg);
	    }
	    return result;
	}
    }
    times(&stop);
    micros = (stop.tms_utime - start.tms_utime)*1000000;
    timePer = micros;
    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
    sprintf(interp->result, "%.0f microseconds per iteration", timePer/count);
    return TCL_OK;
}
0707070035050510661006660011710000040000010722100466302744600001600000042105tcl/tclExpr.c/* 
 * tclExpr.c --
 *
 *	This file contains the code to evaluate expressions for
 *	Tcl.
 *
 * Copyright 1987 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include <stdio.h>
#include <ctype.h>
#include "tcl.h"
#include "tclInt.h"

/*
 * The data structure below describes the state of parsing an expression.
 * It's passed among the routines in this module.
 */

typedef struct {
    Tcl_Interp *interp;		/* Intepreter to use for command execution
				 * and variable lookup. */
    char *originalExpr;		/* The entire expression, as originally
				 * passed to Tcl_Expr. */
    char *expr;			/* Position to the next character to be
				 * scanned from the expression string. */
    int token;			/* Type of the last token to be parsed from
				 * expr.  See below for definitions.
				 * Corresponds to the characters just
				 * before expr. */
    int number;			/* If token is NUMBER, gives value of
				 * the number. */
} ExprInfo;

/*
 * The token types are defined below.  In addition, there is a table
 * associating a precedence with each operator.  The order of types
 * is important.  Consult the code before changing it.
 */

#define NUMBER		0
#define OPEN_PAREN	1
#define CLOSE_PAREN	2
#define END		3
#define UNKNOWN		4

/*
 * Binary operators:
 */

#define MULT		8
#define DIVIDE		9
#define MOD		10
#define PLUS		11
#define MINUS		12
#define LEFT_SHIFT	13
#define RIGHT_SHIFT	14
#define LESS		15
#define GREATER		16
#define LEQ		17
#define GEQ		18
#define EQUAL		19
#define NEQ		20
#define BIT_AND		21
#define BIT_XOR		22
#define BIT_OR		23
#define AND		24
#define OR		25
#define QUESTY		26
#define COLON		27

/*
 * Unary operators:
 */

#define	UNARY_MINUS	28
#define NOT		29
#define BIT_NOT		30

/*
 * Precedence table.  The values for non-operator token types are ignored.
 */

int precTable[] = {
    0, 0, 0, 0, 0, 0, 0, 0,
    11, 11, 11,				/* MULT, DIVIDE, MOD */
    10, 10,				/* PLUS, MINUS */
    9, 9,				/* LEFT_SHIFT, RIGHT_SHIFT */
    8, 8, 8, 8,				/* LESS, GREATER, LEQ, GEQ */
    7, 7,				/* EQUAL, NEQ */
    6,					/* BIT_AND */
    5,					/* BIT_XOR */
    4,					/* BIT_OR */
    3,					/* AND */
    2,					/* OR */
    1, 1,				/* QUESTY, COLON */
    12, 12, 12				/* UNARY_MINUS, NOT, BIT_NOT */
};

/*
 *----------------------------------------------------------------------
 *
 * ExprGetNum --
 *
 *	Parse off a number from a string.
 *
 * Results:
 *	The return value is the integer value corresponding to the
 *	leading digits of string.  If termPtr isn't NULL, *termPtr
 *	is filled in with the address of the character after the
 *	last one that is part of the number.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
ExprGetNum(string, termPtr)
    register char *string;		/* ASCII representation of number.
					 * If leading digit is "0" then read
					 * in base 8;  if "0x", then read in
					 * base 16. */
    register char **termPtr;		/* If non-NULL, fill in with address
					 * of terminating character. */
{
    int result, sign;
    register char c;

    c = *string;
    result = 0;
    if (c == '-') {
	sign = -1;
	string++; c = *string;
    } else {
	sign = 1;
    }
    if (c == '0') {
	string++; c = *string;
	if (c == 'x') {
	    while (1) {
		string++; c = *string;
		if ((c >= '0') && (c <= '9')) {
		    result = (result << 4) + (c - '0');
		} else if ((c >= 'a') && (c <= 'f')) {
		    result = (result << 4) + 10 + (c - 'a');
		} else if ((c >= 'A') && (c <= 'F')) {
		    result = (result << 4) + 10 + (c - 'A');
		} else {
		    break;
		}
	    }
	} else {
	    while ((c >= '0') && (c <= '7')) {
		result = (result << 3) + (c - '0');
		string++;  c = *string;
	    }
	}
    } else {
	while ((c >= '0') && (c <= '9')) {
	    result = (result*10) + (c - '0');
	    string++;  c = *string;
	}
    }
    if (termPtr != NULL) {
	*termPtr = string;
    }
    return result*sign;
}

/*
 *----------------------------------------------------------------------
 *
 * ExprLex --
 *
 *	Lexical analyzer for expression parser.
 *
 * Results:
 *	TCL_OK is returned unless an error occurred while doing lexical
 *	analysis or executing an embedded command.  In that case a
 *	standard Tcl error is returned, using interp->result to hold
 *	an error message.  In the event of a successful return, the token
 *	and (possibly) number fields in infoPtr are updated to refer to
 *	the next symbol in the expression string, and the expr field is
 *	advanced.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
ExprLex(interp, infoPtr)
    Tcl_Interp *interp;			/* Interpreter to use for error
					 * reporting. */
    register ExprInfo *infoPtr;		/* Describes the state of the parse. */
{
    register char *p, c;
    char *var, *term;
    int result;

    /*
     * The next token is either:
     * (a)	a variable name (indicated by a $ sign plus a variable
     *		name in the standard Tcl fashion);  lookup the value
     *		of the variable and return its numeric equivalent as a
     *		number.
     * (b)	an embedded command (anything between '[' and ']').
     *		Execute the command and convert its result to a number.
     * (c)	a series of decimal digits.  Convert it to a number.
     * (d)	space:  skip it.
     * (d)	an operator.  See what kind it is.
     */

    p = infoPtr->expr;
    c = *p;
    while (isspace(c)) {
	p++;  c = *p;
    }
    infoPtr->expr = p+1;
    switch (c) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	    infoPtr->token = NUMBER;
	    infoPtr->number = ExprGetNum(p, &infoPtr->expr);
	    return TCL_OK;

	case '$':
	    infoPtr->token = NUMBER;
	    var = Tcl_ParseVar(infoPtr->interp, p, &infoPtr->expr);
	    if (var == NULL) {
		return TCL_ERROR;
	    }
	    if (((Interp *) infoPtr->interp)->noEval) {
		infoPtr->number = 0;
		return TCL_OK;
	    }
	    infoPtr->number = ExprGetNum(var, &term);
	    if ((term == var) || (*term != 0)) {
		c = *infoPtr->expr;
		*infoPtr->expr = 0;
		Tcl_Return(interp, (char *) NULL, TCL_STATIC);
		sprintf(interp->result,
			"variable \"%.50s\" contained non-numeric value \"%.50s\"",
			p, var);
		*infoPtr->expr = c;
		return TCL_ERROR;
	    }
	    return TCL_OK;

	case '[':
	    infoPtr->token = NUMBER;
	    result = Tcl_Eval(infoPtr->interp, p+1, TCL_BRACKET_TERM,
		    &infoPtr->expr);
	    if (result != TCL_OK) {
		return result;
	    }
	    infoPtr->expr++;
	    if (((Interp *) infoPtr->interp)->noEval) {
		infoPtr->number = 0;
		Tcl_Return(interp, (char *) NULL, TCL_STATIC);
		return TCL_OK;
	    }
	    infoPtr->number = ExprGetNum(interp->result, &term);
	    if ((term == interp->result) || (*term != 0)) {
		char string[200];
		infoPtr->expr[-1];
		infoPtr->expr[-1] = 0;
		sprintf(string, "command \"%.50s\" returned non-numeric result \"%.50s\"",
			p+1, interp->result);
		infoPtr->expr[-1] = c;
		Tcl_Return(interp, string, TCL_VOLATILE);
		return TCL_ERROR;
	    }
	    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	    return TCL_OK;

	case '(':
	    infoPtr->token = OPEN_PAREN;
	    return TCL_OK;

	case ')':
	    infoPtr->token = CLOSE_PAREN;
	    return TCL_OK;

	case '*':
	    infoPtr->token = MULT;
	    return TCL_OK;

	case '/':
	    infoPtr->token = DIVIDE;
	    return TCL_OK;

	case '%':
	    infoPtr->token = MOD;
	    return TCL_OK;

	case '+':
	    infoPtr->token = PLUS;
	    return TCL_OK;

	case '-':
	    infoPtr->token = MINUS;
	    return TCL_OK;

	case '?':
	    infoPtr->token = QUESTY;
	    return TCL_OK;

	case ':':
	    infoPtr->token = COLON;
	    return TCL_OK;

	case '<':
	    switch (p[1]) {
		case '<':
		    infoPtr->expr = p+2;
		    infoPtr->token = LEFT_SHIFT;
		    break;
		case '=':
		    infoPtr->expr = p+2;
		    infoPtr->token = LEQ;
		    break;
		default:
		    infoPtr->token = LESS;
		    break;
	    }
	    return TCL_OK;

	case '>':
	    switch (p[1]) {
		case '>':
		    infoPtr->expr = p+2;
		    infoPtr->token = RIGHT_SHIFT;
		    break;
		case '=':
		    infoPtr->expr = p+2;
		    infoPtr->token = GEQ;
		    break;
		default:
		    infoPtr->token = GREATER;
		    break;
	    }
	    return TCL_OK;

	case '=':
	    if (p[1] == '=') {
		infoPtr->expr = p+2;
		infoPtr->token = EQUAL;
	    } else {
		infoPtr->token = UNKNOWN;
	    }
	    return TCL_OK;

	case '!':
	    if (p[1] == '=') {
		infoPtr->expr = p+2;
		infoPtr->token = NEQ;
	    } else {
		infoPtr->token = NOT;
	    }
	    return TCL_OK;

	case '&':
	    if (p[1] == '&') {
		infoPtr->expr = p+2;
		infoPtr->token = AND;
	    } else {
		infoPtr->token = BIT_AND;
	    }
	    return TCL_OK;

	case '^':
	    infoPtr->token = BIT_XOR;
	    return TCL_OK;

	case '|':
	    if (p[1] == '|') {
		infoPtr->expr = p+2;
		infoPtr->token = OR;
	    } else {
		infoPtr->token = BIT_OR;
	    }
	    return TCL_OK;

	case '~':
	    infoPtr->token = BIT_NOT;
	    return TCL_OK;

	case 0:
	    infoPtr->token = END;
	    infoPtr->expr = p;
	    return TCL_OK;

	default:
	    infoPtr->expr = p+1;
	    infoPtr->token = UNKNOWN;
	    return TCL_OK;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * ExprGetValue --
 *
 *	Parse a "value" from the remainder of the expression in infoPtr.
 *
 * Results:
 *	Normally TCL_OK is returned.  The value of the parsed number is
 *	returned in infoPtr->number.  If an error occurred, then
 *	interp->result contains an error message and TCL_ERROR is returned.
 *
 * Side effects:
 *	Information gets parsed from the remaining expression, and the
 *	expr and token fields in infoPtr get updated.  Information is
 *	parsed until either the end of the expression is reached (null
 *	character or close paren), an error occurs, or a binary operator
 *	is encountered with precedence <= prec.  In any of these cases,
 *	infoPtr->token will be left pointing to the token AFTER the
 *	expression.
 *
 *----------------------------------------------------------------------
 */

int
ExprGetValue(interp, infoPtr, prec)
    Tcl_Interp *interp;			/* Interpreter to use for error
					 * reporting. */
    register ExprInfo *infoPtr;		/* Describes the state of the parse
					 * just before the value (i.e. ExprLex
					 * will be called to get first token
					 * of value). */
    int prec;				/* Treat any un-parenthesized operator
					 * with precedence <= this as the end
					 * of the expression. */
{
    Interp *iPtr = (Interp *) interp;
    int result, operator, operand;
    int gotOp;				/* Non-zero means already lexed the
					 * operator (while picking up value
					 * for unary operator).  Don't lex
					 * again. */

    /*
     * There are two phases to this procedure.  First, pick off an initial
     * value.  Then, parse (binary operator, value) pairs until done.
     */

    gotOp = 0;
    result = ExprLex(interp, infoPtr);
    if (result != TCL_OK) {
	return result;
    }
    if (infoPtr->token == OPEN_PAREN) {

	/*
	 * Parenthesized sub-expression.
	 */

	result = ExprGetValue(interp, infoPtr, -1);
	if (result != TCL_OK) {
	    return result;
	}
	if (infoPtr->token != CLOSE_PAREN) {
	    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	    sprintf(interp->result,
		    "unmatched parentheses in expression \"%.50s\"",
		    infoPtr->originalExpr);
	    return TCL_ERROR;
	}
    } else {
	if (infoPtr->token == MINUS) {
	    infoPtr->token = UNARY_MINUS;
	}
	if (infoPtr->token >= UNARY_MINUS) {

	    /*
	     * Process unary operators.
	     */

	    operator = infoPtr->token;
	    result = ExprGetValue(interp, infoPtr, precTable[infoPtr->token]);
	    if (result != TCL_OK) {
		return result;
	    }
	    switch (operator) {
		case UNARY_MINUS:
		    infoPtr->number = -infoPtr->number;
		    break;
		case NOT:
		    infoPtr->number = !infoPtr->number;
		    break;
		case BIT_NOT:
		    infoPtr->number = ~infoPtr->number;
		    break;
	    }
	    gotOp = 1;
	} else if (infoPtr->token != NUMBER) {
	    goto syntaxError;
	}
    }

    /*
     * Got the first operand.  Now fetch (operator, operand) pairs.
     */

    if (!gotOp) {
	result = ExprLex(interp, infoPtr);
	if (result != TCL_OK) {
	    return result;
	}
    }
    while (1) {
	operand = infoPtr->number;
	operator = infoPtr->token;
	if ((operator < MULT) || (operator >= UNARY_MINUS)) {
	    if ((operator == END) || (operator == CLOSE_PAREN)) {
		return TCL_OK;
	    } else {
		goto syntaxError;
	    }
	}
	if (precTable[operator] <= prec) {
	    return TCL_OK;
	}

	/*
	 * If we're doing an AND or OR and the first operand already
	 * determines the result, don't execute anything in the
	 * second operand:  just parse.  Same style for ?: pairs.
	 */

	if (((operator == AND) && !operand)
		|| ((operator == OR) && operand)) {
	    iPtr->noEval++;
	    result = ExprGetValue(interp, infoPtr, precTable[operator]);
	    iPtr->noEval--;
	} else if (operator == QUESTY) {
	    if (operand != 0) {
		result = ExprGetValue(interp, infoPtr, precTable[operator]);
		operand = infoPtr->number;
		if (result != TCL_OK)
		    return result;
		if (infoPtr->token != COLON)
		    goto syntaxError;
		iPtr->noEval++;
		result = ExprGetValue(interp, infoPtr, precTable[operator]);
		iPtr->noEval--;
	    } else {
		iPtr->noEval++;
		result = ExprGetValue(interp, infoPtr, precTable[operator]);
		iPtr->noEval--;
		if (result != TCL_OK)
		    return result;
		if (infoPtr->token != COLON)
		    goto syntaxError;
		result = ExprGetValue(interp, infoPtr, precTable[operator]);
		operand = infoPtr->number;
	    }
	    infoPtr->number = operand;
	} else {
	    result = ExprGetValue(interp, infoPtr, precTable[operator]);
	}
	if (result != TCL_OK) {
	    return result;
	}
	if ((infoPtr->token < MULT) && (infoPtr->token != NUMBER)
		&& (infoPtr->token != END)
		&& (infoPtr->token != CLOSE_PAREN)) {
	    goto syntaxError;
	}
	switch (operator) {
	    case MULT:
		infoPtr->number = operand * infoPtr->number;
		break;
	    case DIVIDE:
		if (infoPtr->number == 0) {
		    Tcl_Return(interp, "divide by zero", TCL_STATIC);
		    return TCL_ERROR;
	        }
		infoPtr->number = operand / infoPtr->number;
		break;
	    case MOD:
		if (infoPtr->number == 0) {
		    Tcl_Return(interp, "divide by zero", TCL_STATIC);
		    return TCL_ERROR;
	        }
		infoPtr->number = operand % infoPtr->number;
		break;
	    case PLUS:
		infoPtr->number = operand + infoPtr->number;
		break;
	    case MINUS:
		infoPtr->number = operand - infoPtr->number;
		break;
	    case LEFT_SHIFT:
		infoPtr->number = operand << infoPtr->number;
		break;
	    case RIGHT_SHIFT:
		infoPtr->number = operand >> infoPtr->number;
		break;
	    case LESS:
		infoPtr->number = operand < infoPtr->number;
		break;
	    case GREATER:
		infoPtr->number = operand > infoPtr->number;
		break;
	    case LEQ:
		infoPtr->number = operand <= infoPtr->number;
		break;
	    case GEQ:
		infoPtr->number = operand >= infoPtr->number;
		break;
	    case EQUAL:
		infoPtr->number = operand == infoPtr->number;
		break;
	    case NEQ:
		infoPtr->number = operand != infoPtr->number;
		break;
	    case BIT_AND:
		infoPtr->number = operand & infoPtr->number;
		break;
	    case BIT_XOR:
		infoPtr->number = operand ^ infoPtr->number;
		break;
	    case BIT_OR:
		infoPtr->number = operand | infoPtr->number;
		break;
	    case AND:
		infoPtr->number = operand && infoPtr->number;
		break;
	    case OR:
		infoPtr->number = operand || infoPtr->number;
		break;
	}
    }

    syntaxError:
    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
    sprintf(interp->result, "syntax error in expression \"%.50s\"",
	    infoPtr->originalExpr);
    return TCL_ERROR;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Expr --
 *
 *	Parse and evaluate an expression.
 *
 * Results:
 *	The return value is TCL_OK if the expression was correctly parsed;
 *	if there was a syntax error or some other error during parsing,
 *	then another Tcl return value is returned and Tcl_Result points
 *	to an error message.  If all went well, *valuePtr is filled in
 *	with the result corresponding to the expression string.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_Expr(interp, string, valuePtr)
    Tcl_Interp *interp;		/* Intepreter to use for variables etc. */
    char *string;		/* Expression to evaluate. */
    int *valuePtr;		/* Where to store result of evaluation. */
{
    ExprInfo info;
    int result;

    info.interp = interp;
    info.originalExpr = string;
    info.expr = string;
    result = ExprGetValue(interp, &info, -1);
    if (result != TCL_OK) {
	return result;
    }
    if (info.token != END) {
	Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	sprintf(interp->result, "syntax error in expression \"%.50s\"", string);
	return TCL_ERROR;
    }
    *valuePtr = info.number;
    return TCL_OK;
}
0707070035050510641006660011710000040000010535710466302652700001600000033345tcl/tclGlob.c/* 
 * tclGlob.c --
 *
 *	This file provides procedures and commands for file name
 *	manipulation, such as tilde expansion and globbing.
 *
 * Copyright 1990 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include <stdio.h>
#include <errno.h>
#include <pwd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <tcl.h>
#include "tclInt.h"

/*
 * The structure below is used to keep track of a globbing result
 * being built up (i.e. a partial list of file names).  The list
 * grows dynamically to be as big as needed.
 */

typedef struct {
    char *result;		/* Pointer to result area. */
    int totalSpace;		/* Total number of characters allocated
				 * for result. */
    int spaceUsed;		/* Number of characters currently in use
				 * to hold the partial result (not including
				 * the terminating NULL). */
    int dynamic;		/* 0 means result is static space, 1 means
				 * it's dynamic. */
} GlobResult;

/*
 *----------------------------------------------------------------------
 *
 * AppendResult --
 *
 *	Given two parts of a file name (directory and element within
 *	directory), concatenate the two together and add them to a
 *	partially-formed result.
 *
 * Results:
 *	There is no return value.  The structure at *resPtr is modified
 *	to hold more information.
 *
 * Side effects:
 *	Storage may be allocated if we run out of space in *resPtr.
 *
 *----------------------------------------------------------------------
 */

static void
AppendResult(dir, name, nameLength, resPtr)
    char *dir;			/* Name of directory (without trailing
				 * slash). */
    char *name;			/* Name of file withing directory (NOT
				 * necessarily null-terminated!). */
    int nameLength;		/* Number of characters in name. */
    register GlobResult *resPtr;/* Structure in which to append info. */
{
    int dirLength, totalLength;
    char *p;

    /*
     * Make sure there's enough space in the result area for this
     * new name (need two extra chars. besides what's in dir and
     * name, for a separating space after the last name and for a
     * terminating NULL).
     */

    dirLength = strlen(dir);
    totalLength = resPtr->spaceUsed + dirLength + nameLength + 2;
    if (totalLength > resPtr->totalSpace) {
	char *newSpace;
	int newSize;

	newSize = 2*resPtr->totalSpace;
	if (newSize < totalLength) {
	    newSize = totalLength;
	}
	newSpace = malloc((unsigned) newSize);
	bcopy(resPtr->result, newSpace, resPtr->spaceUsed);
	if (resPtr->dynamic) {
	    free(resPtr->result);
	}
	resPtr->result = newSpace;
	resPtr->totalSpace = newSize;
	resPtr->dynamic = 1;
    }

    /*
     * Now append the new information onto the end of the result.
     */

    p = resPtr->result + resPtr->spaceUsed;
    if (resPtr->spaceUsed != 0) {
	*p = ' ';
	p++;
	resPtr->spaceUsed++;
    }
    strcpy(p, dir);
    p += dirLength;
    strncpy(p, name, nameLength);
    p[nameLength] = 0;
    resPtr->spaceUsed += nameLength+dirLength;
}

/*
 *----------------------------------------------------------------------
 *
 * DoGlob --
 *
 *	This recursive procedure forms the heart of the globbing
 *	code.  It performs a depth-first traversal of the tree
 *	given by the path name to be globbed.
 *
 * Results:
 *	The return value is a standard Tcl result indicating whether
 *	an error occurred in globbing.  The result in interp will be
 *	set to hold an error message, if any.  The result pointed
 *	to by resPtr is updated to hold all file names given by
 *	the dir and rem arguments.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

static int
DoGlob(interp, dir, rem, resPtr)
    Tcl_Interp *interp;			/* Interpreter to use for error
					 * reporting (e.g. unmatched brace). */
    char *dir;				/* Name of a directory at which to
					 * start glob expansion.  This name
					 * is fixed: it doesn't contain any
					 * globbing chars.  If it's non-empty
					 * then it should end with a slash. */
    char *rem;				/* Path to glob-expand. */
    GlobResult *resPtr;			/* Where to store fully-expanded file
					 * names.*/
{
    /*
     * When this procedure is entered, the name to be globbed may
     * already have been partly expanded by ancestor invocations of
     * DoGlob.  The part that's already been expanded is in "dir"
     * (this may initially be empty), and the part still to expand
     * is in "rem".  This procedure expands "rem" one level, making
     * recursive calls to itself if there's still more stuff left
     * in the remainder.
     */

    register char *p;
    register char c;
    char *openBrace, *closeBrace;
    int gotSpecial, result;

    /*
     * When generating information for the next lower call,
     * use static areas if the name is short, and malloc if the name
     * is longer.
     */

#define STATIC_SIZE 200

    /*
     * First, find the end of the next element in rem, checking
     * along the way for special globbing characters.
     */

    gotSpecial = 0;
    openBrace = closeBrace = NULL;
    for (p = rem; ; p++) {
	c = *p;
	if ((c == '\0') || (c == '/')) {
	    break;
	}
	if ((c == '{') && (openBrace == NULL)) {
	    openBrace = p;
	}
	if ((c == '}') && (closeBrace == NULL)) {
	    closeBrace = p;
	}
	if ((c == '*') || (c == '[') || (c == '\\') || (c == '?')) {
	    gotSpecial = 1;
	}
    }

    /*
     * If there is an open brace in the argument, then make a recursive
     * call for each element between the braces.  In this case, the
     * recursive call to DoGlob uses the same "dir" that we got.
     * If there are several brace-pairs in a single name, we just handle
     * one here, and the others will be handled in recursive calls.
     */

    if (openBrace != NULL) {
	int remLength, l1, l2;
	char static1[STATIC_SIZE];
	char *element, *newRem;

	if (closeBrace == NULL) {
	    interp->result = "unmatched open-brace in file name";
	    return TCL_ERROR;
	}
	remLength = strlen(rem) + 1;
	if (remLength <= STATIC_SIZE) {
	    newRem = static1;
	} else {
	    newRem = malloc((unsigned) remLength);
	}
	l1 = openBrace-rem;
	strncpy(newRem, rem, l1);
	p = openBrace;
	for (p = openBrace; *p != '}'; ) {
	    element = p+1;
	    for (p = element; ((*p != '}') && (*p != ',')); p++) {
		/* Empty body:  just find end of this element. */
	    }
	    l2 = p - element;
	    strncpy(newRem+l1, element, l2);
	    strcpy(newRem+l1+l2, closeBrace+1);
	    if (DoGlob(interp, dir, newRem, resPtr) != TCL_OK) {
		return TCL_ERROR;
	    }
	}
	if (remLength > STATIC_SIZE) {
	    free(newRem);
	}
	return TCL_OK;
    }

    /*
     * If there were any pattern-matching characters, then scan through
     * the directory to find all the matching names.
     */

    if (gotSpecial) {
	DIR *d;
	struct dirent *entryPtr;
	int l1, l2;
	char *pattern, *newDir;
	char static1[STATIC_SIZE], static2[STATIC_SIZE];
	struct stat statBuf;

	if ((stat(dir, &statBuf) != 0)
		|| !S_ISDIR(statBuf.st_mode)) {
	    return TCL_OK;
	}
	d = opendir(dir);
	if (d == NULL) {
	    sprintf(interp->result,
		    "couldn't read directory \"%.50s\": %.50s",
		    dir, strerror(errno));
	    return TCL_ERROR;
	}
	l1 = strlen(dir);
	l2 = (p - rem);
	if (l2 < STATIC_SIZE) {
	    pattern = static2;
	} else {
	    pattern = malloc((unsigned) (l2+1));
	}
	strncpy(pattern, rem, l2);
	pattern[l2] = '\0';
	result = TCL_OK;
	while (1) {
	    entryPtr = readdir(d);
	    if (entryPtr == NULL) {
		break;
	    }

	    /*
	     * Don't match names starting with "." unless the "." is
	     * present in the pattern.
	     */

	    if ((*entryPtr->d_name == '.') && (*pattern != '.')) {
		continue;
	    }
	    if (Tcl_StringMatch(entryPtr->d_name, pattern)) {
		if (*p == 0) {
		    AppendResult(dir, entryPtr->d_name,
			    (int) entryPtr->d_namlen, resPtr);
		} else {
		    if ((l1+entryPtr->d_namlen+2) <= STATIC_SIZE) {
			newDir = static1;
		    } else {
			newDir = malloc((unsigned) (l1+entryPtr->d_namlen+2));
		    }
		    sprintf(newDir, "%s%s/", dir, entryPtr->d_name);
		    result = DoGlob(interp, newDir, p+1, resPtr);
		    if (newDir != static1) {
			free(newDir);
		    }
		    if (result != TCL_OK) {
			break;
		    }
		}
	    }
	}
	if (pattern != static2) {
	    free(pattern);
	}
	return result;
    }

    /*
     * This is the simplest case:  just another path element.  Move
     * it to the dir side and recurse (or just add the name to the
     * list, if we're at the end of the path).
     */

    if (*p == 0) {
	AppendResult(dir, rem, p-rem, resPtr);
    } else {
	int l1, l2;
	char *newDir;
	char static1[STATIC_SIZE];

	l1 = strlen(dir);
	l2 = l1 + (p - rem) + 2;
	if (l2 <= STATIC_SIZE) {
	    newDir = static1;
	} else {
	    newDir = malloc((unsigned) l2);
	}
	strcpy(newDir, dir);
	strncpy(newDir+l1, rem, p-rem);
	newDir[l2-2] = '/';
	newDir[l2-1] = 0;
	result = DoGlob(interp, newDir, p+1, resPtr);
	if (newDir != static1) {
	    free(newDir);
	}
	if (result != TCL_OK) {
	    return TCL_ERROR;
	}
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_TildeSubst --
 *
 *	Given a name starting with a tilde, produce a name where
 *	the tilde and following characters have been replaced by
 *	the home directory location for the named user.
 *
 * Results:
 *	The result is a pointer to a static string containing
 *	the new name.  This name will only persist until the next
 *	call to Tcl_TildeSubst;  save it if you care about it for
 *	the long term.  If there was an error in processing the
 *	tilde, then an error message is left in interp->result
 *	and the return value is NULL.
 *
 * Side effects:
 *	None that the caller needs to worry about.
 *
 *----------------------------------------------------------------------
 */

char *
Tcl_TildeSubst(interp, name)
    Tcl_Interp *interp;		/* Interpreter in which to store error
				 * message (if necessary). */
    char *name;			/* File name, which may begin with "~/"
				 * (to indicate current user's home directory)
				 * or "~<user>/" (to indicate any user's
				 * home directory). */
{
#define STATIC_BUF_SIZE 50
    static char staticBuf[STATIC_BUF_SIZE];
    static int curSize = STATIC_BUF_SIZE;
    static char *curBuf = staticBuf;
    char *dir;
    int length;
    int fromPw = 0;
    register char *p;

    if (name[0] != '~') {
	return name;
    }

    /*
     * First, find the directory name corresponding to the tilde entry.
     */

    if ((name[1] == '/') || (name[1] == '\0')) {
	dir = getenv("HOME");
	if (dir == NULL) {
	    sprintf(interp->result,
		    "couldn't find HOME env. variable to expand \"%.100s\"",
		    name);
	    return NULL;
	}
	p = name+1;
    } else {
	struct passwd *pwPtr;

	for (p = &name[1]; (*p != 0) && (*p != '/'); p++) {
	    /* Null body;  just find end of name. */
	}
	length = p-&name[1];
	if (length >= curSize) {
	    length = curSize-1;
	}
	bcopy(name+1, curBuf, length);
	curBuf[length] = '\0';
	pwPtr = getpwnam(curBuf);
	if (pwPtr == NULL) {
	    sprintf(interp->result, "user \"%.50s\" doesn't exist", curBuf);
	    return NULL;
	}
	dir = pwPtr->pw_dir;
	fromPw = 1;
    }

    /*
     * Grow the buffer if necessary to make enough space for the
     * full file name.
     */

    length = strlen(dir) + strlen(p);
    if (length >= curSize) {
	if (curBuf != staticBuf) {
	    free(curBuf);
	}
	curSize = length + 1;
	curBuf = malloc((unsigned) curSize);
    }

    /*
     * Finally, concatenate the directory name with the remainder
     * of the path in the buffer.
     */

    strcpy(curBuf, dir);
    strcat(curBuf, p);
    if (fromPw) {
	endpwent();
    }
    return curBuf;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GlobCmd --
 *
 *	This procedure is invoked to process the "glob" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_GlobCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    GlobResult globRes;
    char staticSpace[TCL_RESULT_SIZE];
    int i, result;

    globRes.result = staticSpace;
    globRes.totalSpace = TCL_RESULT_SIZE;
    globRes.spaceUsed = 0;
    globRes.dynamic = 0;
    for (i = 1; i < argc; i++) {
	char *thisName;

	/*
	 * Do special checks for names starting at the root and for
	 * names beginning with ~.  Then let DoGlob do the rest.
	 */

	thisName = argv[i];
	if (*thisName == '~') {
	    thisName = Tcl_TildeSubst(interp, thisName);
	    if (thisName == NULL) {
		return TCL_ERROR;
	    }
	}
	if (*thisName == '/') {
	    result = DoGlob(interp, "/", thisName+1, &globRes);
	} else {
	    result = DoGlob(interp, "", thisName, &globRes);
	}
	if (result != TCL_OK) {
	    goto error;
	}
    }
    if (globRes.spaceUsed == 0) {
	sprintf(interp->result, "no files matched glob pattern(s)");
	result = TCL_ERROR;
	goto error;
    }
    if (globRes.dynamic) {
	interp->result = globRes.result;
	interp->dynamic = 1;
    } else {
	strcpy(interp->result, globRes.result);
    }
    return TCL_OK;

    error:
    if (globRes.dynamic) {
	free(globRes.result);
    }
    return result;
}
0707070035050510631006660011710000040000010737610466302702300002100000073617tcl/tclHistory.c/* 
 * tclHistory.c --
 *
 *	This module implements history as an optional addition to Tcl.
 *	It can be called to record commands ("events") before they are
 *	executed, and it provides a command that may be used to perform
 *	history substitutions.
 *
 * Copyright 1990 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include "tclInt.h"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*
 * This history stuff is mostly straightforward, except for one thing
 * that makes everything very complicated.  Suppose that the following
 * commands get executed:
 *	echo foo
 *	history redo
 * It's important that the history event recorded for the second command
 * be "echo foo", not "history redo".  Otherwise, if another "history redo"
 * command is typed, it will result in infinite recursions on the
 * "history redo" command.  Thus, the actual recorded history must be
 *	echo foo
 *	echo foo
 * To do this, the history command revises recorded history as part of
 * its execution.  In the example above, when "history redo" starts
 * execution, the current event is "history redo", but the history
 * command arranges for the current event to be changed to "echo foo".
 *
 * There are three additional complications.  The first is that history
 * substitution may only be part of a command, as in the following
 * command sequence:
 *	echo foo bar
 *	echo [history word 3]
 * In this case, the second event should be recorded as "echo bar".  Only
 * part of the recorded event is to be modified.  Fortunately, Tcl_Eval
 * helps with this by recording (in the evalFirst and evalLast fields of
 * the intepreter) the location of the command being executed, so the
 * history module can replace exactly the range of bytes corresponding
 * to the history substitution command.
 *
 * The second complication is that there are two ways to revise history:
 * replace a command, and replace the result of a command.  Consider the
 * two examples below:
 *	format {result is %d} $num	   |	format {result is %d} $num
 *	print [history redo]		   |	print [history word 3]
 * Recorded history for these two cases should be as follows:
 *	format {result is %d} $num	   |	format {result is %d} $num
 *	print [format {result is %d} $num] |	print $num
 * In the left case, the history command was replaced with another command
 * to be executed (the brackets were retained), but in the case on the
 * right the result of executing the history command was replaced (i.e.
 * brackets were replaced too).
 *
 * The third complication is that there could potentially be many
 * history substitutions within a single command, as in:
 *	echo [history word 3] [history word 2]
 * There could even be nested history substitutions, as in:
 *	history subs abc [history word 2]
 * If history revisions were made immediately during each "history" command
 * invocations, it would be very difficult to produce the correct cumulative
 * effect from several substitutions in the same command.  To get around
 * this problem, the actual history revision isn't made during the execution
 * of the "history" command.  Information about the changes is just recorded,
 * in xxx records, and the actual changes are made during the next call to
 * Tcl_RecordHistory (when we know that execution of the previous command
 * has finished).
 */

/*
 * Default space allocation for command strings:
 */

#define INITIAL_CMD_SIZE 40

/*
 * Forward declarations for procedures defined later in this file:
 */

static void		DisableRevs();
static void		DoRevs();
static HistoryEvent *	GetEvent();
static char *		GetWords();
static void		HistoryInit();
static void		InsertRev();
static void		MakeSpace();
static void		RevCommand();
static void		RevResult();
static int		SubsAndEval();

/*
 *----------------------------------------------------------------------
 *
 * Tcl_RecordAndEval --
 *
 *	This procedure adds its command argument to the current list of
 *	recorded events and then executes the command by calling Tcl_Eval.
 *
 * Results:
 *	The return value is a standard Tcl return value, the result of
 *	executing cmd.
 *
 * Side effects:
 *	The command is recorded and executed.  In addition, pending history
 *	revisions are carried out, and information is set up to enable
 *	Tcl_Eval to identify history command ranges.  This procedure also
 *	initializes history information for the interpreter, if it hasn't
 *	already been initialized.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_RecordAndEval(interp, cmd, flags)
    Tcl_Interp *interp;		/* Token for interpreter in which command
				 * will be executed. */
    char *cmd;			/* Command to record. */
    int flags;			/* Additional flags to pass to Tcl_Eval. 
				 * TCL_NO_EVAL means only record: don't
				 * execute command. */
{
    register Interp *iPtr = (Interp *) interp;
    register HistoryEvent *eventPtr;
    char *savedFirst;
    int length, result;

    if (iPtr->numEvents == 0) {
	HistoryInit(iPtr, 20);
    }
    DoRevs(iPtr);

    /*
     * Don't record empty commands.
     */

    while (isspace(*cmd)) {
	cmd++;
    }
    if (*cmd == '\0') {
	Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	return TCL_OK;
    }

    iPtr->curEventNum++;
    iPtr->curEvent++;
    if (iPtr->curEvent >= iPtr->numEvents) {
	iPtr->curEvent = 0;
    }
    eventPtr = &iPtr->events[iPtr->curEvent];

    /*
     * Chop off trailing newlines before recording the command.
     */

    length = strlen(cmd);
    while (cmd[length-1] == '\n') {
	length--;
    }
    MakeSpace(eventPtr, length + 1);
    strncpy(eventPtr->command, cmd, length);
    eventPtr->command[length] = 0;

    if (flags == -1) {
	return TCL_OK;
    }

    /*
     * Execute the command.
     */

    savedFirst = iPtr->historyFirst;
    iPtr->historyFirst = cmd;
    result = Tcl_Eval(interp, cmd, flags | TCL_RECORD_BOUNDS, (char **) NULL);
    iPtr->historyFirst = savedFirst;
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_HistoryCmd --
 *
 *	This procedure is invoked to process the "history" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_HistoryCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register Interp *iPtr = (Interp *) interp;
    register HistoryEvent *eventPtr;
    int length;
    char c;

    /*
     * If no arguments, redo last command.
     */

    if (argc == 1) {
	eventPtr = GetEvent(iPtr, "-1");
	if (eventPtr == NULL) {
	    return TCL_ERROR;
	}
	RevCommand(iPtr, eventPtr->command);
	return Tcl_Eval(interp, eventPtr->command, 0, (char **) NULL);
    }

    c = argv[1][0];
    length = strlen(argv[1]);

    if ((c == 'a') && (strncmp(argv[1], "add", length)) == 0) {
	if ((argc != 3) && (argc != 4)) {
	    sprintf(iPtr->result,
		    "wrong # args:  should be \"%.50s add event [exec]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	if (argc == 4) {
	    if (strncmp(argv[3], "exec", strlen(argv[3])) != 0) {
		sprintf(iPtr->result,
			"bad arg \"%.50s\":  should be \"exec\"", argv[3]);
		return TCL_ERROR;
	    }
	    return Tcl_RecordAndEval(interp, argv[2], 0);
	}
	return Tcl_RecordAndEval(interp, argv[2], -1);
    } else if ((c == 'c') && (strncmp(argv[1], "change", length)) == 0) {
	if ((argc != 3) && (argc != 4)) {
	    sprintf(iPtr->result, "wrong # args:  should be \"%.50s change newValue [event]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	if (argc == 3) {
	    eventPtr = &iPtr->events[iPtr->curEvent];
	    DisableRevs(iPtr);
	} else {
	    eventPtr = GetEvent(iPtr, argv[3]);
	    if (eventPtr == NULL) {
		return TCL_ERROR;
	    }
	}
	MakeSpace(eventPtr, strlen(argv[2]) + 1);
	strcpy(eventPtr->command, argv[2]);
	return TCL_OK;
    } else if ((c == 'e') && (strncmp(argv[1], "event", length)) == 0) {
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "too many args:  should be \"%.50s event [event]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	eventPtr = GetEvent(iPtr, argc==2 ? "-1" : argv[2]);
	if (eventPtr == NULL) {
	    return TCL_ERROR;
	}
	RevResult(iPtr, eventPtr->command);
	Tcl_Return(interp, eventPtr->command, TCL_VOLATILE);
	return TCL_OK;
    } else if ((c == 'i') && (strncmp(argv[1], "info", length)) == 0) {
	char *p;
	int count, indx, i;

	if ((argc != 2) && (argc != 3)) {
	    sprintf(iPtr->result,
		    "wrong # args:  should be \"%.50s info [count]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	if (argc == 3) {
	    char *end;

	    count = strtoul(argv[2], &end, 0);
	    if (end == argv[2]) {
		sprintf(iPtr->result, "bad count \"%.50s\"", argv[2]);
		return TCL_ERROR;
	    }
	    if (count > iPtr->numEvents) {
		count = iPtr->numEvents;
	    }
	} else {
	    count = iPtr->numEvents;
	}
	length = 0;
	for (i = 0, indx = iPtr->curEvent + 1 + iPtr->numEvents - count;
		i < count; i++, indx++) {
	    if (indx >= iPtr->numEvents) {
		indx -= iPtr->numEvents;
	    }
	    p = iPtr->events[indx].command;
	    length += 9 + strlen(p);
	    while (1) {
		p = strchr(p, '\n');
		if (p == NULL) {
		    break;
		}
		length++;
		p++;
	    }
	    length += 9 + strlen(iPtr->events[indx].command);
	}
	p = malloc((unsigned) (length+1));
	iPtr->result = p;
	iPtr->dynamic = 1;
	for (i = 0, indx = iPtr->curEvent + 1 + iPtr->numEvents - count;
		i < count; i++, indx++) {
	    char *cur, *next;
	    int length;

	    if (indx >= iPtr->numEvents) {
		indx -= iPtr->numEvents;
	    }
	    cur = iPtr->events[indx].command;
	    if (*cur == '\0') {
		continue;		/* No command recorded here. */
	    }
	    sprintf(p, "%6d  ", iPtr->curEventNum + 1 - (count - i));
	    p += 8;

	    /*
	     * Tricky formatting here:  for multi-line commands, indent
	     * the continuation lines.
	     */

	    while (1) {
		next = strchr(cur, '\n');
		if (next == NULL) {
		    break;
		}
		length = next+1-cur;
		strncpy(p, cur,length);
		cur += length;
		p += length;
		*p = '\t';
		p++;
	    }
	    strcpy(p, cur);
	    p += strlen(p);
	    *p = '\n';
	    p++;
	}
	p[-1] = '\0';
	return TCL_OK;
    } else if ((c == 'k') && (strncmp(argv[1], "keep", length)) == 0) {
	int count, i, src;
	char *end;
	HistoryEvent *events;

	if (argc != 3) {
	    sprintf(iPtr->result,
		    "wrong # args:  should be \"%.50s keep number\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	count = strtoul(argv[2], &end, 0);
	if ((end == argv[2]) || (count > 1000) || (count == 0)) {
	    sprintf(iPtr->result, "bad number \"%.50s\"", argv[2]);
	    return TCL_ERROR;
	}

	/*
	 * Create a new history array and copy as much existing history
	 * as possible from the old array.
	 */

	events = (HistoryEvent *)
		malloc((unsigned) (count * sizeof(HistoryEvent)));
	if (count < iPtr->numEvents) {
	    src = iPtr->curEvent + 1 - count;
	    if (src < 0) {
		src += iPtr->numEvents;
	    }
	} else {
	    src = iPtr->curEvent + 1;
	}
	for (i = 0; i < count; i++, src++) {
	    if (src >= iPtr->numEvents) {
		src = 0;
	    }
	    if (i < iPtr->numEvents) {
		events[i] = iPtr->events[src];
		iPtr->events[src].command = NULL;
	    } else {
		events[i].command = malloc(INITIAL_CMD_SIZE);
		events[i].command[0] = 0;
		events[i].bytesAvl = INITIAL_CMD_SIZE;
	    }
	}

	/*
	 * Throw away everything left in the old history array, and
	 * substitute the new one for the old one.
	 */

	for (i = 0; i < iPtr->numEvents; i++) {
	    if (iPtr->events[i].command != NULL) {
		free(iPtr->events[i].command);
	    }
	}
	free((char *) iPtr->events);
	iPtr->events = events;
	if (count < iPtr->numEvents) {
	    iPtr->curEvent = count-1;
	} else {
	    iPtr->curEvent = iPtr->numEvents-1;
	}
	iPtr->numEvents = count;
	return TCL_OK;
    } else if ((c == 'n') && (strncmp(argv[1], "nextid", length)) == 0) {
	if (argc != 2) {
	    sprintf(iPtr->result, "wrong # args:  should be \"%.50s nextid\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	sprintf(iPtr->result, "%d", iPtr->curEventNum+1);
	return TCL_OK;
    } else if ((c == 'r') && (strncmp(argv[1], "redo", length)) == 0) {
	if (argc > 3) {
	    sprintf(iPtr->result,
		    "too many args:  should be \"%.50s redo [event]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	eventPtr = GetEvent(iPtr, argc==2 ? "-1" : argv[2]);
	if (eventPtr == NULL) {
	    return TCL_ERROR;
	}
	RevCommand(iPtr, eventPtr->command);
	return Tcl_Eval(interp, eventPtr->command, 0, (char **) NULL);
    } else if ((c == 's') && (strncmp(argv[1], "substitute", length)) == 0) {
	if ((argc > 5) || (argc < 4)) {
	    sprintf(iPtr->result, "wrong # args:  should be \"%.50s substitute old new [event]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	eventPtr = GetEvent(iPtr, argc==4 ? "-1" : argv[4]);
	if (eventPtr == NULL) {
	    return TCL_ERROR;
	}
	return SubsAndEval(iPtr, eventPtr->command, argv[2], argv[3]);
    } else if ((c == 'w') && (strncmp(argv[1], "words", length)) == 0) {
	char *words;

	if ((argc != 3) && (argc != 4)) {
	    sprintf(iPtr->result, "wrong # args:  should be \"%.50s words num-num/pat [event]\"",
		    argv[0]);
	    return TCL_ERROR;
	}
	eventPtr = GetEvent(iPtr, argc==3 ? "-1" : argv[3]);
	if (eventPtr == NULL) {
	    return TCL_ERROR;
	}
	words = GetWords(iPtr, eventPtr->command, argv[2]);
	if (words == NULL) {
	    return TCL_ERROR;
	}
	RevResult(iPtr, words);
	iPtr->result = words;
	iPtr->dynamic = 1;
	return TCL_OK;
    }

    sprintf(iPtr->result, "bad \"%.50s\" option \"%.50s\": must be add, change, event, info, keep, nextid, redo, substitute, or words",
		argv[0], argv[1]);
    return TCL_ERROR;
}

/*
 *----------------------------------------------------------------------
 *
 * HistoryInit --
 *
 *	Initialize history-related state in an interpreter.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	History info is initialized in iPtr.
 *
 *----------------------------------------------------------------------
 */

static void
HistoryInit(iPtr, numEvents)
    register Interp *iPtr;		/* Interpreter to initialize. */
    int numEvents;			/* Number of events to retain at
					 * any given time. */
{
    int i;

    iPtr->numEvents = numEvents;
    iPtr->events = (HistoryEvent *)
	    malloc((unsigned) (numEvents * sizeof(HistoryEvent)));
    for (i = 0; i < numEvents; i++) {
	iPtr->events[i].command = malloc(INITIAL_CMD_SIZE);
	*iPtr->events[i].command = 0;
	iPtr->events[i].bytesAvl = INITIAL_CMD_SIZE;
    }
    iPtr->curEvent = 0;
    iPtr->curEventNum = 0;
    Tcl_CreateCommand((Tcl_Interp *) iPtr, "history", Tcl_HistoryCmd,
	    (ClientData) NULL, (void (*)()) NULL);
}

/*
 *----------------------------------------------------------------------
 *
 * MakeSpace --
 *
 *	Given a history event, make sure it has enough space for
 *	a string of a given length (enlarge the string area if
 *	necessary).
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	More memory may get allocated.
 *
 *----------------------------------------------------------------------
 */

static void
MakeSpace(hPtr, size)
    HistoryEvent *hPtr;
    int size;			/* # of bytes needed in hPtr. */
{
    if (hPtr->bytesAvl < size) {
	free(hPtr->command);
	hPtr->command = malloc((unsigned) size);
	hPtr->bytesAvl = size;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * InsertRev --
 *
 *	Add a new revision to the list of those pending for iPtr.
 *	Do it in a way that keeps the revision list sorted in
 *	increasing order of firstIndex.  Also, eliminate revisions
 *	that are subsets of other revisions.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	RevPtr is added to iPtr's revision list.
 *
 *----------------------------------------------------------------------
 */

static void
InsertRev(iPtr, revPtr)
    Interp *iPtr;			/* Interpreter to use. */
    register HistoryRev *revPtr;	/* Revision to add to iPtr's list. */
{
    register HistoryRev *curPtr;
    register HistoryRev *prevPtr;

    for (curPtr = iPtr->revPtr, prevPtr = NULL; curPtr != NULL;
	    prevPtr = curPtr, curPtr = curPtr->nextPtr) {
	/*
	 * If this revision includes the new one (or vice versa) then
	 * just eliminate the one that is a subset of the other.
	 */

	if ((revPtr->firstIndex <= curPtr->firstIndex)
		&& (revPtr->lastIndex >= curPtr->firstIndex)) {
	    curPtr->firstIndex = revPtr->firstIndex;
	    curPtr->lastIndex = revPtr->lastIndex;
	    curPtr->newSize = revPtr->newSize;
	    free(curPtr->newBytes);
	    curPtr->newBytes = revPtr->newBytes;
	    free((char *) revPtr);
	    return;
	}
	if ((revPtr->firstIndex >= curPtr->firstIndex)
		&& (revPtr->lastIndex <= curPtr->lastIndex)) {
	    free(revPtr->newBytes);
	    free((char *) revPtr);
	    return;
	}

	if (revPtr->firstIndex < curPtr->firstIndex) {
	    break;
	}
    }

    /*
     * Insert revPtr just after prevPtr.
     */

    if (prevPtr == NULL) {
	revPtr->nextPtr = iPtr->revPtr;
	iPtr->revPtr = revPtr;
    } else {
	revPtr->nextPtr = prevPtr->nextPtr;
	prevPtr->nextPtr = revPtr;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * RevCommand --
 *
 *	This procedure is invoked by the "history" command to record
 *	a command revision.  See the comments at the beginning of the
 *	file for more information about revisions.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Revision information is recorded.
 *
 *----------------------------------------------------------------------
 */

static void
RevCommand(iPtr, string)
    register Interp *iPtr;	/* Interpreter in which to perform the
				 * substitution. */
    char *string;		/* String to substitute. */
{
    register HistoryRev *revPtr;

    if ((iPtr->evalFirst == NULL) || (iPtr->historyFirst == NULL)) {
	return;
    }
    revPtr = (HistoryRev *) malloc(sizeof(HistoryRev));
    revPtr->firstIndex = iPtr->evalFirst - iPtr->historyFirst;
    revPtr->lastIndex = iPtr->evalLast - iPtr->historyFirst - 1;
    revPtr->newSize = strlen(string);
    revPtr->newBytes = malloc((unsigned) (revPtr->newSize+1));
    strcpy(revPtr->newBytes, string);
    InsertRev(iPtr, revPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * RevResult --
 *
 *	This procedure is invoked by the "history" command to record
 *	a result revision.  See the comments at the beginning of the
 *	file for more information about revisions.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Revision information is recorded.
 *
 *----------------------------------------------------------------------
 */

static void
RevResult(iPtr, string)
    register Interp *iPtr;	/* Interpreter in which to perform the
				 * substitution. */
    char *string;		/* String to substitute. */
{
    register HistoryRev *revPtr;
    char *evalFirst, *evalLast;
    char *argv[2];

    if ((iPtr->evalFirst == NULL) || (iPtr->historyFirst == NULL)) {
	return;
    }

    /*
     * Expand the replacement range to include the brackets that surround
     * the command.  If there aren't any brackets (i.e. this command was
     * invoked at top-level) then don't do any revision.  Also, if there
     * are several commands in brackets, of which this is just one,
     * then don't do any revision.
     */

    evalFirst = iPtr->evalFirst;
    evalLast = iPtr->evalLast;
    while (1) {
	if (evalFirst == iPtr->historyFirst) {
	    return;
	}
	evalFirst--;
	if (*evalFirst == '[') {
	    break;
	}
	if (!isspace(*evalFirst)) {
	    return;
	}
    }
    if (*evalLast != ']') {
	return;
    }

    revPtr = (HistoryRev *) malloc(sizeof(HistoryRev));
    revPtr->firstIndex = evalFirst - iPtr->historyFirst;
    revPtr->lastIndex = evalLast - iPtr->historyFirst;
    argv[0] = string;
    revPtr->newBytes = Tcl_Merge(1, argv);
    revPtr->newSize = strlen(revPtr->newBytes);
    InsertRev(iPtr, revPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * DoRevs --
 *
 *	This procedure is called to apply the history revisions that
 *	have been recorded in iPtr.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	The most recent entry in the history for iPtr may be modified.
 *
 *----------------------------------------------------------------------
 */

static void
DoRevs(iPtr)
    register Interp *iPtr;	/* Interpreter whose history is to
				 * be modified. */
{
    register HistoryRev *revPtr;
    register HistoryEvent *eventPtr;
    char *newCommand, *p;
    unsigned int size;
    int bytesSeen, count;

    if (iPtr->revPtr == NULL) {
	return;
    }

    /*
     * The revision is done in two passes.  The first pass computes the
     * amount of space needed for the revised event, and the second pass
     * pieces together the new event and frees up the revisions.
     */

    eventPtr = &iPtr->events[iPtr->curEvent];
    size = strlen(eventPtr->command);
    for (revPtr = iPtr->revPtr; revPtr != NULL; revPtr = revPtr->nextPtr) {
	size -= revPtr->lastIndex + 1 - revPtr->firstIndex;
	size += revPtr->newSize;
    }

    newCommand = malloc(size);
    p = newCommand;
    bytesSeen = 0;
    for (revPtr = iPtr->revPtr; revPtr != NULL; revPtr = revPtr->nextPtr) {
	count = revPtr->firstIndex - bytesSeen;
	if (count > 0) {
	    strncpy(p, eventPtr->command + bytesSeen, count);
	    p += count;
	}
	strncpy(p, revPtr->newBytes, revPtr->newSize);
	p += revPtr->newSize;
	bytesSeen = revPtr->lastIndex+1;
	free(revPtr->newBytes);
	free((char *) revPtr);
    }
    strcpy(p, eventPtr->command + bytesSeen);

    /*
     * Replace the command in the event.
     */

    free(eventPtr->command);
    eventPtr->command = newCommand;
    eventPtr->bytesAvl = size;
    iPtr->revPtr = NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * DisableRevs --
 *
 *	Turn off history revision for this command.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	The state of iPtr is modified to discard any pending
 *	history revisions and prevent any future revisions
 *	from being logged for this command.
 *
 *----------------------------------------------------------------------
 */

static void
DisableRevs(iPtr)
    register Interp *iPtr;	/* Interpreter in which to disable revs. */
{
    iPtr->historyFirst = NULL;
    while (iPtr->revPtr != NULL) {
	free(iPtr->revPtr->newBytes);
	free((char *) iPtr->revPtr);
	iPtr->revPtr = iPtr->revPtr->nextPtr;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * GetEvent --
 *
 *	Given a textual description of an event (see the manual page
 *	for legal values) find the corresponding event and return its
 *	command string.
 *
 * Results:
 *	The return value is a pointer to the event named by "string".
 *	If no such event exists, then NULL is returned and an error
 *	message is left in iPtr.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

static HistoryEvent *
GetEvent(iPtr, string)
    register Interp *iPtr;	/* Interpreter in which to look. */
    char *string;		/* Description of event. */
{
    int eventNum, index;
    char *end;
    register HistoryEvent *eventPtr;
    int length;

    /*
     * First check for a numeric specification of an event.
     */

    if (isdigit(*string) || (*string == '-')) {
	eventNum = strtol(string, &end, 0);
	if (*end != 0) {
	    sprintf(iPtr->result, "bad event number \"%.50s\"", string);
	    return NULL;
	}
	if (eventNum < 0) {
	    eventNum += iPtr->curEventNum;
        }
	if (eventNum > iPtr->curEventNum) {
	    sprintf(iPtr->result, "event \"%.50s\" hasn't occurred yet",
		    string);
	    return NULL;
	}
	if ((eventNum <= iPtr->curEventNum-iPtr->numEvents)
		|| (eventNum <= 0)) {
	    sprintf(iPtr->result, "event \"%.50s\" is too far in the past",
		    string);
	    return NULL;
	}
	index = iPtr->curEvent + (eventNum - iPtr->curEventNum);
	if (index < 0) {
	    index += iPtr->numEvents;
	}
	return &iPtr->events[index];
    }

    /*
     * Next, check for an event that contains the string as a prefix or
     * that matches the string in the sense of Tcl_StringMatch.
     */

    length = strlen(string);
    for (index = iPtr->curEvent - 1; ; index--) {
	if (index < 0) {
	    index += iPtr->numEvents;
	}
	if (index == iPtr->curEvent) {
	    break;
	}
	eventPtr = &iPtr->events[index];
	if ((strncmp(eventPtr->command, string, length) == 0)
		|| Tcl_StringMatch(eventPtr->command, string)) {
	    return eventPtr;
	}
    }

    sprintf(iPtr->result, "no event matches \"%.50s\"", string);
    return NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * SubsAndEval --
 *
 *	Generate a new command by making a textual substitution in
 *	the "cmd" argument.  Then execute the new command.
 *
 * Results:
 *	The return value is a standard Tcl error.
 *
 * Side effects:
 *	History gets revised if the substitution is occurring on
 *	a recorded command line.  Also, the re-executed command
 *	may produce side-effects.
 *
 *----------------------------------------------------------------------
 */

static int
SubsAndEval(iPtr, cmd, old, new)
    register Interp *iPtr;	/* Interpreter in which to execute
				 * new command. */
    char *cmd;			/* Command in which to substitute. */
    char *old;			/* String to search for in command. */
    char *new;			/* Replacement string for "old". */
{
    char *src, *dst, *newCmd;
    int count, oldLength, newLength, length, result;

    /*
     * Figure out how much space it will take to hold the
     * substituted command (and complain if the old string
     * doesn't appear in the original command).
     */

    oldLength = strlen(old);
    newLength = strlen(new);
    src = cmd;
    count = 0;
    while (1) {
	src = strstr(src, old);
	if (src == NULL) {
	    break;
	}
	src += oldLength;
	count++;
    }
    if (count == 0) {
	sprintf(iPtr->result, "\"%.50s\" doesn't appear in event",
		old);
	return TCL_ERROR;
    }
    length = strlen(cmd) + count*(newLength - oldLength);

    /*
     * Generate a substituted command.
     */

    newCmd = malloc((unsigned) (length + 1));
    dst = newCmd;
    while (1) {
	src = strstr(cmd, old);
	if (src == NULL) {
	    strcpy(dst, cmd);
	    break;
	}
	strncpy(dst, cmd, src-cmd);
	dst += src-cmd;
	strcpy(dst, new);
	dst += newLength;
	cmd = src + oldLength;
    }

    RevCommand(iPtr, newCmd);
    result = Tcl_Eval((Tcl_Interp *) iPtr, newCmd, 0, (char **) NULL);
    free(newCmd);
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * GetWords --
 *
 *	Given a command string, return one or more words from the
 *	command string.
 *
 * Results:
 *	The return value is a pointer to a dynamically-allocated
 *	string containing the words of command specified by "words".
 *	If the word specifier has improper syntax then an error
 *	message is placed in iPtr->result and NULL is returned.
 *
 * Side effects:
 *	Memory is allocated.  It is the caller's responsibilty to
 *	free the returned string..
 *
 *----------------------------------------------------------------------
 */

static char *
GetWords(iPtr, command, words)
    register Interp *iPtr;	/* Tcl interpreter in which to place
				 * an error message if needed. */
    char *command;		/* Command string. */
    char *words;		/* Description of which words to extract
				 * from the command.  Either num[-num] or
				 * a pattern. */
{
    char *result;
    char *start, *end, *dst;
    register char *next;
    int first;			/* First word desired. -1 means last word
				 * only. */
    int last;			/* Last word desired.  -1 means use everything
				 * up to the end. */
    int index;			/* Index of current word. */
    char *pattern;

    /*
     * Figure out whether we're looking for a numerical range or for
     * a pattern.
     */

    pattern = NULL;
    first = 0;
    last = -1;
    if (*words == '$') {
	if (words[1] != '\0') {
	    goto error;
	}
	first = -1;
    } else if (isdigit(*words)) {
	first = strtoul(words, &start, 0);
	if (*start == 0) {
	    last = first;
	} else if (*start == '-') {
	    start++;
	    if (*start == '$') {
		start++;
	    } else if (isdigit(*start)) {
		last = strtoul(start, &start, 0);
	    } else {
		goto error;
	    }
	    if (*start != 0) {
		goto error;
	    }
	}
	if ((first > last) && (last != -1)) {
	    goto error;
	}
    } else {
	pattern = words;
    }

    /*
     * Scan through the words one at a time, copying those that are
     * relevant into the result string.  Allocate a result area large
     * enough to hold all the words if necessary.
     */

    result = malloc((unsigned) (strlen(command) + 1));
    dst = result;
    for (next = command; isspace(*next); next++) {
	/* Empty loop body:  just find start of first word. */
    }
    for (index = 0; *next != 0; index++) {
	start = next;
	end = TclWordEnd(next, 0);
	for (next = end; isspace(*next); next++) {
	    /* Empty loop body:  just find start of next word. */
	}
	if ((first > index) || ((first == -1) && (*next != 0))) {
	    continue;
	}
	if ((last != -1) && (last < index)) {
	    continue;
	}
	if (pattern != NULL) {
	    int match;
	    char savedChar = *end;

	    *end = 0;
	    match = Tcl_StringMatch(start, pattern);
	    *end = savedChar;
	    if (!match) {
		continue;
	    }
	}
	if (dst != result) {
	    *dst = ' ';
	    dst++;
	}
	strncpy(dst, start, (end-start));
	dst += end-start;
    }
    *dst = 0;

    /*
     * Check for an out-of-range argument index.
     */

    if ((last >= index) || (first >= index)) {
	free(result);
	sprintf(iPtr->result,
		"word selector \"%.50s\" specified non-existent words",
		words);
	return NULL;
    }
    return result;

    error:
    sprintf(iPtr->result,
	    "bad word selector \"%.50s\":  should be num-num or pattern",
	    words);
    return NULL;
}
0707070035050510621006660011710000040000010745130466300656600001600000056172tcl/tclProc.c/* 
 * tclProc.c --
 *
 *	This file contains routines that implement Tcl procedures and
 *	variables.
 *
 * Copyright 1987 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "tclInt.h"

/*
 * Forward references to procedures defined later in this file:
 */

extern Var *	FindVar();
extern int	InterpProc();
extern Var *	NewVar();
extern void	ProcDeleteProc();

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ProcCmd --
 *
 *	This procedure is invoked to process the "proc" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result value.
 *
 * Side effects:
 *	A new procedure gets created.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_ProcCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register Interp *iPtr = (Interp *) interp;
    register Proc *procPtr;
    int result, argCount, i;
    char **argArray;

    if (argc != 4) {
	sprintf(iPtr->result,
		"wrong # args: should be \"%.50s name args body\"",
		argv[0]);
	return TCL_ERROR;
    }

    procPtr = (Proc *) malloc(sizeof(Proc));
    procPtr->iPtr = iPtr;
    procPtr->command = (char *) malloc((unsigned) strlen(argv[3]) + 1);
    strcpy(procPtr->command, argv[3]);
    procPtr->argPtr = NULL;
    Tcl_CreateCommand(interp, argv[1], InterpProc,
	    (ClientData) procPtr, ProcDeleteProc);

    /*
     * Break up the argument list into argument specifiers, then process
     * each argument specifier.
     */

    result = Tcl_SplitList(interp, argv[2], &argCount, &argArray);
    if (result != TCL_OK) {
	return result;
    }
    for (i = 0; i < argCount; i++) {
	int fieldCount, nameLength, valueLength;
	char **fieldValues;
	register Var *argPtr;

	/*
	 * Now divide the specifier up into name and default.
	 */

	result = Tcl_SplitList(interp, argArray[i], &fieldCount,
		&fieldValues);
	if (result != TCL_OK) {
	    goto procError;
	}
	if (fieldCount > 2) {
	    sprintf(iPtr->result,
		    "too many fields in argument specifier \"%.50s\"",
		    argArray[i]);
	    result = TCL_ERROR;
	    goto procError;
	}
	if ((fieldCount == 0) || (*fieldValues[0] == 0)) {
	    sprintf(iPtr->result,
		    "procedure \"%.50s\" has argument with no name", argv[1]);
	    result = TCL_ERROR;
	    goto procError;
	}
	nameLength = strlen(fieldValues[0]);
	if (fieldCount == 2) {
	    valueLength = strlen(fieldValues[1]);
	} else {
	    valueLength = 0;
	}
	if (procPtr->argPtr == NULL) {
	    argPtr = (Var *) malloc(VAR_SIZE(nameLength, valueLength));
	    procPtr->argPtr = argPtr;
	} else {
	    argPtr->nextPtr = (Var *) malloc(VAR_SIZE(nameLength, valueLength));
	    argPtr = argPtr->nextPtr;
	}
	strcpy(argPtr->name, fieldValues[0]);
	if (fieldCount == 2) {
	    argPtr->value = argPtr->name + nameLength + 1;
	    strcpy(argPtr->value, fieldValues[1]);
	} else {
	    argPtr->value = NULL;
	}
	argPtr->valueLength = valueLength;
	argPtr->flags = 0;
	argPtr->nextPtr = NULL;
	free((char *) fieldValues);
    }

    free((char *) argArray);
    return TCL_OK;

    procError:
    free((char *) argArray);
    return result;
}

/*1
 *----------------------------------------------------------------------
 *
 * Tcl_GetVar --
 *
 *	Return the value of a Tcl variable.
 *
 * Results:
 *	The return value points to the current value of varName.  If
 *	the variable is not defined in interp, either as a local or
 *	global variable, then a NULL pointer is returned.  Note:  the
 *	return value is only valid up until the next call to Tcl_SetVar;
 *	if you depend on the value lasting longer than that, then make
 *	yourself a private copy.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
Tcl_GetVar(interp, varName, global)
    Tcl_Interp *interp;		/* Command interpreter in which varName is
				 * to be looked up. */
    char *varName;		/* Name of a variable in interp. */
    int global;			/* If non-zero, use only a global variable */
{
    Var *varPtr;
    Interp *iPtr = (Interp *) interp;

    if (global || (iPtr->varFramePtr == NULL)) {
	varPtr = FindVar(&iPtr->globalPtr, varName);
    } else {
	varPtr = FindVar(&iPtr->varFramePtr->varPtr, varName);
    }
    if (varPtr == NULL) {
	return NULL;
    }
    if (varPtr->flags & VAR_GLOBAL) {
	varPtr = varPtr->globalPtr;
    }
    if (varPtr->flags & VAR_DOESNT_EXIST) {
	return NULL;
    }
    return varPtr->value;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SetVar --
 *
 *	Change the value of a variable.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	If varName is defined as a local or global variable in interp,
 *	its value is changed to newValue.  If varName isn't currently
 *	defined, then a new global variable by that name is created.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_SetVar(interp, varName, newValue, global)
    Tcl_Interp *interp;		/* Command interpreter in which varName is
				 * to be looked up. */
    char *varName;		/* Name of a variable in interp. */
    char *newValue;		/* New value for varName. */
    int global;			/* If non-zero, use only a global variable. */
{
    register Var *varPtr, **varListPtr;
    register Interp *iPtr = (Interp *) interp;
    int valueLength;

    if (global || (iPtr->varFramePtr == NULL)) {
	varListPtr = &iPtr->globalPtr;
    } else {
	varListPtr = &iPtr->varFramePtr->varPtr;
    }
    varPtr = FindVar(varListPtr, varName);
    if (varPtr == NULL) {
	varPtr = NewVar(varName, newValue);
	varPtr->nextPtr = *varListPtr;
	*varListPtr = varPtr;
    } else {
	if (varPtr->flags & VAR_GLOBAL) {
	    varPtr = varPtr->globalPtr;
	}
	valueLength = strlen(newValue);
	if (valueLength > varPtr->valueLength) {
	    if (varPtr->flags & VAR_DYNAMIC) {
		free(varPtr->value);
	    }
	    varPtr->value = (char *) malloc((unsigned) valueLength + 1);
	    varPtr->flags |= VAR_DYNAMIC;
	    varPtr->valueLength = valueLength;
	}
	strcpy(varPtr->value, newValue);
	varPtr->flags &= ~VAR_DOESNT_EXIST;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ParseVar --
 *
 *	Given a string starting with a $ sign, parse off a variable
 *	name and return its value.
 *
 * Results:
 *	The return value is the contents of the variable given by
 *	the leading characters of string.  If termPtr isn't NULL,
 *	*termPtr gets filled in with the address of the character
 *	just after the last one in the variable specifier.  If the
 *	variable doesn't exist, then the return value is NULL and
 *	an error message will be left in interp->result.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
Tcl_ParseVar(interp, string, termPtr)
    Tcl_Interp *interp;			/* Context for looking up variable. */
    register char *string;		/* String containing variable name.
					 * First character must be "$". */
    char **termPtr;			/* If non-NULL, points to word to fill
					 * in with character just after last
					 * one in the variable specifier. */

{
    char *name, c, *result;

    /*
     * There are two cases:
     * 1. The $ sign is followed by an open curly brace.  Then the variable
     *    name is everything up to the next close curly brace.
     * 2. The $ sign is not followed by an open curly brace.  Then the
     *    variable name is everything up to the next character that isn't
     *    a letter, digit, or underscore.
     * 3. The $ sign is followed by something that isn't a letter, digit,
     *    or underscore:  in this case, there is no variable name, and "$"
     *    is returned.
     */

    string++;
    if (*string == '{') {
	string++;
	name = string;
	while ((*string != '}') && (*string != 0)) {
	    string++;
	}
	if (termPtr != 0) {
	    if (*string != 0) {
		*termPtr = string+1;
	    } else {
		*termPtr = string;
	    }
	}
    } else {
	name = string;
	while (isalnum(*string) || (*string == '_')) {
	    string++;
	}
	if (termPtr != 0) {
	    *termPtr = string;
	}
	if (string == name) {
	    return "$";
	}
    }

    c = *string;
    *string = 0;
    result = Tcl_GetVar(interp, name, 0);
    if (result == NULL) {
	Tcl_Return(interp, (char *) NULL, TCL_STATIC);
	sprintf(interp->result, "couldn't find variable \"%.50s\"", name);
    }
    *string = c;
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SetCmd --
 *
 *	This procedure is invoked to process the "set" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result value.
 *
 * Side effects:
 *	A variable's value may be changed.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_SetCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    register Tcl_Interp *interp;	/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    if (argc == 2) {
	char *value;

	value = Tcl_GetVar(interp, argv[1], 0);
	if (value == NULL) {
	    sprintf(interp->result, "couldn't find variable \"%.50s\"",
		    argv[1]);
	    return TCL_ERROR;
	}
	interp->result = value;
	return TCL_OK;
    } else if (argc == 3) {
	Tcl_SetVar(interp, argv[1], argv[2], 0);
	return TCL_OK;
    } else {
	sprintf(interp->result,
		"wrong # args: should be \"%.50s varName [newValue]\"",
		argv[0]);
	return TCL_ERROR;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GlobalCmd --
 *
 *	This procedure is invoked to process the "global" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result value.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_GlobalCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register Var *varPtr;
    register Interp *iPtr = (Interp *) interp;
    Var *gVarPtr;

    if (argc < 2) {
	sprintf(iPtr->result,
		"too few args:  should be \"%.50s varName varName ...\"",
		argv[0]);
	return TCL_ERROR;
    }
    if (iPtr->varFramePtr == NULL) {
	return TCL_OK;
    }

    for (argc--, argv++; argc > 0; argc--, argv++) {
	gVarPtr = FindVar(&iPtr->globalPtr, *argv);
	if (gVarPtr == NULL) {
	    gVarPtr = NewVar(*argv, "");
	    gVarPtr->nextPtr = iPtr->globalPtr;
	    iPtr->globalPtr = gVarPtr;
	    gVarPtr->flags |= VAR_DOESNT_EXIST;
	}
	varPtr = NewVar(*argv, "");
	varPtr->flags |= VAR_GLOBAL;
	varPtr->globalPtr = gVarPtr;
	varPtr->nextPtr = iPtr->varFramePtr->varPtr;
	iPtr->varFramePtr->varPtr = varPtr;
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_UplevelCmd --
 *
 *	This procedure is invoked to process the "uplevel" Tcl command.
 *	See the user documentation for details on what it does.
 *
 * Results:
 *	A standard Tcl result value.
 *
 * Side effects:
 *	See the user documentation.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_UplevelCmd(dummy, interp, argc, argv)
    ClientData dummy;			/* Not used. */
    Tcl_Interp *interp;			/* Current interpreter. */
    int argc;				/* Number of arguments. */
    char **argv;			/* Argument strings. */
{
#pragma ref dummy
    register Interp *iPtr = (Interp *) interp;
    int level, result;
    char *end, *levelArg;
    CallFrame *savedVarFramePtr, *framePtr;

    if (argc < 2) {
	uplevelSyntax:
	sprintf(iPtr->result,
		"too few args:  should be \"%.50s [level] command ...\"",
		argv[0]);
	return TCL_ERROR;
    }

    /*
     * Parse arguments to figure out which level to go to, and set
     * argv and argc to refer to the command to execute at that level.
     */

    levelArg = argv[1];
    if (*levelArg == '#') {
	level = strtoul(levelArg+1, &end, 10);
	if ((end == (levelArg+1)) || (*end != '\0')) {
	    goto levelError;
	}
	argc -= 2;
	argv += 2;
    } else if (isdigit(*levelArg)) {
	level = strtoul(levelArg, &end, 10);
	if ((end == levelArg) || (*end != '\0')) {
	    goto levelError;
	}
	if (iPtr->varFramePtr == NULL) {
	    goto levelError;
	}
	level = iPtr->varFramePtr->level - level;
	argc -= 2;
	argv += 2;
    } else {
	if (iPtr->varFramePtr == NULL) {
	    goto levelError;
	}
	level = iPtr->varFramePtr->level - 1;
	argc--;
	argv++;
    }

    /*
     * Figure out which frame to use, and modify the interpreter so
     * its variables come from that frame.
     */

    savedVarFramePtr = iPtr->varFramePtr;
    if (level == 0) {
	iPtr->varFramePtr = NULL;
    } else {
	for (framePtr = savedVarFramePtr; framePtr != NULL;
		framePtr = framePtr->callerVarPtr) {
	    if (framePtr->level == level) {
		break;
	    }
	}
	if (framePtr == NULL) {
	    goto levelError;
	}
	iPtr->varFramePtr = framePtr;
    }

    /*
     * Execute the residual arguments as a command.
     */

    if (argc == 0) {
	goto uplevelSyntax;
    }
    if (argc == 1) {
	result = Tcl_Eval(interp, argv[0], 0, (char **) NULL);
    } else {
	char *cmd;

	cmd = Tcl_Concat(argc, argv);
	result = Tcl_Eval(interp, cmd, 0, (char **) NULL);
    }
    if (result == TCL_ERROR) {
	char msg[60];
	sprintf(msg, " (\"uplevel\" body line %d)", interp->errorLine);
	Tcl_AddErrorInfo(interp, msg);
    }

    /*
     * Restore the variable frame, and return.
     */

    iPtr->varFramePtr = savedVarFramePtr;
    return result;

    levelError:
    sprintf(iPtr->result, "bad level \"%.50s\"", levelArg);
    return TCL_ERROR;
}

/*
 *----------------------------------------------------------------------
 *
 * TclFindProc --
 *
 *	Given the name of a procedure, return a pointer to the
 *	record describing the procedure.
 *
 * Results:
 *	NULL is returned if the name doesn't correspond to any
 *	procedure.  Otherwise the return value is a pointer to
 *	the procedure's record.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Proc *
TclFindProc(iPtr, procName)
    Interp *iPtr;		/* Interpreter in which to look. */
    char *procName;		/* Name of desired procedure. */
{
    Command *cmdPtr;

    cmdPtr = TclFindCmd(iPtr, procName, 0);
    if (cmdPtr == NULL) {
	return NULL;
    }
    if (cmdPtr->proc != InterpProc) {
	return NULL;
    }
    return (Proc *) cmdPtr->clientData;
}

/*
 *----------------------------------------------------------------------
 *
 * TclIsProc --
 *
 *	Tells whether a command is a Tcl procedure or not.
 *
 * Results:
 *	If the given command is actuall a Tcl procedure, the
 *	return value is the address of the record describing
 *	the procedure.  Otherwise the return value is 0.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Proc *
TclIsProc(cmdPtr)
    Command *cmdPtr;		/* Command to test. */
{
    if (cmdPtr->proc == InterpProc) {
	return (Proc *) cmdPtr->clientData;
    }
    return (Proc *) 0;
}

/*
 *----------------------------------------------------------------------
 *
 * TclDeleteVars --
 *
 *	This procedure is called as part of deleting an interpreter:
 *	it recycles all the storage space associated with global
 *	variables (the local ones should already have been deleted).
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Variables are deleted.
 *
 *----------------------------------------------------------------------
 */

void
TclDeleteVars(iPtr)
    Interp *iPtr;		/* Interpreter to nuke. */
{
    register Var *varPtr;

    for (varPtr = iPtr->globalPtr; varPtr != NULL; varPtr = varPtr->nextPtr) {
	if (varPtr->flags & VAR_DYNAMIC) {
	    free(varPtr->value);
	}
	free((char *) varPtr);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * InterpProc --
 *
 *	When a Tcl procedure gets invoked, this routine gets invoked
 *	to interpret the procedure.
 *
 * Results:
 *	A standard Tcl result value, usually TCL_OK.
 *
 * Side effects:
 *	Depends on the commands in the procedure.
 *
 *----------------------------------------------------------------------
 */

int
InterpProc(procPtr, interp, argc, argv)
    register Proc *procPtr;	/* Record describing procedure to be
				 * interpreted. */
    Tcl_Interp *interp;		/* Interpreter in which procedure was
				 * invoked. */
    int argc;			/* Count of number of arguments to this
				 * procedure. */
    char **argv;		/* Argument values. */
{
    char **args;
    register Var *formalPtr, *argPtr;
    register Interp *iPtr = (Interp *) interp;
    CallFrame frame;
    char *value, *end;
    int result;

    /*
     * Set up a call frame for the new procedure invocation.
     */

    iPtr = procPtr->iPtr;
    frame.varPtr = NULL;
    if (iPtr->varFramePtr != NULL) {
	frame.level = iPtr->varFramePtr->level + 1;
    } else {
	frame.level = 1;
    }
    frame.argc = argc;
    frame.argv = argv;
    frame.callerPtr = iPtr->framePtr;
    frame.callerVarPtr = iPtr->varFramePtr;
    iPtr->framePtr = &frame;
    iPtr->varFramePtr = &frame;

    /*
     * Match the actual arguments against the procedure's formal
     * parameters to compute local variables.
     */

    for (formalPtr = procPtr->argPtr, args = argv+1, argc -= 1;
	    formalPtr != NULL;
	    formalPtr = formalPtr->nextPtr, args++, argc--) {

	/*
	 * Handle the special case of the last formal being "args".  When
	 * it occurs, assign it a list consisting of all the remaining
	 * actual arguments.
	 */

	if ((formalPtr->nextPtr == NULL)
		&& (strcmp(formalPtr->name, "args") == 0)) {
	    if (argc < 0) {
		argc = 0;
	    }
	    value = Tcl_Merge(argc, args);
	    argPtr = NewVar(formalPtr->name, value);
	    free(value);
	    argPtr->nextPtr = frame.varPtr;
	    frame.varPtr = argPtr;
	    argc = 0;
	    break;
	} else if (argc > 0) {
	    value = *args;
	} else if (formalPtr->value != NULL) {
	    value = formalPtr->value;
	} else {
	    sprintf(iPtr->result,
		    "no value given for parameter \"%s\" to \"%s\"",
		    formalPtr->name, argv[0]);
	    result = TCL_ERROR;
	    goto procDone;
	}
	argPtr = NewVar(formalPtr->name, value);
	argPtr->nextPtr = frame.varPtr;
	frame.varPtr = argPtr;
    }
    if (argc > 0) {
	sprintf(iPtr->result, "called \"%s\" with too many arguments",
		argv[0]);
	result = TCL_ERROR;
	goto procDone;
    }

    /*
     * Invoke the commands in the procedure's body.
     */

    result = Tcl_Eval(interp, procPtr->command, 0, &end);
    if (result == TCL_RETURN) {
	result = TCL_OK;
    } else if (result == TCL_ERROR) {
	char msg[100];

	/*
	 * Record information telling where the error occurred.
	 */

	sprintf(msg, " (procedure \"%.50s\" line %d)", argv[0],
		iPtr->errorLine);
	Tcl_AddErrorInfo(interp, msg);
    } else if (result == TCL_BREAK) {
	iPtr->result = "invoked \"break\" outside of a loop";
	result = TCL_ERROR;
    } else if (result == TCL_CONTINUE) {
	iPtr->result = "invoked \"continue\" outside of a loop";
	result = TCL_ERROR;
    }

    /*
     * Delete the call frame for this procedure invocation.
     */

    procDone:
    for (argPtr = frame.varPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
	if (argPtr->flags & VAR_DYNAMIC) {
	    free(argPtr->value);
	}
	free((char *) argPtr);
    }
    iPtr->framePtr = frame.callerPtr;
    iPtr->varFramePtr = frame.callerVarPtr;
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * ProcDeleteProc --
 *
 *	This procedure is invoked just before a command procedure is
 *	removed from an interpreter.  Its job is to release all the
 *	resources allocated to the procedure.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Memory gets freed.
 *
 *----------------------------------------------------------------------
 */

void
ProcDeleteProc(procPtr)
    register Proc *procPtr;		/* Procedure to be deleted. */
{
    register Var *argPtr;

    free((char *) procPtr->command);
    for (argPtr = procPtr->argPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
	if (argPtr->flags & VAR_DYNAMIC) {
	    free(argPtr->value);
	}
	free((char *) argPtr);
    }
    free((char *) procPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * FindVar --
 *
 *	Locate the Var structure corresponding to varName, if there
 *	is one defined in a given list.
 *
 * Results:
 *	The return value points to the Var structure corresponding to
 *	the current value of varName in varListPtr, or NULL if varName
 *	isn't currently defined in the list.
 *
 * Side effects:
 *	If the variable is found, it is moved to the front of the list.
 *
 *----------------------------------------------------------------------
 */

Var *
FindVar(varListPtr, varName)
    Var **varListPtr;		/* Pointer to head of list.  The value pointed
				 * to will be modified to bring the found
				 * variable to the front of the list. */
    char *varName;		/* Desired variable. */
{
    register Var *prev, *cur;
    register char c;

    c = *varName;

    /*
     * Local variables take precedence over global ones.  Check the
     * first character immediately, before wasting time calling strcmp.
     */

    for (prev = NULL, cur = *varListPtr; cur != NULL;
	    prev = cur, cur = cur->nextPtr) {
	if ((cur->name[0] == c) && (strcmp(cur->name, varName) == 0)) {
	    if (prev != NULL) {
		prev->nextPtr = cur->nextPtr;
		cur->nextPtr = *varListPtr;
		*varListPtr = cur;
	    }
	    return cur;
	}
    }
    return NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * NewVar --
 *
 *	Create a new variable with the given name and initial value.
 *
 * Results:
 *	The return value is a pointer to the new variable.  The variable
 *	will not have been linked into any particular list, and its
 *	nextPtr field will be NULL.
 *
 * Side effects:
 *	Storage gets allocated.
 *
 *----------------------------------------------------------------------
 */

Var *
NewVar(name, value)
    char *name;			/* Name for variable. */
    char *value;		/* Value for variable. */
{
    register Var *varPtr;
    int nameLength, valueLength;

    nameLength = strlen(name);
    valueLength = strlen(value);
    if (valueLength < 20) {
	valueLength = 20;
    }
    varPtr = (Var *) malloc(VAR_SIZE(nameLength, valueLength));
    strcpy(varPtr->name, name);
    varPtr->value = varPtr->name + nameLength + 1;
    strcpy(varPtr->value, value);
    varPtr->valueLength = valueLength;
    varPtr->flags = 0;
    varPtr->globalPtr = NULL;
    varPtr->nextPtr = NULL;
    return varPtr;
}
0707070035050510611006660011710000040000010746120466300662000001600000057626tcl/tclUtil.c/* 
 * tclUtil.c --
 *
 *	This file contains utility procedures that are used by many Tcl
 *	commands.
 *
 * Copyright 1987, 1989 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#pragma ref rcsid
#endif not lint

#define	_POSIX_SOURCE

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "tcl.h"
#include "tclInt.h"

/*
 *----------------------------------------------------------------------
 *
 * TclFindElement --
 *
 *	Given a pointer into a Tcl list, locate the first (or next)
 *	element in the list.
 *
 * Results:
 *	The return value is normally TCL_OK, which means that the
 *	element was successfully located.  If TCL_ERROR is returned
 *	it means that list didn't have proper list structure;
 *	interp->result contains a more detailed error message.
 *
 *	If TCL_OK is returned, then *elementPtr will be set to point
 *	to the first element of list, and *nextPtr will be set to point
 *	to the character just after any white space following the last
 *	character that's part of the element.  If this is the last argument
 *	in the list, then *nextPtr will point to the NULL character at the
 *	end of list.  If sizePtr is non-NULL, *sizePtr is filled in with
 *	the number of characters in the element.  If the element is in
 *	braces, then *elementPtr will point to the character after the
 *	opening brace and *sizePtr will not include either of the braces.
 *	If there isn't an element in the list, *sizePtr will be zero, and
 *	both *elementPtr and *termPtr will refer to the null character at
 *	the end of list.  Note:  this procedure does NOT collapse backslash
 *	sequences.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
TclFindElement(interp, list, elementPtr, nextPtr, sizePtr, bracePtr)
    Tcl_Interp *interp;		/* Interpreter to use for error reporting. */
    register char *list;	/* String containing Tcl list with zero
				 * or more elements (possibly in braces). */
    char **elementPtr;		/* Fill in with location of first significant
				 * character in first element of list. */
    char **nextPtr;		/* Fill in with location of character just
				 * after all white space following end of
				 * argument (i.e. next argument or end of
				 * list). */
    int *sizePtr;		/* If non-zero, fill in with size of
				 * element. */
    int *bracePtr;		/* If non-zero fill in with non-zero/zero
				 * to indicate that arg was/wasn't
				 * in braces. */
{
    register char *p;
    int openBraces = 0;
    int size;

    /*
     * Skim off leading white space and check for an opening brace.
     */

    while (isspace(*list)) {
	list++;
    }
    if (*list == '{') {
	openBraces = 1;
	list++;
    }
    if (bracePtr != 0) {
	*bracePtr = openBraces;
    }
    p = list;

    /*
     * Find the end of the element (either a space or a close brace or
     * the end of the string).
     */

    while (1) {
	switch (*p) {

	    /*
	     * Open brace: don't treat specially unless the element is
	     * in braces.  In this case, keep a nesting count.
	     */

	    case '{':
		if (openBraces != 0) {
		    openBraces++;
		}
		break;

	    /*
	     * Close brace: if element is in braces, keep nesting
	     * count and quit when the last close brace is seen.
	     */

	    case '}':
		if (openBraces == 1) {
		    char *p2;

		    size = p - list;
		    p++;
		    if (isspace(*p) || (*p == 0)) {
			goto done;
		    }
		    for (p2 = p; (*p2 != 0) && (!isspace(*p2)) && (p2 < p+20);
			    p2++) {
			/* null body */
		    }
		    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
		    sprintf(interp->result,
			    "list element in braces followed by \"%.*s\" instead of space",
			    p2-p, p);
		    return TCL_ERROR;
		} else if (openBraces != 0) {
		    openBraces--;
		}
		break;

	    /*
	     * Backslash:  skip over everything up to the end of the
	     * backslash sequence.
	     */

	    case '\\': {
		int size;

		(void) Tcl_Backslash(p, &size);
		p += size - 1;
		break;
	    }

	    /*
	     * Space: ignore if element is in braces;  otherwise
	     * terminate element.
	     */

	    case ' ':
	    case '\t':
	    case '\n':
		if (openBraces == 0) {
		    size = p - list;
		    goto done;
		}
		break;

	    /*
	     * End of list:  terminate element.
	     */

	    case 0:
		if (openBraces != 0) {
		    Tcl_Return(interp, "unmatched open brace in list",
			    TCL_STATIC);
		    return TCL_ERROR;
		}
		size = p - list;
		goto done;

	}
	p++;
    }

    done:
    while (isspace(*p)) {
	p++;
    }
    *elementPtr = list;
    *nextPtr = p;
    if (sizePtr != 0) {
	*sizePtr = size;
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * TclCopyAndCollapse --
 *
 *	Copy a string and eliminate any backslashes that aren't in braces.
 *
 * Results:
 *	There is no return value.  Count chars. get copied from src
 *	to dst.  Along the way, if backslash sequences are found outside
 *	braces, the backslashes are eliminated in the copy.
 *	After scanning count chars. from source, a null character is
 *	placed at the end of dst.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

void
TclCopyAndCollapse(count, src, dst)
    register char *src;		/* Copy from here... */
    register char *dst;		/* ... to here. */
{
    register char c;
    int numRead;

    for (c = *src; count > 0; dst++, src++, c = *src, count--) {
	if (c == '\\') {
	    *dst = Tcl_Backslash(src, &numRead);
	    src += numRead-1;
	    count -= numRead-1;
	} else {
	    *dst = c;
	}
    }
    *dst = 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Merge --
 *
 *	Given a collection of strings, merge them together into a
 *	single string that has proper Tcl list structured (i.e.
 *	TclFindElement and TclCopyAndCollapse may be used to retrieve
 *	strings equal to the original elements, and Tcl_Eval will
 *	parse the string back into its original elements).
 *
 * Results:
 *	The return value is the address of a dynamically-allocated
 *	string containing the merged list.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
Tcl_Merge(argc, argv)
    int argc;			/* How many strings to merge. */
    char **argv;		/* Array of string values. */
{
    /*
     * This procedure operates in two passes.  In the first pass it figures
     * out how many bytes will be needed to store the result (actually,
     * it overestimates slightly).  The first pass also collects information
     * about each element in the form of a flags word.  If there are only
     * a few elements, local storage gets used for the flags;  if there are
     * a lot of elements, a new array is dynamically allocated.
     *
     * In the second pass this procedure copies the arguments into the
     * result string.  The special cases to worry about are:
     *
     * 1. Argument contains embedded spaces, or starts with a brace:  must
     * add another level of braces when copying to the result.
     *
     * 2. Argument contains unbalanced braces:  backslash all of the
     * braces when copying to the result.  In this case, don't add another
     * level of braces (they would prevent the backslash from
     * being removed when the argument is extracted from the list later).
     *
     * 3. Argument contains backslashed brace/bracket:  if possible,
     * group the argument in braces:  then no special action needs to be taken
     * with the backslashes.  If the argument can't be put in braces, then
     * add another backslash in front of the sequence, so that upon
     * extraction the original sequence will be restored.
     *
     * These potential problems are the reasons why particular information
     * is gathered during pass 1.
     */
#   define WANT_PARENS			1
#   define PARENS_UNBALANCED		2
#   define PARENTHESIZED		4
#   define CANT_PARENTHESIZE		8

#   define LOCAL_SIZE 20
    int localFlags[LOCAL_SIZE];
    int *flagPtr;
    int numChars;
    char *result;
    register char *src, *dst;
    register int curFlags;
    int i;

    /*
     * Pass 1: estimate space, gather information.
     */

    if (argc <= LOCAL_SIZE) {
	flagPtr = localFlags;
    } else {
	flagPtr = (int *) malloc((unsigned) argc*sizeof(int));
    }
    numChars = 0;
    for (i = 0; i < argc; i++) {
	int braceCount, nestingLevel, nestedBS, whiteSpace, brackets, dollars;

	curFlags = braceCount = nestingLevel = nestedBS = whiteSpace = 0;
	brackets = dollars = 0;
	src = argv[i];
	if (*src == '{') {
	    curFlags |= PARENTHESIZED|WANT_PARENS;
	}
	if (*src == 0) {
	    curFlags |= WANT_PARENS;
	} else {
	    for (; ; src++) {
		switch (*src) {
		    case '{':
			braceCount++;
			nestingLevel++;
			break;
		    case '}':
			braceCount++;
			nestingLevel--;
			break;
		    case ']':
		    case '[':
			curFlags |= WANT_PARENS;
			brackets++;
			break;
		    case '$':
			curFlags |= WANT_PARENS;
			dollars++;
			break;
		    case ' ':
		    case '\n':
		    case '\t':
			curFlags |= WANT_PARENS;
			whiteSpace++;
			break;
		    case '\\':
			src++;
			if (*src == 0) {
			    goto elementDone;
			} else if ((*src == '{') || (*src == '}')
				|| (*src == '[') || (*src == ']')) {
			    curFlags |= WANT_PARENS;
			    nestedBS++;
			}
			break;
		    case 0:
			goto elementDone;
		}
	    }
	}
	elementDone:
	numChars += src - argv[i];
	if (nestingLevel != 0) {
	    numChars += braceCount + nestedBS + whiteSpace
		    + brackets + dollars;
	    curFlags = CANT_PARENTHESIZE;
	}
	if (curFlags & WANT_PARENS) {
	    numChars += 2;
	}
	numChars++;		/* Space to separate arguments. */
	flagPtr[i] = curFlags;
    }

    /*
     * Pass two: copy into the result area.
     */

    result = (char *) malloc((unsigned) numChars + 1);
    dst = result;
    for (i = 0; i < argc; i++) {
	curFlags = flagPtr[i];
	if (curFlags & WANT_PARENS) {
	    *dst = '{';
	    dst++;
	}
	for (src = argv[i]; *src != 0 ; src++) {
	    if (curFlags & CANT_PARENTHESIZE) {
		switch (*src) {
		    case '{':
		    case '}':
		    case ']':
		    case '[':
		    case '$':
		    case ' ':
			*dst = '\\';
			dst++;
			break;
		    case '\n':
			*dst = '\\';
			dst++;
			*dst = 'n';
			goto loopBottom;
		    case '\t':
			*dst = '\\';
			dst++;
			*dst = 't';
			goto loopBottom;
		    case '\\':
			*dst = '\\';
			dst++;
			src++;
			if ((*src == '{') || (*src == '}') || (*src == '[')
				|| (*src == ']')) {
			    *dst = '\\';
			    dst++;
			} else if (*src == 0) {
			    goto pass2ElementDone;
			}
			break;
		}
	    }
	    *dst = *src;
	    loopBottom:
	    dst++;
	}
	pass2ElementDone:
	if (curFlags & WANT_PARENS) {
	    *dst = '}';
	    dst++;
	}
	*dst = ' ';
	dst++;
    }
    if (dst == result) {
	*dst = 0;
    } else {
	dst[-1] = 0;
    }

    if (flagPtr != localFlags) {
	free((char *) flagPtr);
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Concat --
 *
 *	Concatenate a set of strings into a single large string.
 *
 * Results:
 *	The return value is dynamically-allocated string containing
 *	a concatenation of all the strings in argv, with spaces between
 *	the original argv elements.
 *
 * Side effects:
 *	Memory is allocated for the result;  the caller is responsible
 *	for freeing the memory.
 *
 *----------------------------------------------------------------------
 */

char *
Tcl_Concat(argc, argv)
    int argc;			/* Number of strings to concatenate. */
    char **argv;		/* Array of strings to concatenate. */
{
    int totalSize, i;
    register char *p;
    char *result;

    for (totalSize = 1, i = 0; i < argc; i++) {
	totalSize += strlen(argv[i]) + 1;
    }
    result = malloc((unsigned) totalSize);
    for (p = result, i = 0; i < argc; i++) {
	(void) strcpy(p, argv[i]);
	p += strlen(argv[i]);
	*p = ' ';
	p++;
    }
    p[-1] = 0;
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Return --
 *
 *	Arrange for "string" to be the Tcl return value.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	interp->result is left pointing either to "string" (if "copy" is 0)
 *	or to a copy of string.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_Return(interp, string, status)
    Tcl_Interp *interp;		/* Interpreter with which to associate the
				 * return value. */
    char *string;		/* Value to be returned.  If NULL,
				 * the result is set to an empty string. */
    int status;			/* Gives information about the string:
				 * TCL_STATIC, TCL_DYNAMIC, TCL_VOLATILE.
				 * Ignored if string is NULL. */
{
    register Interp *iPtr = (Interp *) interp;
    int length;
    int wasDynamic = iPtr->dynamic;
    char *oldResult = iPtr->result;

    if (string == NULL) {
	iPtr->resultSpace[0] = 0;
	iPtr->result = iPtr->resultSpace;
	iPtr->dynamic = 0;
    } else if (status == TCL_STATIC) {
	iPtr->result = string;
	iPtr->dynamic = 0;
    } else if (status == TCL_DYNAMIC) {
	iPtr->result = string;
	iPtr->dynamic = 1;
    } else {
	length = strlen(string);
	if (length > TCL_RESULT_SIZE) {
	    iPtr->result = (char *) malloc((unsigned) length+1);
	    iPtr->dynamic = 1;
	} else {
	    iPtr->result = iPtr->resultSpace;
	    iPtr->dynamic = 0;
	}
	strcpy(iPtr->result, string);
    }

    /*
     * If the old result was dynamically-allocated, free it up.  Do it
     * here, rather than at the beginning, in case the new result value
     * was part of the old result value.
     */

    if (wasDynamic) {
	free(oldResult);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Backslash --
 *
 *	Figure out how to handle a backslash sequence.
 *
 * Results:
 *	The return value is the character that should be substituted
 *	in place of the backslash sequence that starts at src.  If
 *	readPtr isn't NULL then it is filled in with a count of the
 *	number of characters in the backslash sequence.  Note:  if
 *	the backslash isn't followed by characters that are understood
 *	here, then the backslash sequence is only considered to be
 *	one character long, and it is replaced by a backslash char.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char
Tcl_Backslash(src, readPtr)
    char *src;			/* Points to the backslash character of
				 * a backslash sequence. */
    int *readPtr;		/* Fill in with number of characters read
				 * from src, unless NULL. */
{
    register char *p = src+1;
    char result;
    int count;

    count = 2;

    switch (*p) {
	case 'b':
	    result = '\b';
	    break;
	case 'e':
	    result = 033;
	    break;
	case 'n':
	    result = '\n';
	    break;
	case 'r':
	    result = '\r';
	    break;
	case 't':
	    result = '\t';
	    break;
	case 'C':
	    p++;
	    if (isspace(*p) || (*p == 0)) {
		result = 'C';
		count = 1;
		break;
	    }
	    count = 3;
	    if (*p == 'M') {
		p++;
		if (isspace(*p) || (*p == 0)) {
		    result = 'M' & 037;
		    break;
		}
		count = 4;
		result = (*p & 037) | 0200;
		break;
	    }
	    count = 3;
	    result = *p & 037;
	    break;
	case 'M':
	    p++;
	    if (isspace(*p) || (*p == 0)) {
		result = 'M';
		count = 1;
		break;
	    }
	    count = 3;
	    result = *p + 0200;
	    break;
	case '}':
	case '{':
	case ']':
	case '[':
	case '$':
	case ' ':
	case ';':
	case '"':
	case '\\':
	    result = *p;
	    break;
	default:
	    if (isdigit(*p)) {
		result = *p - '0';
		p++;
		if (!isdigit(*p)) {
		    break;
		}
		count = 3;
		result = (result << 3) + (*p - '0');
		p++;
		if (!isdigit(*p)) {
		    break;
		}
		count = 4;
		result = (result << 3) + (*p - '0');
		break;
	    }
	    result = '\\';
	    count = 1;
	    break;
    }

    if (readPtr != NULL) {
	*readPtr = count;
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SplitList --
 *
 *	Splits a list up into its constituent fields.
 *
 * Results
 *	The return value is normally TCL_OK, which means that
 *	the list was successfully split up.  If TCL_ERROR is
 *	returned, it means that "list" didn't have proper list
 *	structure;  interp->result will contain a more detailed
 *	error message.
 *
 *	*argvPtr will be filled in with the address of an array
 *	whose elements point to the elements of list, in order.
 *	*argcPtr will get filled in with the number of valid elements
 *	in the array.  A single block of memory is dynamically allocated
 *	to hold both the argv array and a copy of the list (with
 *	backslashes and braces removed in the standard way).
 *	The caller must eventually free this memory by calling free()
 *	on *argvPtr.  Note:  *argvPtr and *argcPtr are only modified
 *	if the procedure returns normally.
 *
 * Side effects:
 *	Memory is allocated.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_SplitList(interp, list, argcPtr, argvPtr)
    Tcl_Interp *interp;		/* Interpreter to use for error reporting. */
    char *list;			/* Pointer to string with list structure. */
    int *argcPtr;		/* Pointer to location to fill in with
				 * the number of elements in the list. */
    char ***argvPtr;		/* Pointer to place to store pointer to array
				 * of pointers to list elements. */
{
    char **argv;
    register char *p;
    int size, i, result, elSize, brace;
    char *element;

    /*
     * Figure out how much space to allocate.  There must be enough
     * space for both the array of pointers and also for a copy of
     * the list.  To estimate the number of pointers needed, count
     * the number of space characters in the list.
     */

    for (size = 1, p = list; *p != 0; p++) {
	if (isspace(*p)) {
	    size++;
	}
    }
    argv = (char **) malloc((unsigned)
	    ((size * sizeof(char *)) + (p - list) + 1));
    for (i = 0, p = ((char *) argv) + size*sizeof(char *);
	    *list != 0; i++) {
	result = TclFindElement(interp, list, &element, &list, &elSize, &brace);
	if (result != TCL_OK) {
	    free((char *) argv);
	    return result;
	}
	if (*element == 0) {
	    break;
	}
	if (i >= size) {
	    Tcl_Return(interp, "internal error in Tcl_SplitList", TCL_STATIC);
	    return TCL_ERROR;
	}
	argv[i] = p;
	if (brace) {
	    strncpy(p, element, elSize);
	    p += elSize;
	    *p = 0;
	    p++;
	} else {
	    TclCopyAndCollapse(elSize, element, p);
	    p += elSize+1;
	}
    }

    *argvPtr = argv;
    *argcPtr = i;
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_StringMatch --
 *
 *	See if a particular string matches a particular pattern.
 *
 * Results:
 *	The return value is 1 if string matches pattern, and
 *	0 otherwise.  The matching operation permits the following
 *	special characters in the pattern: *?\[] (see the manual
 *	entry for details on what these mean).
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_StringMatch(string, pattern)
    register char *string;	/* String. */
    register char *pattern;	/* Pattern, which may contain
				 * special characters. */
{
    char c2;

    while (1) {
	/* See if we're at the end of both the pattern and the string.
	 * If so, we succeeded.  If we're at the end of the pattern
	 * but not at the end of the string, we failed.
	 */
	
	if (*pattern == 0) {
	    if (*string == 0) {
		return 1;
	    } else {
		return 0;
	    }
	}
	if ((*string == 0) && (*pattern != '*')) {
	    return 0;
	}

	/* Check for a "*" as the next pattern character.  It matches
	 * any substring.  We handle this by calling ourselves
	 * recursively for each postfix of string, until either we
	 * match or we reach the end of the string.
	 */
	
	if (*pattern == '*') {
	    pattern += 1;
	    if (*pattern == 0) {
		return 1;
	    }
	    while (*string != 0) {
		if (Tcl_StringMatch(string, pattern)) {
		    return 1;
		}
		string += 1;
	    }
	    return 0;
	}
    
	/* Check for a "?" as the next pattern character.  It matches
	 * any single character.
	 */

	if (*pattern == '?') {
	    goto thisCharOK;
	}

	/* Check for a "[" as the next pattern character.  It is followed
	 * by a list of characters that are acceptable, or by a range
	 * (two characters separated by "-").
	 */
	
	if (*pattern == '[') {
	    pattern += 1;
	    while (1) {
		if ((*pattern == ']') || (*pattern == 0)) {
		    return 0;
		}
		if (*pattern == *string) {
		    break;
		}
		if (pattern[1] == '-') {
		    c2 = pattern[2];
		    if (c2 == 0) {
			return 0;
		    }
		    if ((*pattern <= *string) && (c2 >= *string)) {
			break;
		    }
		    if ((*pattern >= *string) && (c2 <= *string)) {
			break;
		    }
		    pattern += 2;
		}
		pattern += 1;
	    }
	    while ((*pattern != ']') && (*pattern != 0)) {
		pattern += 1;
	    }
	    goto thisCharOK;
	}
    
	/* If the next pattern character is '/', just strip off the '/'
	 * so we do exact matching on the character that follows.
	 */
	
	if (*pattern == '\\') {
	    pattern += 1;
	    if (*pattern == 0) {
		return 0;
	    }
	}

	/* There's no special character.  Just make sure that the next
	 * characters of each string match.
	 */
	
	if (*pattern != *string) {
	    return 0;
	}

	thisCharOK: pattern += 1;
	string += 1;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * TclWordEnd --
 *
 *	Given a pointer into a Tcl command, find the end of the next
 *	word of the command.
 *
 * Results:
 *	The return value is a pointer to the character just after the
 *	last one that's part of the word pointed to by "start".  This
 *	may be the address of the NULL character at the end of the
 *	string.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
TclWordEnd(start, nested)
    char *start;		/* Beginning of a word of a Tcl command. */
    int nested;			/* Zero means this is a top-level command.
				 * One means this is a nested command (close
				 * brace is a word terminator). */
{
    register char *p;
    int count;

    p = start;
    while (isspace(*p)) {
	p++;
    }

    /*
     * Handle words beginning with a double-quote or a brace.
     */

    if (*p == '"') {
	while (1) {
	    p++;
	    while (*p == '\\') {
		(void) Tcl_Backslash(p, &count);
		p += count;
	    }
	    if (*p == '"') {
		break;
	    }
	}
    } else if (*p == '{') {
	int braces = 1;
	while (braces != 0) {
	    p++;
	    while (*p == '\\') {
		(void) Tcl_Backslash(p, &count);
		p += count;
	    }
	    if (*p == '}') {
		braces--;
	    } else if (*p == '{') {
		braces++;
	    } else if (*p == 0) {
		return p;
	    }
	}
    }

    /*
     * Handle words that don't start with a brace or double-quote.
     * This code is also invoked if the word starts with a brace or
     * double-quote and there is garbage after the closing brace or
     * quote.  This is an error as far as Tcl_Eval is concerned, but
     * for here the garbage is treated as part of the word.
     */

    while (1) {

	/*
	 * Handle nested commands.
	 */

	while (*p == '[') {
	    p++;
	    while ((*p != ']') && (*p != 0)) {
		p = TclWordEnd(p, 1);
		if (*p == ';') {
		    p++;
		}
	    }
	    if (*p == ']') {
		p++;
	    }
	}

	/*
	 * Handle backslash sequences.  Backslash-newline isn't handled
	 * by Tcl_Backslash, so it must be checked for explicitly.
	 */

	while (*p == '\\') {
	    if (p[1] == '\n') {
		p += 2;
	    } else {
		(void) Tcl_Backslash(p, &count);
		p += count;
	    }
	}

	/*
	 * Check for end of word.  Note:  semi-colon terminates a word
	 * and also counts as a word by itself.
	 */

	if (*p == ';') {
	    if (p == start) {
		p++;
	    }
	    break;
	}
	if (isspace(*p) || (*p == 0)) {
	    break;
	}
	if ((*p == ']') && nested) {
	    break;
	}

	p++;
    }
    return p;
}
0707070035050505631006660011710000040000010655110466302661500001500000030260tcl/tclInt.h/*
 * tclInt.h --
 *
 *	Declarations of things used internally by the Tcl interpreter.
 *
 * Copyright 1987 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 *
 * $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
 */

#ifndef _TCLINT
#define _TCLINT

#ifndef _TCL
#include "tcl.h"
#endif

#define	bcopy(src,dest,count)	memcpy(dest,src,count)

/*
 * The structure below defines one Tcl command, by associating a procedure
 * with a textual string.
 */

typedef struct Command {
    int (*proc)();		/* Procedure to process command. */
    ClientData clientData;	/* Arbitrary value to pass to proc. */
    void (*deleteProc)();	/* Procedure to invoke when deleting
				 * command. */
    struct Command *nextPtr;	/* Pointer to next command in list, or NULL
				 * for end of list. */
    char name[4];		/* Name of command.  The actual size of this
				 * portion is as large as is necessary to
				 * hold the characters.  This must be the
				 * last subfield of the record. */
} Command;

#define CMD_SIZE(nameLength) ((unsigned) sizeof(Command) + nameLength - 3)

/*
 * The structure below defines a variable, which associates a string name
 * with a string value.  To cut down on the number of malloc's and free's
 * (particularly for procedure parameters), space for both the variable's
 * name and initial value is allocated at the end of the structure (in
 * "storage").  If the variable's value changes later, a new dynamic
 * string is allocated, if there is insufficient space in the current
 * storage area.
 */

typedef struct Var {
    char *value;		/* Current value of variable (either points
				 * to static space after name, or to dynamic
				 * space if VAR_DYNAMIC is set). */
    int valueLength;		/* Number of bytes of storage at the place
				 * referred to by value, not including space
				 * for NULL terminator. */
    int flags;			/* Miscellaneous flags:  see below. */
    struct Var *globalPtr;	/* If VAR_GLOBAL is set, this points to the
				 * global variable corresponding to name. */
    struct Var *nextPtr;	/* Next variable in list, or NULL for end
				 * of list. */
    char name[4];		/* Storage space for variable's name (and
				 * initial value).  The name is at the
				 * beginning, and is null-terminated.
				 * May contain more than 4 bytes (see
				 * VAR_SIZE macro below). */
} Var;

#define VAR_SIZE(nameLength, valueLength) \
	((unsigned) sizeof(Var) + nameLength + valueLength - 2)

/*
 * Variable flags:
 *
 * VAR_DYNAMIC:		1 means the storage space for the value was
 *			dynamically allocated, and must eventually be
 *			freed.
 * VAR_GLOBAL:		Used only in local variables.  Means that this
 *			is really a global variable.
 * VAR_DOESNT_EXIST:	1 means this variable has not yet been assigned
 *			a value.  Used when a "global" command refers
 *			to a variable that hasn't been set yet.
 */

#define VAR_DYNAMIC		1
#define VAR_GLOBAL		2
#define VAR_DOESNT_EXIST	4

/*
 * The structure below defines a command procedure, which consists of
 * a collection of Tcl commands plus information about arguments and
 * variables.
 */

typedef struct Proc {
    struct Interp *iPtr;	/* Interpreter for which this command
				 * is defined. */
    char *command;		/* Command that constitutes the body of
				 * the procedure (dynamically allocated). */
    Var *argPtr;		/* Pointer to first in list of variables
				 * giving names to the procedure's arguments.
				 * The order of the variables is the same
				 * as the order of the arguments.  The "value"
				 * fields of the variables are the default
				 * values. */
} Proc;

/*
 * The structure below defines a trace.  This is used to allow Tcl
 * clients to find out whenever a command is about to be executed.
 */

typedef struct Trace {
    int level;			/* Only trace commands at nesting level
				 * less than or equal to this. */
    void (*proc)();		/* Procedure to call to trace command. */
    ClientData clientData;	/* Arbitrary value to pass to proc. */
    struct Trace *nextPtr;	/* Next in list of traces for this interp. */
} Trace;

/*
 * The stucture below defines an interpreter callback, which is
 * a procedure to invoke just before an interpreter is deleted.
 */

typedef struct InterpCallback {
    void (*proc)();		/* Procedure to call. */
    ClientData clientData;	/* Value to pass to procedure. */
    struct InterpCallback *nextPtr;
				/* Next in list of callbacks for this
				 * interpreter (or NULL for end of
				 * list). */
} InterpCallback;

/*
 * The structure below defines a frame, which is a procedure invocation.
 * These structures exist only while procedures are being executed, and
 * provide a sort of call stack.
 */

typedef struct CallFrame {
    Var *varPtr;		/* First in list of all local variables
				 * and arguments for this procedure
				 * invocation. */
    int level;			/* Level of this procedure, for "uplevel"
				 * purposes (i.e. corresponds to nesting of
				 * callerVarPtr's, not callerPtr's).  1 means
				 * outer-most procedure, 0 means top-level. */
    int argc;			/* This and argv below describe name and
				 * arguments for this procedure invocation. */
    char **argv;		/* Array of arguments. */
    struct CallFrame *callerPtr;
				/* Frame of procedure that invoked this one
				 * (NULL if level == 1). */
    struct CallFrame *callerVarPtr;
				/* Frame used by caller for accessing local
				 * variables (same as callerPtr unless an
				 * "uplevel" command was active in the
				 * caller).  This field is used in the
				 * implementation of "uplevel". */
} CallFrame;

/*
 * The structure below defines one history event (a previously-executed
 * command that can be re-executed in whole or in part).
 */

typedef struct {
    char *command;		/* String containing previously-executed
				 * command. */
    int bytesAvl;		/* Total # of bytes available at *event (not
				 * all are necessarily in use now). */
} HistoryEvent;

/*
 * The structure below defines a pending revision to the most recent
 * history event.  Changes are linked together into a list and applied
 * during the next call to Tcl_RecordHistory.  See the comments at the
 * beginning of tclHistory.c for information on revisions.
 */

typedef struct HistoryRev {
    int firstIndex;		/* Index of the first byte to replace in
				 * current history event. */
    int lastIndex;		/* Index of last byte to replace in
				 * current history event. */
    int newSize;		/* Number of bytes in newBytes. */
    char *newBytes;		/* Replacement for the range given by
				 * firstIndex and lastIndex. */
    struct HistoryRev *nextPtr;	/* Next in chain of revisions to apply, or
				 * NULL for end of list. */
} HistoryRev;

/*
 * This structure defines an interpreter, which is a collection of commands
 * plus other state information related to interpreting commands, such as
 * variable storage.  The lists of commands and variables are sorted by usage:
 * each time a command or variable is used it is pulled to the front of its
 * list.
 */

typedef struct Interp {

    /*
     * Note:  the first three fields must match exactly the fields in
     * a Tcl_Interp struct (see tcl.h).  If you change one, be sure to
     * change the other.
     */

    char *result;		/* Points to result returned by last
				 * command. */
    int dynamic;		/* Non-zero means result is dynamically-
				 * allocated and must be freed by Tcl_Eval
				 * before executing the next command. */
    int errorLine;		/* When TCL_ERROR is returned, this gives
				 * the line number within the command where
				 * the error occurred (1 means first line). */
    Command *commandPtr;	/* First command in list containing all
				 * commands defined for this table. */

    /*
     * Information related to procedures and variables.  See tclProc.c
     * for usage.
     */

    Var *globalPtr;		/* First in list of all global variables for
				 * this command table. */
    Var *localPtr;		/* First in list of all local variables and
				 * arguments for the Tcl procedure that is
				 * currently being executed.  If no procedure
				 * is being executed, or if it has no vars or
				 * args, this will be NULL. */
    int numLevels;		/* Keeps track of how many nested calls to
				 * Tcl_Eval are in progress for this
				 * interpreter.  It's used to delay deletion
				 * of the table until all Tcl_Eval invocations
				 * are completed. */
    CallFrame *framePtr;	/* If a procedure is being executed, this
				 * points to the call frame for the current
				 * procedure (most recently-called).  NULL
				 * means no procedure is active. */
    CallFrame *varFramePtr;	/* Points to the call frame whose variables
				 * are currently in use (same as framePtr
				 * unless an "uplevel" command is being
				 * executed).  NULL means no procedure is
				 * active or "uplevel 0" is being exec'ed. */

    /*
     * Information related to history:
     */

    int numEvents;		/* Number of previously-executed commands
				 * to retain. */
    HistoryEvent *events;	/* Array containing numEvents entries
				 * (dynamically allocated). */
    int curEvent;		/* Index into events of place where current
				 * (or most recent) command is recorded. */
    int curEventNum;		/* Event number associated with the slot
				 * given by curEvent. */
    HistoryRev *revPtr;		/* First in list of pending revisions. */
    char *historyFirst;		/* First char. of current command executed
				 * from history module.  NULL means don't
				 * do history revision (see tclHistory.c
				 * for details on revision). */
    char *evalFirst;		/* If TCL_RECORD_BOUNDS flag set, Tcl_Eval
				 * sets this field to point to the first
				 * char. of text from which the current
				 * command came.  Otherwise Tcl_Eval sets
				 * this to NULL. */
    char *evalLast;		/* Similar to evalFirst, except points to
				 * last character of current command. */

    /*
     * Miscellaneous information:
     */

    int cmdCount;		/* Total number of times a command procedure
				 * has been called for this interpreter. */
    int noEval;			/* Non-zero means no commands should actually
				 * be executed:  just parse only.  Used in
				 * expressions when the result is already
				 * determined. */
    int flags;			/* Various flag bits.  See below. */
    Trace *tracePtr;		/* List of traces for this interpreter. */
    InterpCallback *callbackPtr;/* List of callbacks to invoke when
				 * interpreter is deleted. */
    char resultSpace[TCL_RESULT_SIZE];
				/* Static space for storing small results. */
} Interp;

/*
 * Flag bits for Interp structures:
 *
 * DELETED:		Non-zero means the interpreter has been deleted:
 *			don't process any more commands for it, and destroy
 *			the structure as soon as all nested invocations of
 *			Tcl_Eval are done.
 * ERR_IN_PROGRESS:	Non-zero means an error unwind is already in progress.
 *			Zero means a command proc has been invoked since last
 *			error occured.
 * ERR_ALREADY_LOGGED:	Non-zero means information has already been logged
 *			in $errorInfo for the current Tcl_Eval instance,
 *			so Tcl_Eval needn't log it (used to implement the
 *			"error message log" command).
 */

#define DELETED			1
#define ERR_IN_PROGRESS		2
#define ERR_ALREADY_LOGGED	4

/*
 * Additional flags passed to Tcl_Eval.  See tcl.h for other flags to
 * Tcl_Eval;  these ones are only used internally by Tcl.
 *
 * TCL_RECORD_BOUNDS	Tells Tcl_Eval to record information in the
 *			evalFirst and evalLast fields for each command
 *			executed directly from the string (top-level
 *			commands and those from command substitution).
 */

#define TCL_RECORD_BOUNDS	0x100

/*
 * Maximum number of levels of nesting permitted in Tcl commands.
 */

#define MAX_NESTING_DEPTH	100

/*
 * Procedures shared among Tcl modules but not used by the outside
 * world:
 */

extern void		TclCopyAndCollapse();
extern void		TclDeleteVars();
extern Command *	TclFindCmd();
extern int		TclFindElement();
extern Proc *		TclFindProc();
extern Proc *		TclIsProc();
extern char *		TclWordEnd();

#endif _TCLINT
0707070035050475151006660011710000040000010746260466276614200001600000005454tcl/tclTest.c/* 
 * tcl.c --
 *
 *	Test driver for TCL.
 *
 * Copyright 1987 Regents of the University of California
 * All rights reserved.
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif not lint

#include <stdio.h>
#include <sys/time.h>
#include "tcl.h"

Tcl_Interp *interp;
Tcl_CmdBuf buffer;

int
cmdEcho(clientData, interp, argc, argv)
    char *clientData;
    Tcl_Interp *interp;
    int argc;
    char **argv;
{
    int i;

    for (i = 1; ; i++) {
	if (argv[i] == NULL) {
	    if (i != argc) {
		echoError:
		sprintf(interp->result,
		    "argument list wasn't properly NULL-terminated in \"%s\" command",
		    argv[0]);
	    }
	    break;
	}
	if (i >= argc) {
	    goto echoError;
	}
	fputs(argv[i], stdout);
	if (i < (argc-1)) {
	    printf(" ");
	}
    }
    printf("\n");
    return TCL_OK;
}

void
deleteProc(clientData)
    char *clientData;
{
    printf("Deleting command with clientData \"%s\".\n", clientData);
}

int
cmdCreate(clientData, interp, argc, argv)
    ClientData clientData;		/* Not used. */
    Tcl_Interp *interp;
    int argc;
    int *argv;
{
    int count;
    if (argc != 2) {
	sprintf(interp->result, "wrong # args:  should be \"%.50s count\"",
		argv[0]);
	return TCL_ERROR;
    }
    count = atoi(argv[1]);
    for (; count > 0; count--) {
	Tcl_DeleteInterp(Tcl_CreateInterp());
    }
    return TCL_OK;
}

main()
{
    char line[1000], *cmd;
    int result, gotPartial;

    interp = Tcl_CreateInterp();
    Tcl_CreateCommand(interp, "echo", cmdEcho, (ClientData) "echo",
	    deleteProc);
    Tcl_CreateCommand(interp, "create", cmdCreate, (ClientData) "create",
	    deleteProc);
    buffer = Tcl_CreateCmdBuf();

    gotPartial = 0;
    while (1) {
	clearerr(stdin);
	if (!gotPartial) {
	    fputs("% ", stdout);
	    fflush(stdout);
	}
	if (fgets(line, 1000, stdin) == NULL) {
	    if (!gotPartial) {
		exit(0);
	    }
	    line[0] = 0;
	}
	cmd = Tcl_AssembleCmd(buffer, line);
	if (cmd == NULL) {
	    gotPartial = 1;
	    continue;
	}

	gotPartial = 0;
	result = Tcl_RecordAndEval(interp, cmd, 0);
	if (result == TCL_OK) {
	    if (*interp->result != 0) {
		printf("%s\n", interp->result);
	    }
	} else {
	    if (result == TCL_ERROR) {
		printf("Error");
	    } else {
		printf("Error %d", result);
	    }
	    if (*interp->result != 0) {
		printf(": %s\n", interp->result);
	    } else {
		printf("\n");
	    }
	}
    }
}
0707070035050474331006660011710000040000010746300466276614200001500000004160tcl/sprite.h/*
 * sprite.h --
 *
 * Common constants and type declarations for Sprite.
 *
 * Copyright 1985, 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 *
 * $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
 */

#ifndef _SPRITE
#define _SPRITE

/*
 * A boolean type is defined as an integer, not an enum. This allows a
 * boolean argument to be an expression that isn't strictly 0 or 1 valued.
 */

#ifndef TRUE
#define TRUE	1
#endif
#ifndef FALSE
#define FALSE	0
#endif

#ifndef _ASM
typedef int Boolean;

/*
 * Functions that must return a status can return a ReturnStatus to
 * indicate success or type of failure.
 */

typedef int  ReturnStatus;
#endif /* _ASM */

/*
 * The following statuses overlap with the first 2 generic statuses 
 * defined in status.h:
 *
 * SUCCESS			There was no error.
 * FAILURE			There was a general error.
 */

#define	SUCCESS			0x00000000
#define	FAILURE			0x00000001


/*
 * A nil pointer must be something that will cause an exception if 
 * referenced.  There are two nils: the kernels nil and the nil used
 * by user processes.
 */

#define NIL 		0xFFFFFFFF
#define USER_NIL 	0
#ifndef NULL
#define NULL	 	0
#endif

#ifndef _ASM
/*
 * An address is just a pointer in C.  It is defined as a character pointer
 * so that address arithmetic will work properly, a byte at a time.
 */

typedef char *Address;

/*
 * ClientData is an uninterpreted word.  It is defined as an int so that
 * kdbx will not interpret client data as a string.  Unlike an "Address",
 * client data will generally not be used in arithmetic.
 */

#ifndef _CLIENTDATA
typedef int *ClientData;
#define _CLIENTDATA
#endif

#ifndef __STDC__
#define volatile
#define const
#endif
#endif /* _ASM */


#endif /* _SPRITE */
0707070035050474311006660011710000040000010746310466276614200001500000007123tcl/stdlib.h/*
 * stdlib.h --
 *
 *	Declares facilities exported by the "stdlib" portion of
 *	the C library.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 *
 * $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
 */

#ifndef _STDLIB
#define _STDLIB

#define EXIT_SUCCESS    0
#define EXIT_FAILURE    1

/*
 *----------------------------
 * String conversion routines:
 *----------------------------
 */

extern double		atof();
extern int		atoi();
extern long int		atol();
extern double		strtod();
extern long int		strtol();
extern unsigned long	strtoul();

/*
 *------------------
 * Memory allocator:
 *------------------
 */

extern char *	alloca();
extern char *	calloc();
extern char *	malloc();
extern char *	realloc();
extern void	Mem_Bin();
extern char *	Mem_CallerPC();
extern void	Mem_DumpTrace();
extern void	Mem_PrintConfig();
extern void	Mem_PrintInUse();
extern void	Mem_PrintStats();
extern void	Mem_PrintStatsInt();
extern void	Mem_SetPrintProc();
extern void	Mem_SetTraceSizes();
extern int	Mem_Size();

/*
 * The mips compiler cannot handle some coercions on the left hand side
 */
#if defined(KERNEL) && !defined(mips)
extern 		_free();

#ifdef lint
#define		free(ptr) _free(ptr)
#else
#define		free(ptr) {_free(ptr); (ptr) = (char *) NIL; }
#endif /* lint */

#else
extern		free();
#endif /* KERNEL */

/*
 * Structure used to set up memory allocation traces.
 */

typedef struct {
    int		size;	/* Size of block to trace. */
    int		flags;	/* Flags defined below */
} Mem_TraceInfo;

/*
 * Flags to determine what type of tracing to do.
 *
 *	MEM_PRINT_TRACE		A trace record will be printed each time that
 *				an object of this size is alloc'd or freed.
 *	MEM_STORE_TRACE		The number of blocks in use by each caller
 *				up to a predefined maximum number of callers
 *				is kept in a trace array .
 *	MEM_DONT_USE_ORIG_SIZE	Don't use the original size for tracing, but use
 *				the modified size used by malloc.
 *	MEM_TRACE_NOT_INIT	The trace records stored for MEM_STORE_TRACE
 *				have not been initialized yet.
 */

#define	MEM_PRINT_TRACE		0x1
#define	MEM_STORE_TRACE		0x2
#define	MEM_DONT_USE_ORIG_SIZE	0x4
#define	MEM_TRACE_NOT_INIT	0x8

extern int	mem_SmallMinNum;
extern int	mem_LargeMinNum;
extern int	mem_LargeMaxSize;

/*
 * Statistics counters;  only incremented when tracing is enabled.
 */

extern int	mem_NumAllocs;
extern int	mem_NumFrees;

/*
 *----------------------------------------------------------------
 * Additional integer math routines, plus structures for returning
 * results from them:
 *----------------------------------------------------------------
 */

typedef struct div_t {
    int quot;
    int rem;
} div_t;

typedef struct {
    long int quot;
    long int rem;
} ldiv_t;

extern int	abs();
extern div_t	div();
extern long int	labs();
extern ldiv_t	ldiv();

/*
 *-----------------------------------
 * Miscellaneous additional routines:
 *-----------------------------------
 */

extern void	abort();
extern int	atexit();
extern char *   bsearch();
extern 		exit();
extern char *	getenv();
extern void	qsort();
extern int	rand();
extern long	random();
extern void	setenv();
extern 		srand();
extern		srandom();
extern int	system();

#endif /* _STDLIB */
0707070035050473301006660011710000040000010746320466276614200001300000021177tcl/list.h/*
 * list.h --
 *
 * Structures, macros, and routines exported by the List module.
 *
 * Copyright (C) 1985, 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 *
 * rcsid "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)"
 */

#ifndef _LIST
#define _LIST

#ifndef _SPRITE
#include "sprite.h"
#endif

/*
 * This module defines the list abstraction, which enables one to link
 * together arbitrary data structures.  Lists are doubly-linked and
 * circular.  A list contains a header followed by its real members, if
 * any.  (An empty list therefore consists of a single element, the
 * header,  whose nextPtr and prevPtr fields point to itself).  To refer
 * to a list as a whole, the user keeps a pointer to the header; that
 * header is initialized by a call to List_Init(), which creates an empty
 * list given a pointer to a List_Links structure (described below).
 * 
 * The links are contained in a two-element structure called List_Links.
 * A list joins List_Links records (that is, each List_Links structure
 * points to other List_Links structures), but if the List_Links is the
 * first field within a larger structure, then the larger structures are
 * effectively linked together as follows:
 * 
 *	      header
 *	  (List_Links)		   first elt.		    second elt.
 *	-----------------	-----------------	----------------- 
 * ..->	|    nextPtr	| ---->	|  List_Links	| ---->	|  List_Links	|----..
 *	| - - - - - - -	|	|		|	|		| 
 * ..--	|    prevPtr	| <----	|		| <----	|		|<---..
 *	-----------------	- ---  ---  ---	-	- ---  ---  ---	-
 *				|    rest of	|	|    rest of	| 
 *				|   structure	|	|   structure	| 
 *				|		|	|		|
 *				|      ...	|	|      ...	| 
 *				-----------------	----------------- 
 * 
 * It is possible to link structures through List_Links fields that are
 * not at the beginning of the larger structure, but it is then necessary
 * to perform pointer arithmetic to find the beginning of the larger
 * structure, given a pointer to some point within it.
 * 
 * A typical structure might be something like:
 * 
 *      typedef struct {
 *                  List_Links links;
 *                  char ch;
 *                  integer flags;
 *      } EditChar;
 *  
 * Before an element is inserted in a list for the first time, it must
 * be initialized by calling the macro List_InitElement().
 */


/*
 * data structure for lists
 */

typedef struct List_Links {
    struct List_Links *prevPtr;
    struct List_Links *nextPtr;
} List_Links;

/*
 * procedures
 */

void	List_Init();    /* initialize a header to a list */
void    List_Insert();  /* insert an element into a list */
void    List_ListInsert();  /* insert a list into a list */
void 	List_Remove();  /* remove an element from a list */
void 	List_Move();    /* move an element elsewhere in a list */

/*
 * ----------------------------------------------------------------------------
 *
 * List_InitElement --
 *
 *      Initialize a list element.  Must be called before an element is first
 *	inserted into a list.
 *
 * ----------------------------------------------------------------------------
 */
#define List_InitElement(elementPtr) \
    (elementPtr)->prevPtr = (List_Links *) NIL; \
    (elementPtr)->nextPtr = (List_Links *) NIL;
    
/*
 * Macros for stepping through or selecting parts of lists
 */

/*
 * ----------------------------------------------------------------------------
 *
 * LIST_FORALL --
 *
 *      Macro to loop through a list and perform an operation on each member.
 *
 *      Usage: LIST_FORALL(headerPtr, itemPtr) {
 *                 / * 
 *                   * operation on itemPtr, which points to successive members
 *                   * of the list
 *                   * 
 *                   * It may be appropriate to first assign
 *                   *          foobarPtr = (Foobar *) itemPtr;
 *                   * to refer to the entire Foobar structure.
 *                   * /
 *             }
 *
 *      Note: itemPtr must be a List_Links pointer variable, and headerPtr
 *      must evaluate to a pointer to a List_Links structure.
 *
 * ----------------------------------------------------------------------------
 */

#define LIST_FORALL(headerPtr, itemPtr) \
        for (itemPtr = List_First(headerPtr); \
             !List_IsAtEnd((headerPtr),itemPtr); \
             itemPtr = List_Next(itemPtr))

/*
 * ----------------------------------------------------------------------------
 *
 * List_IsEmpty --
 *
 *      Macro: Boolean value, TRUE if the given list does not contain any
 *      members.
 *
 *      Usage: if (List_IsEmpty(headerPtr)) ...
 *
 * ----------------------------------------------------------------------------
 */

#define List_IsEmpty(headerPtr) \
        ((headerPtr) == (headerPtr)->nextPtr)

/*
 * ----------------------------------------------------------------------------
 *
 * List_IsAtEnd --
 *
 *      Macro: Boolean value, TRUE if itemPtr is after the end of headerPtr
 *      (i.e., itemPtr is the header of the list).
 *
 *      Usage: if (List_IsAtEnd(headerPtr, itemPtr)) ...
 *
 * ----------------------------------------------------------------------------
 */


#define List_IsAtEnd(headerPtr, itemPtr) \
        ((itemPtr) == (headerPtr))


/*
 * ----------------------------------------------------------------------------
 *
 * List_First --
 *
 *      Macro to return the first member in a list, which is the header if
 *      the list is empty.
 *
 *      Usage: firstPtr = List_First(headerPtr);
 *
 * ----------------------------------------------------------------------------
 */

#define List_First(headerPtr) ((headerPtr)->nextPtr)

/*
 * ----------------------------------------------------------------------------
 *
 * List_Last --
 *
 *      Macro to return the last member in a list, which is the header if
 *      the list is empty.
 *
 *      Usage: lastPtr = List_Last(headerPtr);
 *
 * ----------------------------------------------------------------------------
 */

#define List_Last(headerPtr) ((headerPtr)->prevPtr)

/*
 * ----------------------------------------------------------------------------
 *
 * List_Prev --
 *
 *      Macro to return the member preceding the given member in its list.
 *      If the given list member is the first element in the list, List_Prev
 *      returns the list header.
 *
 *      Usage: prevPtr = List_Prev(itemPtr);
 *
 * ----------------------------------------------------------------------------
 */

#define List_Prev(itemPtr) ((itemPtr)->prevPtr)

/*
 * ----------------------------------------------------------------------------
 *
 * List_Next --
 *
 *      Macro to return the member following the given member in its list.
 *      If the given list member is the last element in the list, List_Next
 *      returns the list header.
 *
 *      Usage: nextPtr = List_Next(itemPtr);
 *
 * ----------------------------------------------------------------------------
 */

#define List_Next(itemPtr) ((itemPtr)->nextPtr)


/*
 * ----------------------------------------------------------------------------
 *      The List_Insert procedure takes two arguments.  The first argument
 *      is a pointer to the structure to be inserted into a list, and
 *      the second argument is a pointer to the list member after which
 *      the new element is to be inserted.  Macros are used to determine
 *      which existing member will precede the new one.
 *
 *      The List_Move procedure takes a destination argument with the same
 *      semantics as List_Insert.
 *
 *      The following macros define where to insert the new element
 *      in the list:
 *
 *      LIST_AFTER(itemPtr)     --      insert after itemPtr
 *      LIST_BEFORE(itemPtr)    --      insert before itemPtr
 *      LIST_ATFRONT(headerPtr) --      insert at front of list
 *      LIST_ATREAR(headerPtr)  --      insert at end of list
 *
 *      For example, 
 *
 *              List_Insert(itemPtr, LIST_AFTER(otherPtr));
 *
 *      will insert itemPtr following otherPtr in the list containing otherPtr.
 * ----------------------------------------------------------------------------
 */

#define LIST_AFTER(itemPtr) ((List_Links *) itemPtr)

#define LIST_BEFORE(itemPtr) (((List_Links *) itemPtr)->prevPtr)

#define LIST_ATFRONT(headerPtr) ((List_Links *) headerPtr)

#define LIST_ATREAR(headerPtr) (((List_Links *) headerPtr)->prevPtr)

#endif /* _LIST */
0707070035050473271006660011710000040000010746330466276614200001500000002374tcl/string.h/*
 * string.h --
 *
 *	Declarations of ANSI C library procedures for string handling.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 *
 * $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
 */

#ifndef _STRING
#define _STRING

extern char *	memchr();
extern int	memcmp();
extern char *	memcpy();
extern char *	memset();

extern char *	strcat();
extern char *	strchr();
extern int	strcmp();
extern char *	strcpy();
extern int	strcspn();
extern char *	strerror();
extern int	strlen();
extern char *	strncat();
extern int	strncmp();
extern char *	strncpy();
extern char *	strpbrk();
extern char *	strrchr();
extern int	strspn();
extern char *	strstr();
extern char *   strtok();

/*
 * Obsolete library procedures from BSD, supported for compatibility:
 */

extern char	*index();
extern char	*rindex();

#endif /* _STRING */
0707070035050473261006660011710000040000010746350466276614200001700000012313tcl/strerror.c/* 
 * strerror.c --
 *
 *	Source code for the "strerror" library routine.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

#include <stdio.h>
#include <string.h>

/*
 * List of known errors:
 */

char *sys_errlist[] = {
    "no error (operation succeeded",		/* 0 */
    "not owner",				/* EPERM */
    "no such file or directory",		/* ENOENT */
    "no such process",				/* ESRCH */
    "interrupted system call",			/* EINTR */
    "I/O error",				/* EIO */
    "no such device or address",		/* ENXIO */
    "argument list too long",			/* E2BIG */
    "exec format error",			/* ENOEXEC */
    "bad file number",				/* EBADF */
    "no children",				/* ECHILD */
    "no more processes",			/* EAGAIN */
    "not enough memory",			/* ENOMEM */
    "permission denied",			/* EACCESS */
    "bad address in system call argument",	/* EFAULT */
    "block device required",			/* ENOTBLK */
    "mount device busy",			/* EBUSY */
    "file already exists",			/* EEXIST */
    "cross-domain link",			/* EXDEV */
    "no such device",				/* ENODEV */
    "not a directory",				/* ENOTDIR */
    "illegal operation on a directory",		/* EISDIR */
    "invalid argument",				/* EINVAL */
    "file table overflow",			/* ENFILE */
    "too many open files",			/* EMFILE */
    "inappropriate device for ioctl",		/* ENOTTY */
    "text file or pseudo-device busy",		/* ETXTBSY */
    "file too large",				/* EFBIG */
    "no space left in file system domain",	/* ENOSPC */
    "illegal seek",				/* ESPIPE */
    "read-only file system",			/* EROFS */
    "too many links",				/* EMLINK */
    "broken pipe",				/* EPIPE */
    "math argument out of range",		/* EDOM */
    "math result unrepresentable",		/* ERANGE */
    "operation would block",			/* EWOULDBLOCK */
    "operation now in progress",		/* EINPROGRESS */
    "operation already in progress",		/* EALREADY */
    "socket operation on non-socket",		/* ENOTSOCK */
    "destination address required",		/* EDESTADDRREQ */
    "message too long",				/* EMSGSIZE */
    "protocol wrong type for socket",		/* EPROTOTYPE */
    "bad proocol option",			/* ENOPROTOOPT */
    "protocol not suppored",			/* EPROTONOSUPPORT */
    "socket type not supported",		/* ESOCKTNOSUPPORT */
    "operation not supported on socket",	/* EOPNOTSUPP */
    "protocol family not supported",		/* EPFNOSUPPORT */
    "address family not supported by protocol family",	/* EAFNOSUPPORT */
    "address already in use",			/* EADDRINUSE */
    "can't assign requested address",		/* EADDRNOTAVAIL */
    "network is down",				/* ENETDOWN */
    "network is unreachable",			/* ENETUNREACH */
    "network dropped connection on reset",	/* ENETRESET */
    "software caused connection abort",		/* ECONNABORTED */
    "connection reset by peer",			/* ECONNRESET */
    "no buffer space available",		/* ENOBUFS */
    "socket is already connected",		/* EISCONN */
    "socket is not connected",			/* ENOTCONN */
    "can't send afer socket shutdown",		/* ESHUTDOWN */
    "undefined error (59)",			/* not used */
    "connection timed out",			/* ETIMEDOUT */
    "connection refused",			/* ECONNREFUSED */
    "too many levels of symbolic links",	/* ELOOP */
    "file name too long",			/* ENAMETOOLONG */
    "host is down",				/* EHOSTDOWN */
    "host is unreachable",			/* EHOSTUNREACH */
    "directory not empty",			/* ENOTEMPTY */
    "too many processes",			/* EPROCLIM */
    "too many users",				/* EUSERS */
    "disk quota exceeded",			/* EDQUOT */
    "stale remote file handle",			/* ESTALE */
    "pathname hit remote file system",		/* EREMOTE */
    "undefined error (72)",			/* not used */
    "undefined error (73)",			/* not used */
    "undefined error (74)",			/* not used */
    "undefined error (75)",			/* not used */
    "undefined error (76)",			/* not used */
    "identifier removed",			/* EIDRM */
};
int sys_nerr = sizeof(sys_errlist)/sizeof(char *);

/*
 *----------------------------------------------------------------------
 *
 * strerror --
 *
 *	Map an integer error number into a printable string.
 *
 * Results:
 *	The return value is a pointer to a string describing
 *	error.  The first character of string isn't capitalized.
 *
 * Side effects:
 *	Each call to this procedure may overwrite the value returned
 *	by the previous call.
 *
 *----------------------------------------------------------------------
 */

char *
strerror(error)
    int error;			/* Integer identifying error (must be
				 * one of the officially-defined Sprite
				 * errors, as defined in errno.h). */
{
    static char defaultMsg[50];

    if ((error <= sys_nerr) && (error > 0)) {
	return sys_errlist[error];
    }
    (void) sprintf(defaultMsg, "unknown error (%d)", error);
    return defaultMsg;
}
0707070035050473251006660011710000040000010746400466276614200001500000002701tcl/strspn.c/* 
 * strspn.c --
 *
 *	Source code for the "strspn" library routine.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

#include <string.h>

/*
 *----------------------------------------------------------------------
 *
 * strspn --
 *
 *	Compute the length of the maximum initial segment of "string"
 *	whose characters all are in "chars".
 *
 * Results:
 *	The return value is the length of the initial segment (0 if the
 *	first character isn't in "chars".
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
strspn(string, chars)
    char *string;			/* String to search. */
    char *chars;			/* Characters to look for in string. */
{
    register char c, *p, *s;

    for (s = string, c = *s; c != 0; s++, c = *s) {
	for (p = chars; *p != 0; p++) {
	    if (c == *p) {
		goto next;
	    }
	}
	break;
	next: ;
    }
    return s-string;
}
0707070035050473241006660011710000040000010746410466276614200001600000002705tcl/strpbrk.c/* 
 * strpbrk.c --
 *
 *	Source code for the "strpbrk" library routine.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

#include <string.h>

/*
 *----------------------------------------------------------------------
 *
 * strpbrk --
 *
 *	Search a string for a character from a given set.
 *
 * Results:
 *	The return value is the address of the first character
 *	in "string" that is also a character in "chars".  If there
 *	is no such character, then 0 is returned.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
strpbrk(string, chars)
    register char *string;		/* String to search. */
    char *chars;			/* Characters to look for in string. */
{
    register char c, *p;

    for (c = *string; c != 0; string++, c = *string) {
	for (p = chars; *p != 0; p++) {
	    if (c == *p) {
		return string;
	    }
	}
    }
    return 0;
}
0707070035050473231006660011710000040000010746420466276614300001500000002525tcl/strchr.c/* 
 * strchr.c --
 *
 *	Source code for the "strchr" library routine.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

#include <string.h>

/*
 *----------------------------------------------------------------------
 *
 * strchr --
 *
 *	Locate the first appearance of a character in a string.
 *
 * Results:
 *	The return value is the address of the first appearance
 *	in string of c.  If c doesn't appear in string then 0
 *	is returned.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
strchr(string, c)
    register char *string;		/* String to search. */
    register char c;			/* Desired character. */
{
    while (1) {
	if (*string == c) {
	    return string;
	}
	if (*string++ == 0) {
	    return (char *) 0;
	}
    }
}
0707070035050471741006660011710000040000010746430466276614300001500000004352tcl/strtol.c/* 
 * strtol.c --
 *
 *	Source code for the "strtol" library procedure.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

#include <stdlib.h>
#include <ctype.h>


/*
 *----------------------------------------------------------------------
 *
 * strtol --
 *
 *	Convert an ASCII string into an integer.
 *
 * Results:
 *	The return value is the integer equivalent of string.  If endPtr
 *	is non-NULL, then *endPtr is filled in with the character
 *	after the last one that was part of the integer.  If string
 *	doesn't contain a valid integer value, then zero is returned
 *	and *endPtr is set to string.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

long int
strtol(string, endPtr, base)
    char *string;		/* String of ASCII digits, possibly
				 * preceded by white space.  For bases
				 * greater than 10, either lower- or
				 * upper-case digits may be used.
				 */
    char **endPtr;		/* Where to store address of terminating
				 * character, or NULL. */
    int base;			/* Base for conversion.  Must be less
				 * than 37.  If 0, then the base is chosen
				 * from the leading characters of string:
				 * "0x" means hex, "0" means octal, anything
				 * else means decimal.
				 */
{
    register char *p;
    int result;

    /*
     * Skip any leading blanks.
     */

    p = string;
    while (isspace(*p)) {
	p += 1;
    }

    /*
     * Check for a sign.
     */

    if (*p == '-') {
	p += 1;
	result = -(strtoul(p, endPtr, base));
    } else {
	if (*p == '+') {
	    p += 1;
	}
	result = strtoul(p, endPtr, base);
    }
    if ((result == 0) && (endPtr != 0) && (*endPtr == p)) {
	*endPtr = string;
    }
    return result;
}
0707070035050471731006660011710000040000010746440466276614300001500000003567tcl/strstr.c/* 
 * strstr.c --
 *
 *	Source code for the "strstr" library routine.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

/*
 *----------------------------------------------------------------------
 *
 * strstr --
 *
 *	Locate the first instance of a substring in a string.
 *
 * Results:
 *	If string contains substring, the return value is the
 *	location of the first matching instance of substring
 *	in string.  If string doesn't contain substring, the
 *	return value is 0.  Matching is done on an exact
 *	character-for-character basis with no wildcards or special
 *	characters.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
strstr(string, substring)
    register char *string;	/* String to search. */
    char *substring;		/* Substring to try to find in string. */
{
    register char *a, *b;

    /* First scan quickly through the two strings looking for a
     * single-character match.  When it's found, then compare the
     * rest of the substring.
     */

    b = substring;
    if (*b == 0) {
	return string;
    }
    for ( ; *string != 0; string += 1) {
	if (*string != *b) {
	    continue;
	}
	a = string;
	while (1) {
	    if (*b == 0) {
		return string;
	    }
	    if (*a++ != *b++) {
		break;
	    }
	}
	b = substring;
    }
    return (char *) 0;
}
0707070035050471721006660011710000040000010746450466276614300001600000010427tcl/strtoul.c/* 
 * strtoul.c --
 *
 *	Source code for the "strtoul" library procedure.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif /* not lint */

#include <sprite.h>
#include <stdlib.h>
#include <ctype.h>

/*
 * The table below is used to convert from ASCII digits to a
 * numerical equivalent.  It maps from '0' through 'z' to integers
 * (100 for non-digit characters).
 */

static char cvtIn[] = {
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9,		/* '0' - '9' */
    100, 100, 100, 100, 100, 100, 100,		/* punctuation */
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,	/* 'A' - 'Z' */
    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
    30, 31, 32, 33, 34, 35,
    100, 100, 100, 100, 100, 100,		/* punctuation */
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,	/* 'a' - 'z' */
    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
    30, 31, 32, 33, 34, 35};

/*
 *----------------------------------------------------------------------
 *
 * strtoul --
 *
 *	Convert an ASCII string into an integer.
 *
 * Results:
 *	The return value is the integer equivalent of string.  If endPtr
 *	is non-NULL, then *endPtr is filled in with the character
 *	after the last one that was part of the integer.  If string
 *	doesn't contain a valid integer value, then zero is returned
 *	and *endPtr is set to string.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

unsigned long int
strtoul(string, endPtr, base)
    char *string;		/* String of ASCII digits, possibly
				 * preceded by white space.  For bases
				 * greater than 10, either lower- or
				 * upper-case digits may be used.
				 */
    char **endPtr;		/* Where to store address of terminating
				 * character, or NULL. */
    int base;			/* Base for conversion.  Must be less
				 * than 37.  If 0, then the base is chosen
				 * from the leading characters of string:
				 * "0x" means hex, "0" means octal, anything
				 * else means decimal.
				 */
{
    register char *p;
    register unsigned long int result = 0;
    register unsigned digit;
    int anyDigits = FALSE;

    /*
     * Skip any leading blanks.
     */

    p = string;
    while (isspace(*p)) {
	p += 1;
    }

    /*
     * If no base was provided, pick one from the leading characters
     * of the string.
     */
    
    if (base == 0)
    {
	if (*p == '0') {
	    p += 1;
	    if (*p == 'x') {
		p += 1;
		base = 16;
	    } else {

		/*
		 * Must set anyDigits here, otherwise "0" produces a
		 * "no digits" error.
		 */

		anyDigits = TRUE;
		base = 8;
	    }
	}
	else base = 10;
    } else if (base == 16) {

	/*
	 * Skip a leading "0x" from hex numbers.
	 */

	if ((p[0] == '0') && (p[1] == 'x')) {
	    p += 2;
	}
    }

    /*
     * Sorry this code is so messy, but speed seems important.  Do
     * different things for base 8, 10, 16, and other.
     */

    if (base == 8) {
	for ( ; ; p += 1) {
	    digit = *p - '0';
	    if (digit > 7) {
		break;
	    }
	    result = (result << 3) + digit;
	    anyDigits = TRUE;
	}
    } else if (base == 10) {
	for ( ; ; p += 1) {
	    digit = *p - '0';
	    if (digit > 9) {
		break;
	    }
	    result = (10*result) + digit;
	    anyDigits = TRUE;
	}
    } else if (base == 16) {
	for ( ; ; p += 1) {
	    digit = *p - '0';
	    if (digit > ('z' - '0')) {
		break;
	    }
	    digit = cvtIn[digit];
	    if (digit > 15) {
		break;
	    }
	    result = (result << 4) + digit;
	    anyDigits = TRUE;
	}
    } else {
	for ( ; ; p += 1) {
	    digit = *p - '0';
	    if (digit > ('z' - '0')) {
		break;
	    }
	    digit = cvtIn[digit];
	    if (digit >= base) {
		break;
	    }
	    result = result*base + digit;
	    anyDigits = TRUE;
	}
    }

    /*
     * See if there were any digits at all.
     */

    if (!anyDigits) {
	p = string;
    }

    if (endPtr != NULL) {
	*endPtr = p;
    }

    return result;
}
0707070035050467531006660011710000040000010746460466276614300001400000003036tcl/panic.c/* 
 * panic.c --
 *
 *	Source code for the "panic" library procedure.
 *
 * Copyright 1988 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 */

#ifndef lint
static char rcsid[] = "$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)";
#endif not lint

#include <stdio.h>
#include <stdlib.h>
#include <varargs.h>

/*
 *----------------------------------------------------------------------
 *
 * panic --
 *
 *	Print an error message and kill the process.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	The process dies, entering the debugger if possible.
 *
 *----------------------------------------------------------------------
 */

#ifndef lint
void
panic(va_alist)
    va_dcl			/* char *format, then any number of additional
				 * values to be printed under the control of
				 * format.  This is all just the same as you'd
				 * pass to printf. */
{
    char *format;
    va_list args;

    va_start(args);
    format = va_arg(args, char *);
    (void) vfprintf(stderr, format, args);
    (void) fflush(stderr);
    abort();
}
#else
/* VARARGS1 */
/* ARGSUSED */
void
panic(format)
    char *format;
{
    return;
}
#endif lint
0707070035050467471006640011710000040000010746500466276614300001400000005415tcl/changesRecent user-visible changes to Tcl:

1. No more [command1] [command2] construct for grouping multiple
commands on a single command line.

2. Semi-colon now available for grouping commands on a line.

3. For a command to span multiple lines, must now use backslash-return
at the end of each line but the last.

4. "Var" command has been changed to "set".

5. Double-quotes now available as an argument grouping character.

6. "Return" may be used at top-level.

7. More backslash sequences available now.  In particular, backslash-newline
may be used to join lines in command files.

8. New or modified built-in commands:  case, return, for, glob, info,
print, return, set, source, string, uplevel.

9. After an error, the variable "errorInfo" is filled with a stack
trace showing what was being executed when the error occurred.

10. Command abbreviations are accepted when parsing commands, but
are not recommended except for purely-interactive commands.

11. $, set, and expr all complain now if a non-existent variable is
referenced.

12. History facilities exist now.  See Tcl.man and Tcl_RecordAndEval.man.

13. Changed to distinguish between empty variables and those that don't
exist at all.  Interfaces to Tcl_GetVar and Tcl_ParseVar have changed
(NULL return value is now possible).  *** POTENTIAL INCOMPATIBILITY ***

14. Changed meaning of "level" argument to "uplevel" command (1 now means
"go up one level", not "go to level 1"; "#1" means "go to level 1").
*** POTENTIAL INCOMPATIBILITY ***

15. 3/19/90 Added "info exists" option to see if variable exists.

16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.

17. 3/19/90 Added extra errorInfo option to "error" command.

18. 3/21/90 Double-quotes now only affect space:  command, variable,
and backslash substitutions still occur inside double-quotes.
*** POTENTIAL INCOMPATIBILITY ***

19. 3/21/90 Added support for \r.

20. 3/21/90 List, concat, eval, and glob commands all expect at least
one argument now.  *** POTENTIAL INCOMPATIBILITY ***

21. 3/22/90 Added "?:" operators to expressions.

22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.

------------------- Released version 3.1 ---------------------

23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".

24. 3/29/90 Semi-colon is not treated specially when enclosed in
double-quotes.

------------------- Released version 3.2 ---------------------

25. 4/16/90 Rewrote "exec" not to use select or signals anymore.
Should be more Sys-V compatible, and no slower in the normal case.

26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code
left in Tcl, now), and added Tcl_TildeSubst procedure.  Added automatic
tilde-substitution in many commands, including "glob".

------------------- Released version 3.3 ---------------------
0707070035050467411004440011710000040000010746510466276614300001300000004454tcl/READMETcl

by John Ousterhout
University of California at Berkeley

This directory contains the sources for Tcl, an embeddable tool command
language.  For an introduction to the facilities provided by Tcl, see
the paper ``Tcl:  An Embeddable Command Language'', in the Proceedings
of the 1990 Winter USENIX Conference.  A copy of that paper is included
in this directory in Postcript form:  it's in the file "usenix.ps".

This file assumes that you have received a Tcl distribution and are going
to use Tcl on a UNIX system;  if you're running under Sprite at Berkeley,
then some of the notes here may be incorrect.

The documentation for Tcl is present in this directory as a set of
files with ".man" extensions.  The file "Tcl.man" gives an overall
description of the Tcl language and facilities, and the other ".man
files describe the library procedures that Tcl provides for tools to use.
Read the "Tcl" man page first.  To print any of the man pages, use a
command like

		ditroff <file>

where <page> is the name of the man page you'd like to print.  Don't
specifiy any macros.

Type "make" to generate the Tcl library, and type "make tclTest" to
create a simple test program that you can use to try out the Tcl facilities.
TclTest is just a main-program sandwich around the Tcl library.  It reads
standard input until it reaches the end of a line where parentheses and
backslashes are balanced, then sends everything it's read to the Tcl
interpreter.  When the Tcl interpreter returns, tclTest prints the return
value or error message.  TclTest defines a few other additional commands
most notably:

		echo arg arg ...

The "echo" command prints its arguments on standard output, separated by
spaces.

There is a test suite for Tcl in the subdirectory "tests".  Read the
README file in that directory for more information on how to use it.

The file "changes" describes recent changes that have been made to Tcl.
If this isn't your first Tcl release, you should probably look through
"changes" to see what's changed.  If the major release number has changed,
i.e. from 2.x to 3.x, it means that there have been changes that aren't
backward-compatible.

I can't promise to provide a lot of help to people trying to use Tcl, but
I am interested in hearing about bugs or suggestions for improvements.
Send them to me at "[email protected]".
0707070035050467401004440011710000040000010746520466276614400001400000173100tcl/Tcl.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'
.so \*(]ltmac.sprite
.de UL
\\$1\l'|0\(ul'\\$2
..
.HS Tcl tcl
.BS
.SH NAME
Tcl \- overview of tool command language facilities
.BE

.SH INTRODUCTION
.PP
Tcl stands for ``tool command language'' and is pronounced ``tickle.''
It is actually two things:
a language and a library.
First, Tcl is a simple textual language,
intended primarily for issuing commands to interactive programs such
as text editors, debuggers, illustrators, and shells.  It has
a simple syntax and is also programmable, so
Tcl users can write command procedures to provide more powerful
commands than those in the built-in set.
.PP
Second, Tcl is a library package that can be embedded in application
programs.  The Tcl library consists of a parser for the Tcl
language, routines to implement the Tcl built-in commands, and
procedures that allow each application to extend Tcl with additional
commands specific to that application.  The application program
generates Tcl commands and passes them to the Tcl parser for
execution.  Commands may be generated
by reading characters from an input
source, or by associating command strings with elements of the
application's user interface, such as menu entries, buttons, or
keystrokes.
When the Tcl library receives commands it parses them
into component fields and executes built-in commands directly.
For commands implemented by the
application, Tcl calls back to the application to execute the
commands.  In many cases commands will invoke recursive invocations
of the Tcl interpreter by passing in additional strings to execute
(procedures, looping commands, and conditional commands all work
in this way).
.PP
An application program gains three advantages by using Tcl for
its command language.  First, Tcl provides a standard syntax:  once
users know Tcl, they will be able to issue commands easily
to any Tcl-based application.  Second, Tcl provides programmability.
All a Tcl application needs to do is to implement a few
application-specific low-level commands.  Tcl provides many utility
commands plus a general programming interface for building up
complex command procedures.  By using Tcl, applications need not
re-implement these features.  Third, Tcl will eventually provide
a mechanism for communicating between applications:  it will be
possible to send Tcl commands from one application to another.
The common Tcl language framework will make it easier for applications
to communicate with one another.  The communication features are not
implemented in the current version of Tcl.
.PP
This manual page focusses primarily on the Tcl language.  It describes
the language syntax and the built-in commands that will be available in
any application based on Tcl.  The individual library
procedures are described in more detail in separate manual pages, one
per procedure.

.SH "INTERPRETERS"
.PP
The central data structure in Tcl is an interpreter (C type
``Tcl_Interp'').  An interpreter consists of a set of command
bindings, a set of variable values, and a few other miscellaneous
pieces of state.  Each Tcl command is interpreted in the context
of a particular interpreter.
Some Tcl-based applications will maintain
multiple interpreters simultaneously, each associated with a
different widget or portion of the application.
Interpreters are relatively lightweight structures.  They can
be created and deleted quickly, so application programmers should feel free to
use multiple interpreters if that simplifies the application.
Eventually Tcl will provide a mechanism for sending Tcl commands
and results back and forth between interpreters, even if the
interpreters are managed by different processes.

.SH "DATA TYPES"
.PP
Tcl supports only one type of data:  strings.  All commands,
all arguments to commands, all command results, and all variable values
are strings.
Where commands require numeric arguments or return numeric results,
the arguments and results are passed as strings.
Many commands expect their string arguments to have certain formats,
but this interpretation is
up to the individual commands.  For example, arguments often contain
Tcl command strings, which may get executed as part of the commands.
The easiest way to understand the Tcl interpreter is to remember that
everything is just an operation on a string.  In many cases Tcl constructs
will look similar to more structured constructs from other languages.
However, the Tcl constructs
are not structured at all;  they are just strings of characters, and this
gives them a different behavior than the structures they may look like.
.PP
Although the exact interpretation of a Tcl string depends on who is
doing the interpretation, there are three common forms that strings
take:  commands, expressions, and lists.  The major sections below
discuss these three forms in more detail.

.SH "BASIC COMMAND SYNTAX"
.PP
The Tcl language has syntactic similarities to both the Unix shells
and Lisp.  However, the interpretation of commands is different
in Tcl than in either of those other two systems.
A Tcl command string consists of one or more commands separated
by newline characters or semi-colons.
Each command consists of a collection of fields separated by
white space (spaces or tabs).
The first field must be the name of a command, and the
additional fields, if any, are arguments that will be passed to
that command.  For example, the command
.DS
\fBset a 22\fR
.DE
has three fields:  the first, \fBset\fR, is the name of a Tcl command, and
the last two, \fBa\fR and \fB22\fR, will be passed as arguments to
the \fBset\fR command.  The command name may refer either to a built-in
Tcl command, an application-specific command bound in with the library
procedure \fBTcl_CreateCommand\fR, or a command procedure defined with the
\fBproc\fR built-in command.
Arguments are passed literally as
text strings.  Individual commands may interpret those strings in any
fashion they wish.  The \fBset\fR command, for example, will treat its
first argument as the name of a variable and its second argument as a
string value to assign to that variable.  For other commands arguments
may be interpreted as integers, lists, file names, or Tcl commands.
.PP
Command names may be abbreviated as long as the abbreviation is unique.
However, it's probably a bad idea to use abbreviations in command scripts
and other forms that will be re-used over time:  changes to the command
set may cause abbreviations to become ambiguous, resulting in scripts
that no longer work.  Abbreviations are intended primarily for
commands that are typed interactively, invoked once, and discarded.
Also, command abbreviations are disallowed if the global variable
\fBnoAbbrev\fR has the value \fB1\fR.

.SH "COMMENTS"
.PP
If the first non-blank character in a command is \fB#\fR, then everything
from the \fB#\fR up through the next newline character is treated as
a comment and ignored.

.SH "GROUPING ARGUMENTS WITH DOUBLE-QUOTES"
.VS
.PP
Normally each argument field ends at the next white space, but
double-quotes may be used to create arguments with embedded
space.  If an argument
field begins with a double-quote, then the argument isn't
terminated by white space (including newlines) or a semi-colon
(see below for information on semi-colons);  instead it ends at the next
double-quote character.  The double-quotes are not included
in the resulting argument.  For example, the
command
.DS
\fBset a "This is a single argument"\fR
.DE
will pass two arguments to \fBset\fR:  \fBa\fR and
\fBThis is a single argument\fR.  Within double-quotes, command
substitutions, variable substitutions, and backslash substitutions
still occur, as described below.  If the first character of a
command field is not a quote, then quotes receive no special
interpretation in the parsing of that field.

.SH "GROUPING ARGUMENTS WITH BRACES"
.PP
Curly braces may also be used for grouping arguments.  They are
similar to quotes except for two differences.  First, they nest;
this makes them easier to use for complicated arguments like nested Tcl
command strings.  Second, the substitutions described below for
commands, variables, and backslashes do \fInot\fR occur in arguments
enclosed in braces, so braces can be used to prevent substitutions
where they are undesirable.
If an argument field
begins with a left brace, then the argument ends at the matching
right brace.  Tcl will strip off the outermost layer of braces
and pass the information between the braces to the command without
any further modification.  For example, in the command
.VE
.DS
\fBset a {xyz a {b c d}}\fR
.DE
the \fBset\fR command will receive two arguments: \fBa\fR
and \fBxyz a {b c d}\fR.
.PP
When braces or quotes are in effect, the matching brace
or quote need not be on
the same line as the starting quote or brace;  in this case
the newline will be
included in the argument field along with any other characters up to the
matching brace or quote.  For example, the \fBeval\fR command
takes one
argument, which is a command string;  \fBeval\fR invokes the Tcl
interpreter to execute the command string.  The command
.DS
\fBeval {
	set a 22
	set b 33
}\fR
.DE
will assign the value \fB22\fR to \fBa\fR and \fB33\fR to \fBb\fR.
.PP
If the first character of a command field is not a left
brace, then neither left nor right
braces in the field will be treated specially (except as part of
variable substitution;  see below).

.SH "COMMAND SUBSTITUTION WITH BRACKETS"
.PP
If an open bracket occurs in a field of a command, then
command substitution occurs (except for fields enclosed in
braces).  All of the text up to the matching
close bracket is treated as a Tcl command and executed immediately.
Then the result of that command is substituted for the bracketed
text.  For example, consider the command
.DS
\fBset a [set b]\fR
.DE
When the \fBset\fR command has only a single argument, it is the
name of a variable and \fBset\fR returns the contents of that
variable.  In this case, if variable \fBb\fR has the value \fBfoo\fR,
then the command above is equivalent to the command
.DS
\fBset a foo\fR
.DE
Brackets can be used in more complex ways.  For example, if the
variable \fBb\fR has the value \fBfoo\fR and the variable \fBc\fR
has the value \fBgorp\fR, then the command
.DS
\fBset a xyz[set b].[set c]\fR
.DE
is equivalent to the command
.DS
\fBset a xyzfoo.gorp\fR
.DE
A bracketed command need not be all on one line:  newlines within
brackets are treated as argument separators, not command separators.
If a field is enclosed in braces then the brackets and the characters
between them are not interpreted specially;  they are passed through
to the argument verbatim.

.SH "VARIABLE SUBSTITUTION WITH $"
.PP
The dollar sign (\fB$\fR) may be used as a special shorthand form
for substituting variables.  If \fB$\fR appears in an argument that
isn't enclosed in braces
then variable substitution will occur.  The characters after
the \fB$\fR, up to the first character that isn't a number, letter, or
underscore, are taken as a variable name and the string value of that
variable is substituted for the name.  Or, if the dollar sign is followed
by an open curly brace then the variable name consists of all the characters
up to the next close curly brace.  For example, if variable \fBfoo\fR
has the value \fBtest\fR, then the command
.DS C
\fBset a $foo.c\fR
.DE
is equivalent to the command
.DS C
\fBset a test.c\fR
.DE
and the command
.DS C
\fBset a abc${foo}bar\fR
.DE
is equivalent to the command
.DS C
\fBset a abctestbar\fR
.DE
Variable substitution does not occur in arguments that are enclosed
in braces:  the
dollar sign and variable name are passed through to the argument verbatim.
.PP
The dollar sign abbreviation is simply a shorthand form.  \fB$a\fR is
completely equivalent to \fB[set a]\fR;  it is provided as a convenience
to reduce typing.

.VS
.SH "SEPARATING COMMANDS WITH SEMI-COLONS"
.PP
Normally, each command occupies one line (the command is terminated by
a newline character).  However, semi-colon (``;'') is treated
as a command separator character;  multiple commands may be placed
on one line by separating them with a semi-colon.  Semi-colons are
not treated as command separators if they appear within curly braces
or double-quotes.
.VE

.SH "BACKSLASH SUBSTITUTION"
.PP
Backslashes may be used to insert non-printing characters into
command fields and also to insert special characters like
braces and brackets into fields
without them being interpreted specially as described above.
The backslash sequences understood by the Tcl interpreter are
listed below.  In each case, the backslash
sequence is replaced by the given character:
.TP 20
\fB\eb\fR
Backspace (0x8).
.TP 20
\fB\ee\fR
Escape (0x1b).
.TP 20
\fB\en\fR
Newline (0xa).
.TP 20
\fB\er\fR
.VS
Carriage-return (0xd).
.VE
.TP 20
\fB\et\fR
Tab (0x9).
.TP 20
\fB\e{\fR
Left brace (``{'').
.TP 20
\fB\e}\fR
Right brace (``}'').
.TP 20
\fB\e[\fR
Open bracket (``['').
.TP 20
\fB\e]\fR
Close bracket (``]'').
.TP 20
\fB\e$\fR
Dollar sign (``$'').
.TP 20
\fB\e<space>\fR
Space (`` ''): doesn't terminate argument.
.br
.VS
.TP 20
\fB\e;\fR
Semi-colon: doesn't terminate command.
.TP 20
\fB\e"\fR
Double-quote.
.TP 20
\fB\e<newline>\fR
Nothing:  this effectively joins two lines together
into a single line.  This backslash feature is only provided
when parsing Tcl commands;  it is not supported by the
Tcl_Backslash procedure.
.VE
.TP 20
\fB\e\e\fR
Backslash (``\e'').
.TP 20
\fB\eC\fIx\fR
Control-\fIx\fR (\fIx\fR AND octal 037), for any ASCII \fIx\fR except \fBM\fR
(see below).
.TP 20
\fB\eM\fIx\fR
Meta-\fIx\fR (\fIx\fR OR octal 200), for any ASCII \fIx\fR.
.TP 20
\fB\eCM\fIx\fR
Control-meta-\fIx\fR ((\fIx\fR AND octal 037) OR octal 0200), for
any ASCII \fIx\fR.
.TP 20
\fB\e\fIddd\fR
The digits \fIddd\fR (one, two, or three of them) give the octal value of
the character.
.PP
For example, in the command
.DS
\fBset a \e{x\e[\e\0yz\e141\fR
.DE
the second argument to \fBset\fR will be ``\fB{x[\0yza\fR''.
.PP
If a backslash is followed by something other than one of the options
described above, then the backslash is transmitted to the argument
field without any special processing, and the Tcl scanner continues
normal processing with the next character.  For example, in the
command
.DS
\fBset \e*a \e\e\e{foo\fR
.DE
The first argument to \fBset\fR will be \fB\e*a\fR and the second
argument will be \fB\e{foo\fR.
.PP
If an argument is enclosed in braces, then backslash sequences inside
the argument are parsed but no substitution occurs:  the backslash
sequence is passed through to the argument as is, without making
any special interpretation of the characters in the backslash sequence.
In particular, backslashed braces are not counted in locating the
matching right brace that terminates the argument.
For example, in the
command
.DS
\fBset a {\e{abc}\fR
.DE
the second argument to \fBset\fR will be \fB\e{abc\fR.
.PP
This backslash mechanism is not sufficient to generate absolutely
any argument structure;  it only covers the
most common cases.  To produce particularly complicated arguments
it is probably easiest to use the \fBformat\fR command along with
command substitution.

.SH "COMMAND SUMMARY"
.IP [1]
A command is just a string.
.IP [2]
Within a string commands are separated by newlines or semi-colons
(unless the newline or semi-colon is within braces or brackets
or is backslashed).
.IP [3]
A command consists of fields.  The first field is the name of the command,
and may be abbreviated.
The other fields are strings that are passed to that command as arguments.
.IP [4]
Fields are normally separated by white space.
.IP [5]
Double-quotes allow white space and semi-colons to appear within
a single argument.
Command substitution, variable substitution, and backslash substitution
still occur inside quotes.
.IP [6]
Braces defer interpretation of special characters.
If a field begins with a left brace, then it consists of everything
between the left brace and the matching right brace. The
braces themselves are not included in the argument.
No further processing is done on the information between the braces.
.IP [7]
If a field doesn't begin with a brace then backslash,
variable, and command substitution are done on the field.  Only a
single level of processing is done:  the results of one substitution
are not scanned again for further substitutions or any other
special treatment.  Substitution can
occur on any field of a command, including the command name
as well as the arguments.
.IP [8]
If the first non-blank character of a command is a \fB#\fR, everything
from the \fB#\fR up through the next newline is treated as a comment
and ignored.

.SH "EXPRESSIONS"
.PP
The second major interpretation applied to strings in Tcl is
as expressions.  Several commands, such as \fBexpr\fR, \fBfor\fR,
and \fBif\fR, treat some of their arguments as expressions and
call the Tcl expression processor (\fBTcl_Expr\fR) to evaluate them.
A Tcl expression has C-like syntax and evaluates to an integer
result.  Expressions
may contain integer values, variable names in \fB$\fR notation
(the variables' values must be integer strings),
commands (embedded in brackets) that produce integer string results,
parentheses for grouping, and operators.  Numeric values, whether they
are passed directly or through variable or command substitution, may
be specified either in decimal (the normal case), in octal (if the
first character of the value is \fB0\fR), or in hexadecimal (if the first
two characters of the value are \fB0x\fR).
The valid operators are listed
below, grouped in decreasing order of precedence:
.TP 20
\fB\-\0\0~\0\0!\fR
Unary minus, bit-wise NOT, logical NOT.
.TP 20
\fB*\0\0/\0\0%\fR
Multiply, divide, remainder.
.TP 20
\fB+\0\0\-\fR
Add and subtract.
.TP 20
\fB<<\0\0>>\fR
Left and right shift.
.TP 20
\fB<\0\0>\0\0<=\0\0>=\fR
Boolean less, greater, less than or equal, and greater than or equal.
Each operator produces 1 if the condition is true, 0 otherwise.
.TP 20
\fB==\0\0!=\fR
Boolean equal and not equal.  Each operator produces a zero/one result.
.TP 20
\fB&\fR
Bit-wise AND.
.TP 20
\fB^\fR
Bit-wise exclusive OR.
.TP 20
\fB|\fR
Bit-wise OR.
.TP 20
\fB&&\fR
Logical AND.  Produces a 1 result if both operands are non-zero, 0 otherwise.
.TP 20
\fB||\fR
Logical OR.  Produces a 0 result if both operands are zero, 1 otherwise.
.TP 20
\fIx\fB?\fIy\fB:\fIz\fR
.VS
If-then-else, as in C.  If \fIx
evaluates to non-zero, then the result is the value of \fIy\fR.
Otherwise the result is the value of \fIz\fR.
.VE
.PP
See the C manual for more details on the results
produced by each operator.
All of the binary operators group left-to-right within the same
precedence level.  For example, the expression
.DS
\fB(4*2) < 7\fR
.DE
evaluates to 0.  Evaluating the expression string
.DS
\fB($a + 3) < [set b]\fR
.DE
will cause the values of the variables \fBa\fR and \fBb\fR to be
examined;  the result will be 1
if \fBb\fR is greater than a by at least 3;  otherwise the result
will be 0.
.PP
In general it is safest to enclose an expression in braces when
entering it in a command:  otherwise, if the expression contains
any white space then the Tcl interpreter will split it
among several arguments.  For example, the command
.DS C
\fBexpr $a + $b\fR
.DE
results in three arguments being passed to \fBexpr\fR:  \fB$a\fR,
\fB+\fR, and \fB$b\fR.  In addition, if the expression isn't in braces
then the Tcl interpreter will perform variable and command substitution
immediately (it will happen in the command parser rather than in
the expression parser).  In many cases the expression is being
passed to a command that will evaluate the expression later (or
even many times if, for example, the expression is to be used to
decide when to exit a loop).  Usually the desired goal is to re-do
the variable or command substitutions each time the expression is
evaluated, rather than once and for all at the beginning.  For example,
the command
.DS C
\fBfor {set i 1} $i<=10 {set i [expr $i+1]} {...}\fR
.DE
is probably intended to iterate over all values of \fBi\fR from 1 to 10.
After each iteration of the body of the loop, \fBfor\fR will pass
its second argument to the expression evaluator to see whether or not
to continue processing.  Unfortunately, in this case the value of \fBi\fR
in the second argument will be substituted once and for all when the
\fBfor\fR command is parsed.  If \fBi\fR was 0 before the \fBfor\fR
command was invoked then \fBfor\fR's second argument will be \fB0<=10\fR
which will always evaluate to 1, even though \fBi\fR's value eventually
becomes greater than 10.  In the above case the loop will never
terminate.  By placing the expression in braces, the
substitution of \fBi\fR's
value will be delayed;  it will be re-done each time the expression is
evaluated, which is probably the desired result.

.SH LISTS
.PP
The third major way that strings are interpreted in Tcl is as lists.
A list is just a string with a list-like structure
consisting of fields separated by white space.  For example, the
string
.DS
\fBAl Sue Anne John\fR
.DE
is a list with four elements or fields.
Lists have the same basic structure as command strings, except
that a newline character in a list is treated as a field separator
just like space or tab.  Conventions for braces
and backslashes are the same for lists as for commands.  For example,
the string
.DS
\fBa b\e c {d e {f g h}}\fR
.DE
is a list with three elements:  \fBa\fR, \fBb c\fR, and \fBd e {f g h}\fR.
Whenever an element
is extracted from a list, the same rules about backslashes and
braces are applied as for commands.  Thus in the example above
when the third element is extracted from the list, the result is
.DS
\fBd e {f g h}\fR
.DE
(when the field was extracted, all that happened was to strip off
the outermost layer of braces).  Command substitution is never
made on a list (at least, not by the list-processing commands;  the
list can always be passed to the Tcl interpreter for evaluation).
.PP
The Tcl commands \fBconcat\fR, \fBforeach\fR, \fBindex\fR,
\fBlength\fR, \fBlist\fR, and \fBrange\fR allow you to build lists,
extract elements from them, search them, and perform other list-related
functions.

.SH "COMMAND RESULTS"
.PP
Each command produces two results:  a code and a string.  The
code indicates whether the command completed successfully or not,
and the string gives additional information.  The valid codes are
defined in tcl.h, and are:
.RS
.TP 20
\fBTCL_OK\fR
This is the normal return code, and indicates that the command completed
succesfully.  The string gives the command's return value.
.TP 20
\fBTCL_ERROR\fR
Indicates that an error occurred;  the string gives a message describing
the error.
.VS
The variable \fBerrorInfo\fR will contain additional information
describing which commands and procedures were being executed when the
error occurred.
.VE
.TP 20
\fBTCL_RETURN\fR
Indicates that the \fBreturn\fR command has been invoked, and that the
.VS
current procedure (or top-level command or \fBsource\fR command)
should return immediately.  The
string gives the return value for the procedure or command.
.VE
.TP 20
\fBTCL_BREAK\fR
Indicates that the \fBbreak\fR command has been invoked, so the
innermost loop should abort immediately.  The string should always
be empty.
.TP 20
\fBTCL_CONTINUE\fR
Indicates that the \fBcontinue\fR command has been invoked, so the
innermost loop should go on to the next iteration.  The string
should always be empty.
.RE
Tcl programmers do not normally need to think about return codes,
since TCL_OK is almost always returned.  If anything else is returned
by a command, then the Tcl interpreter immediately stops processing
commands and returns to its caller.  If there are several nested
invocations of the Tcl interpreter in progress, then each nested
command will usually return the error to its caller, until eventually
the error is reported to the top-level application code.  The
application will then display the error message for the user.
.PP
In a few cases, some commands will handle certain ``error'' conditions
themselves and not return them upwards.  For example, the \fBfor\fR
command checks for the TCL_BREAK code;  if it occurs, then \fBfor\fR
stops executing the body of the loop and returns TCL_OK to its
caller.  The \fBfor\fR command also handles TCL_CONTINUE codes and the
procedure interpreter handles TCL_RETURN codes.  The \fBcatch\fR
command allows Tcl programs to catch errors and handle them without
aborting command interpretation any further.

.SH PROCEDURES
.PP
Tcl allows you to extend the command interface by defining
procedures.  A Tcl procedure can be invoked just like any other Tcl
command (it has a name and it receives one or more arguments).
The only difference is that its body isn't a piece of C code linked
into the program;  it is a string containing one or more other
Tcl commands.  See the \fBproc\fR command for information on
how to define procedures and what happens when they are invoked.

.SH VARIABLES
.PP
Tcl allows the definition of variables and the use of their values
either through \fB$\fR-style variable substitution, the \fBset\fR
command, or a few other mechanisms.  Variables need not be declared:
a new variable will automatically be created each time a new variable
name is used.  Variables may be either global or local.  If a variable
name is used when a procedure isn't being executed, then it
automatically refers to a global variable.  Variable names used
within a procedure normally refer to local variables associated with that
invocation of the procedure.  Local variables are deleted whenever
a procedure exits.  The \fBglobal\fR command may be used to request
that a name refer to a global variable for the duration of the current
procedure (this is somewhat analogous to \fBextern\fR in C).

.SH "BUILT-IN COMMANDS"
.PP
The Tcl library provides the following built-in commands, which will
be available in any application using Tcl.  In addition to these
built-in commands, there may be additional commands defined by each
application, plus commands defined as Tcl procedures.  In the command syntax
descriptions below, optional arguments are indicated by enclosing their
names in brackets;  apologies in advance for the confusion between this
descriptive use of brackets and the use of brackets to invoke
command substitution.
Words in boldface are literals that you type verbatim to Tcl.
Words in italics are meta-symbols;  they act as names to refer to
a class of values that you can type.
.TP
\fBbreak\fR
This command may be invoked only inside the body of a loop command
such as \fBfor\fR or \fBforeach\fR.  It returns a TCL_BREAK code
to signal the innermost containing loop command to return immediately.
.TP
\fBcase\fI string \fR[\fBin\fR] \fIpatList body patList body \fR...
.VS
Match \fIstring\fR against each of the \fIpatList\fR arguments
in order.  If one matches, then evaluate the following \fIbody\fR argument
by passing it recursively to the Tcl interpreter, and return the result
of that evaluation.  Each \fIpatList\fR argument consists of a single
pattern or list of patterns.  Each pattern may contain any of the wild-cards
described under \fBstring match\fR.  If a \fIpatList\fR
argument is \fBdefault\fR, the corresponding body will be evaluated
if no \fIpatList\fR matches \fIstring\fR.  If no \fIpatList\fR argument
matches \fIstring\fR and no default is given, then the \fBcase\fR
command returns an empty string.  For example,
.RS
.DS
\fBcase abc in {a b} {format 1} default {format 2} a* {format 3}
.DE
will return \fB3\fR, 
.DS
\fBcase a in {a b} {format 1} default {format 2} a* {format 3}
.DE
will return \fB1\fR, and
.DS
\fBcase xyz {a b} {format 1} default {format 2} a* {format 3}
.DE
will return \fB2\fR.
.RE
.VE
.TP
\fBcatch\fI command \fR[\fIvarName\fR]
The \fBcatch\fR command may be used to prevent errors from aborting
command interpretation.  \fBCatch\fR calls the Tcl interpreter recursively
to execute \fIcommand\fR, and always returns a TCL_OK code, regardless of
any errors that might occur while executing \fIcommand\fR.  The return
value from \fBcatch\fR is a decimal string giving the
code returned by the Tcl interpreter after executing \fIcommand\fR.
This will be \fB0\fR (TCL_OK) if there were no errors in \fIcommand\fR; otherwise
it will have a non-zero value corresponding to one of the exceptional
return codes (see tcl.h for the definitions of code values).  If the
\fIvarName\fR argument is given, then it gives the name of a variable;
\fBcatch\fR will set the value of the variable to the string returned
from \fIcommand\fR (either a result or an error message).
.TP
\fBconcat\fI arg \fR[\fIarg ...\fR]
This command treats each argument as a list and concatenates them
into a single list.  It permits any number of arguments.  For example,
the command
.RS
.DS
\fBconcat a b {c d e} {f {g h}}\fR
.DE
will return
.DS
\fBa b c d e f {g h}\fR
.DE
as its result.
.RE
.TP
\fBcontinue\fR
This command may be invoked only inside the body of a loop command
such as \fBfor\fR or \fBforeach\fR.  It returns a  TCL_CONTINUE code
to signal the innermost containing loop command to skip the
remainder of the loop's body
but continue with the next iteration of the loop.
.TP
\fBerror \fImessage\fR [\fIinfo\fR]
Returns a TCL_ERROR code, which causes command interpretation to be
unwound.  \fIMessage\fR is a string that is returned to the application
to indicate what went wrong.
.VS
If the \fIinfo\fR argument is
provided, it is used to initialize the global variable \fBerrorInfo\fR.
\fBErrorInfo\fR is used to accumulate a stack trace of what
was in progress when an error occurred;  as nested commands unwind,
the Tcl interpreter adds information to \fBerrorInfo\fR.  If the
\fIinfo\fR argument is present, it is used to initialize the
\fBerrorInfo\fR variable, and the first increment of unwind information
will not be added by the Tcl interpreter.  In other
words, the command containing the \fBerror\fR command will not appear
in the \fBerrorInfo\fR variable;  in its place will be \fIinfo\fR.
This feature is most useful in conjunction with the \fBcatch\fR command:
if a caught error cannot be handled successfully, \fIinfo\fR can be used
to return a stack trace reflecting the original point of occurrence
of the error:
.RS
.DS
\fBcatch {...} errMsg
set savedInfo $errorInfo
\&...
error $errMsg $savedInfo\fR
.DE
.RE
.TP
\fBeval \fIarg1 \fR[\fIarg2 ...\fR]
\fBEval\fR takes one or more arguments, which together comprise a Tcl
command (or collection of Tcl commands separated by newlines in the
usual way).  \fBEval\fR concatenates all its arguments in the same
fashion as the \fBconcat\fR command, passes the concatenated string to the
Tcl interpreter recursively, and returns the result of that
evaluation (or any error generated by it).
.VE
.TP
\fBexec \fIcommand arg1 \fR[\fIarg2 ...\fR] [\fB< \fIinput\fR]
The \fBexec\fR command treats its \fIcommand\fR argument as the name of
a program to execute.  \fBExec\fR
.VS
performs tilde-substitution on
\fIcommand\fR, if appropriate, then searches the directories in
.VE
the PATH environment variable to find
an executable file by the name \fIcommand\fR,
then executes the file, passing it an argument list consisting of
\fIcommand\fR plus all of the \fIarg\fRs.  If an argument \fB<\fR appears
anywhere among the arguments to \fBexec\fR, then neither it or the
following argument is passed to \fIcommand\fR.  Instead, the following
argument (\fIinput\fR) consists of input to the command;  \fBexec\fR
will create a pipe and use it to pass \fIinput\fR to \fIcommand\fR
as standard input.  \fBExec\fR also creates a pipe to receive \fIcommand\fR's
output (both standard output and standard error).  The information
received over this pipe is returned as the result of the \fBexec\fR
command.  The \fBexec\fR command also looks at the return status
returned by \fIcommand\fR.  Normally this should be zero;  if it is then
\fBexec\fR returns normally.  If \fIcommand\fR returns a non-zero status,
then \fBexec\fR will return that code;  it should be one of the ones
defined in the section ``COMMAND RESULTS'' above.  If an out-of range
code is returned by the command, it will cause command unwinding just
as if TCL_ERROR had been returned; at the outermost level of command
interpretation, the Tcl interpreter will turn the code into TCL_ERROR,
with an appropriate error message.
.TP
\fBexpr \fIarg\fR
Calls the expression processor to evaluate \fIarg\fR, and returns
the result as a decimal string.
.TP
\fBfile \fIname\fR \fIoption\fR
Operate on a file or a file name.  \fIName\fR is the name of a file;
.VS
if it starts with a tilde, then tilde substitution is done before
executing the command (see the manual entry for \fBTcl_TildeSubst\fR
for details).
.VE
\fIOption\fR indicates what to do with the file name.  Any unique
abbreviation for \fIoption\fR is acceptable.  The valid options are:
.RS
.TP
\fBfile \fIname \fBdirname\fR
Return all of the characters in \fIname\fR up to but not including
the last slash character.  If there are no slashes in \fIname\fR
then return ``.''.  If the last slash in \fIname\fR is its first
character, then return ``/''.
.TP
\fBfile \fIname \fBexecutable\fR
Return \fB1\fR if file \fIname\fR is executable by
the current user, \fB0\fR otherwise.
.TP
\fBfile \fIname \fBexists\fR
Return \fB1\fR if file \fIname\fR exists and the current user has
search privileges for the directories leading to it, \fB0\fR otherwise.
.TP
\fBfile \fIname \fBextension\fR
Return all of the characters in \fIname\fR after and including the
last dot in \fIname\fR.  If there is no dot in \fIname\fR then return
the empty string.
.TP
\fBfile \fIname \fBisdirectory\fR
Return \fB1\fR if file \fIname\fR is a directory,
\fB0\fR otherwise.
.TP
\fBfile \fIname \fBisfile\fR
Return \fB1\fR if file \fIname\fR is a regular file,
\fB0\fR otherwise.
.TP
\fBfile \fIname \fBowned\fR
Return \fB1\fR if file \fIname\fR is owned by the current user,
\fB0\fR otherwise.
.TP
\fBfile \fIname \fBreadable\fR
Return \fB1\fR if file \fIname\fR is readable by
the current user, \fB0\fR otherwise.
.TP
\fBfile \fIname \fBrootname\fR
Return all of the characters in \fIname\fR up to but not including
the last ``.'' character in the name.  If \fIname\fR doesn't contain
a dot, then return \fIname\fR.
.TP
\fBfile \fIname \fBtail\fR
Return all of the characters in \fIname\fR after the last slash.
If \fIname\fR contains no slashes then return \fIname\fR.
.TP
\fBfile \fIname \fBwritable\fR
Return \fB1\fR if file \fIname\fR is writable by
the current user, \fB0\fR otherwise.
.RE
.IP
The \fBfile\fR commands that return 0/1 results are often used in
conditional or looping commands, for example:
.RS
.DS
\fBif {![file foo exists]} then {error {bad file name}} else {...}\fR
.DE
.RE
.TP
\fBfor \fIstart test next body\fR
\fBFor\fR is a looping command, similar in structure to the C
\fBfor\fR statement.  The \fIstart\fR, \fInext\fR, and
\fIbody\fR arguments must be Tcl command strings, and \fItest\fR
is an expression string.
The \fBfor\fR command first invokes the Tcl interpreter to
execute \fIstart\fR.  Then it repeatedly evaluates \fItest\fR as
an expression;  if the result is non-zero it invokes the Tcl
interpreter on \fIbody\fR, then invokes the Tcl interpreter on \fInext\fR,
then repeats the loop.  The command terminates when \fItest\fR evaluates
to 0.  If a \fBcontinue\fR command is invoked within \fIbody\fR then
any remaining commands in the current execution of \fIbody\fR are skipped;
processing continues by invoking the Tcl interpreter on \fInext\fR, then
evaluating \fItest\fR, and so on.  If a \fBbreak\fR command is invoked
within \fIbody\fR
.VS
or \fInext\fR,
.VE
then the \fBfor\fR command will
return immediately.
The operation of \fBbreak\fR and \fBcontinue\fR are similar to the
corresponding statements in C.
\fBFor\fR returns an empty string.
.TP
\fBforeach \fIvarname list body\fR
In this command, \fIvarname\fR is the name of a variable, \fIlist\fR
is a list of values to assign to \fIvarname\fR, and \fIbody\fR is a
collection of Tcl commands.  For each field in \fIlist\fR (in order
from left to right), \fBforeach\fR assigns the contents of the
field to \fIvarname\fR (as if the \fBindex\fR command had been used
to extract the field), then calls the Tcl interpreter to execute
\fIbody\fR.  The \fBbreak\fR and \fBcontinue\fR statements may be
invoked inside \fIbody\fR, with the same effect as in the \fBfor\fR
command.  \fBForeach\fR an empty string.
.TP
\fBformat \fIformatString \fR[\fIarg arg ...\fR]
This command generates a formatted string in the same way as the
C \fBsprintf\fR procedure (it uses \fBsprintf\fR in its
implementation).  \fIFormatString\fR indicates how to format
the result, using \fB%\fR fields as in \fBsprintf\fR, and the additional
arguments, if any, provide values to be substituted into the result.
All of the \fBsprintf\fR options are valid;  see the \fBsprintf\fR
man page for details.  Each \fIarg\fR must match the expected type
from the \fB%\fR field in \fIformatString\fR;  the \fBformat\fR command
converts each argument to the correct type (floating, integer, etc.)
before passing it to \fBsprintf\fR for formatting.
The only unusual conversion is for \fB%c\fR;  in this case the argument
must be a decimal string, which will then be converted to the corresponding
ASCII character value.
\fBFormat\fR does backslash substitution on its \fIformatString\fR
argument, so backslash sequences in \fIformatString\fR will be handled
correctly even if the argument is in braces.
The return value from \fBformat\fR
is the formatted string.
.TP
\fBglob \fIfilename\fR [\fIfilename ...\fR]
.VS
This command performs filename globbing, using csh rules.  The returned
value from \fBglob\fR is the list of expanded filenames.
.VE
.TP
\fBglobal \fIvarname \fR[\fIvarname ...\fR]
This command is ignored unless a Tcl procedure is being interpreted.
If so, then it declares the given \fIvarname\fR's to be global variables
rather than local ones.  For the duration of the current procedure
(and only while executing in the current procedure), any reference to
any of the \fIvarname\fRs will be bound to a global variable instead
of a local one.
.TP
\fBhistory \fR[\fIoption \fR[\fIarg arg ...\fR]
.VS
Note:  this command may not be available in all Tcl-based applications.
Typically, only those that receive command input in a typescript
form will support history.
The \fBhistory\fR command performs one of several operations related to
recently-executed commands recorded in a history list.  Each of
these recorded commands is referred to as an ``event''.  When
specifying an event to the \fBhistory\fR command, the following
forms may be used:
.RS
.IP [1]
A number:  if positive, it refers to the event with
that number (all events are numbered starting at 1).  If the number
is negative, it selects an event relative to the current event
(\fB-1\fR refers to the previous event, \fB-2\fR to the one before that, and
so on).
.IP [2]
A string:  selects the most recent event that matches the string.
An event is considered to match the string either if the string is
the same as the first characters of the event, or if the string
matches the event in the sense of the \fBstring match\fR command.
.LP
The \fBhistory\fR command can take any of the following forms:
.TP
\fBhistory\fR
Re-execute the most recent command in the history list and return
its result.  This command has the same effect as \fBhistory redo -1\fR.
.TP
\fBhistory add\fI command \fR[\fBexec\fR]
Add the \fIcommand\fR argument to the history list as a new event.  If
\fBexec\fR is specified (or abbreviated) then the command is also
executed and its result is returned.  If \fBexec\fR isn't specified
then an empty string is returned as result.
.TP
\fBhistory change\fI newValue\fR [\fIevent\fR]
Replace the value recorded for an event with \fInewValue\fR.  \fIEvent\fR
specifies the event to replace, and
defaults to the \fIcurrent\fR event (not event \fB-1\fR).  This command
is intended for use in commands that implement new forms of history
substitution and wish to replace the current event (which invokes the
substitution) with the command created through substitution.  The return
value is an empty string.
.TP
\fBhistory event\fR [\fIevent\fR]
Returns the value of the event given by \fIevent\fR.  \fIEvent\fR
defaults to \fB-1\fR.  This command causes history revision to occur:
see below for details.
.TP
\fBhistory info \fR[\fIcount\fR]
Returns a formatted string (intended for humans to read) giving
the event number and contents for each of the events in the history
list except the current event.  If \fIcount\fR is specified
then only the most recent \fIcount\fR events are returned.
.TP
\fBhistory keep \fIcount\fR
This command may be used to change the size of the history list to
\fIcount\fR events.  Initially, 20 events are retained in the history
list.  This command returns an empty string.
.TP
\fBhistory nextid\fR
Returns the number of the next event to be recorded
in the history list.  It is useful for things like printing the
event number in command-line prompts.
.TP
\fBhistory redo \fR[\fIevent\fR]
Re-execute the command indicated by \fIevent\fR and return its result.
\fIEvent\fR defaults to \fB-1\fR.  This command results in history
revision:  see below for details.
.TP
\fBhistory substitute \fIold new \fR[\fIevent\fR]
Retrieve the command given by \fIevent\fR
(\fB-1\fR by default), replace any occurences of \fIold\fR by
\fInew\fR in the command (only simple character equality is supported;
no wild cards), execute the resulting command, and return the result
of that execution.  This command results in history
revision:  see below for details.
.TP
\fBhistory words \fIselector\fR [\fIevent\fR]
Retrieve from the command given by \fIevent\fR (\fB-1\fR by default)
the words given by \fIselector\fR, and return those words in a string
separated by spaces.  The \fBselector\fR argument has three forms.
If it is a single number then it selects the word given by that
number (\fB0\fR for the command name, \fB1\fR for its first argument,
and so on).  If it consists of two numbers separated by a dash,
then it selects all the arguments between those two.  Otherwise
\fBseletor\fR is treated as a pattern;  all words matching that
pattern (in the sense of \fBstring match\fR) are returned.  In
the numeric forms \fB$\fR may be used
to select the last word of a command.
For example, suppose the most recent command in the history list is
.RS
.DS
\fBformat  {%s is %d years old} Alice [expr $ageInMonths/12]\fR
.DE
Below are some history commands and the results they would produce:
.DS
.ta 4c
.fi
.UL Command "	"
.UL Result
.nf

\fBhistory words $	[expr $ageInMonths*12]\fR
\fBhistory words 1-2	{%s is %d years  old} Alice\fR
\fBhistory words *a*o*	{%s is %d years old} [expr $ageInMonths*12]\fR
.DE
\fBHistory words\fR results in history revision:  see below for details.
.RE
The history options \fBredo\fR, \fBsubstitute\fR, and \fBwords\fR result
in ``history revision''.  If a history command with one of these options
can be traced directly to the current history event (e.g. the current
event invoked the history command directly or through command
substitution), then the current event is modified to eliminate the
history command and replace it with the result of the history
substitution.  For example, suppose that the most recent command in
the history list is
.DS
\fBset a [expr $b+2]\fR
.DE
and suppose that the next command invoked is one of the ones on
the left side of the table below.  The command actually recorded in
the history event will be the corresponding one on the right side
of the table.
.ne 1.5c
.DS
.ta 4c
.fi
.UL "Command Typed" "	"
.UL "Command Recorded"
.nf

\fBhistory	set a [expr $b+2]\fR
\fBhistory s a b	set b [expr $b+2]\fR
\fBset c [history w 2]	set c [expr $b+2]\fR
.DE
History revision only occurs for history commands that can be directly
traced to the current event.  For example, the command
\fBeval history\fR will not result in history revision, because
the history command is invoked indirectly by \fBeval\fR.  If history
revision is desired in cases like this, it can be achieved by
requesting it explicitly with \fBhistory change\fR.
.RE
.VE
.TP
\fBif \fItest \fR[\fBthen\fR] \fItrueBody \fR[[\fBelse\fR] \fIfalseBody\fR]
The \fIif\fR command evaluates \fItest\fR as an expression (in the
same way that \fBexpr\fR evaluates its argument).  If the
result is non-zero then \fItrueBody\fR is called by passing it to the
Tcl interpreter.  Otherwise \fIfalseBody\fR is executed by passing it to
the Tcl interpreter.  The \fBthen\fR and \fBelse\fR arguments are optional
``noise words'' to make the command easier to read.  \fIFalseBody\fR is
also optional;  if it isn't specified then the command does nothing if
\fItest\fR evaluates to zero.  The return value from \fBif\fR is
the value of the last command executed in \fItrueBody\fR or
\fIfalseBody\fR, or the empty string if \fItest\fR evaluates to zero and
\fIfalseBody\fR isn't specified.
.TP
\fBindex \fIvalue index \fR[\fBchars\fR]
Extract an element from a list or a character from a string.  If the
\fBchars\fR keyword isn't specified, then \fBindex\fR treats \fIvalue\fR
as a list and returns the \fIindex\fR'th field from it.  In extracting
the field, \fIindex\fR observes the same rules concerning braces
and backslashes as the Tcl command interpreter;  however, variable
substitution and command substitution do not occur.  If \fIindex\fR is
greater than or equal to the number of elements in \fIvalue\fR, then the empty
string is returned.  If the \fBchars\fR keyword is specified (or any
abbreviation of it), then \fIvalue\fR is treated as a string and the
command returns the \fIindex\fR'th character from it (or the empty string
if there aren't at least \fIindex\fR+1 characters in the string).
Index 0 refers to the first element or character of \fIvalue\fR.
.TP
\fBinfo \fIoption \fR[\fIarg arg ...\fR]
Provide information about various internals to the Tcl interpreter.
The legal \fIoption\fR's (which may be abbreviated) are:
.RS
.TP
\fBinfo args \fIprocname\fR
Returns a list containing the names of the arguments to procedure
\fIprocname\fR, in order.  \fIProcname\fR must be the name of a
Tcl command procedure.
.TP
\fBinfo body \fIprocname\fR
Returns the body of procedure \fIprocname\fR.  \fIProcname\fR must be
the name of a Tcl command procedure.
.TP
\fBinfo commands \fR[\fIpattern\fR]
.VS
If \fIpattern\fR isn't specified, returns a list of names of all the
Tcl commands, including both the built-in commands written in C and
the command procedures defined using the \fBproc\fR command.
If \fIpattern\fR is specified, only those names matching \fIpattern\fR
are returned.  Matching is determined using the same rules as for
\fBstring match\fR.
.VE
.TP
\fBinfo cmdcount\fR
Returns a count of the total number of commands that have been invoked
in this interpreter.
.TP
\fBinfo default \fIprocname arg varname\fR
\fIProcname\fR must be the name of a Tcl command procedure and \fIarg\fR
must be the name of an argument to that procedure.  If \fIarg\fR
doesn't have a default value then the command returns \fB0\fR.
Otherwise it returns \fB1\fR and places the default value of \fIarg\fR
into variable \fIvarname\fR.
.TP
\fBinfo exists \fIvarName\fR
Returns \fB1\fR if the variable named \fIvarName\fR exists in the
current context (either as a global or local variable), returns \fB0\fR
otherwise.
.TP
\fBinfo globals \fR[\fIpattern\fR]
.VS
If \fIpattern\fR isn't specified, returns a list of all the names
of currently-defined global variables.
If \fIpattern\fR is specified, only those names matching \fIpattern\fR
are returned.  Matching is determined using the same rules as for
\fBstring match\fR.
.TP
\fBinfo level\fR [\fInumber\fR]
If \fInumber\fR is not specified, this command returns a number
giving the stack level of the invoking procedure, or 0 if the
command is invoked at top-level.  If \fInumber\fR is specified,
then the result is a list consisting of the name and arguments for the
procedure call at level \fInumber\fR on the stack.  If \fInumber\fR
is positive then it selects a particular stack level (1 refers
to the top-most active procedure, 2 to the procedure it called, and
so on);  otherwise it gives a level relative to the current level
(0 refers to the current procedure, -1 to its caller, and so on).
See the \fBuplevel\fR command for more information on what stack
levels mean.
.TP
\fBinfo locals \fR[\fIpattern\fR]
If \fIpattern\fR isn't specified, returns a list of all the names
of currently-defined local variables, including arguments to the
current procedure, if any.
If \fIpattern\fR is specified, only those names matching \fIpattern\fR
are returned.  Matching is determined using the same rules as for
\fBstring match\fR.
.TP
\fBinfo procs \fR[\fIpattern\fR]
If \fIpattern\fR isn't specified, returns a list of all the
names of Tcl command procedures.
If \fIpattern\fR is specified, only those names matching \fIpattern\fR
are returned.  Matching is determined using the same rules as for
\fBstring match\fR.
.TP
\fBinfo tclversion\fR
Returns the version number for this version of Tcl in the form \fIx.y\fR,
where changes to \fIx\fR represent major changes with probable
incompatibilities and changes to \fIy\fR represent small enhancements and
bug fixes that retain backward compatibility.
.VE
.TP
\fBinfo vars\fR
Returns a list of all the names of currently-visible variables, including
both locals and currently-visible globals.
.RE
.TP
\fBlength \fIvalue\fR [\fBchars\fR]
If \fBchars\fR isn't specified, treats \fIvalue\fR as a list
and returns the number of elements in the list.  If \fBchars\fR
is specified (or any abbreviation of it), then \fBlength\fR
treats \fIvalue\fR as a string and returns the number of characters
in it (not including the terminating null character).
.TP
\fBlist \fIarg1 \fR[\fIarg2 ...\fR]
This command returns a list comprised of all the \fIarg\fRs.  Braces
and backslashes get added as necessary, so that the \fBindex\fR command
may be used on the result to re-extract the original arguments, and also
so that \fBeval\fR may be used to execute the resulting list, with
\fIarg1\fR comprising the command's name and the other \fIarg\fRs comprising
its arguments.  \fBList\fR produces slightly different results than
\fBconcat\fR:  \fBconcat\fR removes one level of grouping before forming
the list, while \fBlist\fR works directly from the original arguments.
For example, the command
.RS
.DS
\fBlist a b {c d e} {f {g h}}
.DE
will return
.DS
\fBa b {c d e} {f {g h}}
.DE
while \fBconcat\fR with the same arguments will return
.DS
\fBa b c d e f {g h}\fR
.DE
.RE
.TP
\fBprint \fIstring \fR[\fIfile \fR[\fBappend\fR]]
.VS
Print the \fIstring\fR argument.  If no \fIfile\fR is specified then
\fIstring\fR is output to the standard output file.  If \fIfile\fR is
specified, then \fIstring\fR is output to that file.  If the \fBappend\fR
option is given, then \fIstring\fR is appended to \fIfile\fR;  otherwise
any existing contents of \fIfile\fR are discarded before \fIstring\fR
is written to the file.
.VE
.TP
\fBproc \fIname args body\fR
The \fBproc\fR command creates a new Tcl command procedure,
\fIname\fR, replacing
any existing command there may have been by that name.  Whenever the
new command is invoked, the contents of \fIbody\fR will be executed
by the Tcl interpreter.  \fIArgs\fR specifies the formal arguments to the
procedure.  It consists of a list, possibly empty, each of whose
elements specifies
one argument.  Each argument specifier is also a list with either
one or two fields.  If there is only a single field in the specifier,
then it is the name of the argument;  if there are two fields, then
the first is the argument name and the second is its default value.
braces and backslashes may be used in the usual way to specify
complex default values.
.IP
When \fIname\fR is invoked, a local variable
will be created for each of the formal arguments to the procedure;  its
value will be the value of corresponding argument in the invoking command
or the argument's default value.
Arguments with default values need not be
specified in a procedure invocation.  However, there must be enough
actual arguments for all the
formal arguments that don't have defaults, and there must not be any extra
actual arguments.  There is one special case to permit procedures with
variable numbers of arguments.  If the last formal argument has the name
\fBargs\fR, then a call to the procedure may contain more actual arguments
than the procedure has formals.  In this case, all of the actual arguments
starting at the one that would be assigned to \fBargs\fR are combined into
a list (as if the \fBlist\fR command had been used);  this combined value
is assigned to the local variable \fBargs\fR.
.IP
When \fIbody\fR is being executed, variable names normally refer to
local variables, which are created automatically when referenced and
deleted when the procedure returns.  One local variable is automatically
created for each of the procedure's arguments.
Global variables can only be accessed by invoking
the \fBglobal\fR command.
.IP
The \fBproc\fR command returns the null string.  When a procedure is
invoked, the procedure's return value is the value specified in a
\fBreturn\fR command.  If the procedure doesn't execute an explicit
\fBreturn\fR, then its return value is the value of the last command
executed in the procedure's body.
If an error occurs while executing the procedure
body, then the procedure-as-a-whole will return that same error.
.TP
\fBrange \fIvalue first last \fR[\fBchars\fR]
Return a range of fields or characters from \fIvalue\fR.  If the
\fBchars\fR keyword isn't specified, then \fIvalue\fR must be
a list and \fBrange\fR will return a new list consisting of elements
\fIfirst\fR through \fIlast\fR, inclusive.  The
special keyword \fBend\fR may be specified for \fIlast\fR; in
this case all the elements of \fIvalue\fR starting at \fIfirst\fR
are returned.  If the \fBchars\fR keyword, or any abbreviation of
it, is specified, then \fBrange\fR treats \fIvalue\fR as a character
string and returns characters \fIfirst\fR through \fIlast\fR of
it, inclusive.  Once again, the \fBend\fR keyword may be used for
\fIlast\fR.  In both cases if a \fIlast\fR value is specified greater
than the size of \fIvalue\fR it is equivalent to specifying \fBend\fR;
if \fIlast\fR is less than \fIfirst\fR then an empty string is returned.
Note: ``\fBrange \fIvalue first first\fR'' does not always produce the
same results as ``\fBindex \fIvalue first\fR'' (although it often does
for simple fields that aren't enclosed in braces);  it does, however,
produce exactly the same results as ``\fBlist [index \fIvalue first\fB]\fR''
.TP
\fBrename \fIoldName newName\fR
.VS
Rename the command that used to be called \fIoldName\fR so that it
is now called \fInewName\fR.  If \fInewName\fR is an empty string
(e.g. {}) then \fIoldName\fR is deleted.  The \fBrename\fR command
returns an empty string as result.
.VE
.TP
\fBreturn \fR[\fIvalue\fR]
Return immediately from the current procedure
.VS
(or top-level command or \fBsource\fR command),
.VE
with \fIvalue\fR as the return value.  If \fIvalue\fR is not specified,
an empty string will be returned as result.
.VE
.TP
\fBscan \fIstring format varname1 \fR[\fIvarname2 ...\fR]
This command parses fields from an input string in the same fashion
as the C \fBsscanf\fR procedure.  \fIString\fR gives the input to
be parsed and \fIformat\fR indicates how to parse it, using \fB%\fR
fields as in \fBsscanf\fR.  All of the \fBsscanf\fR options are valid;
see the \fBsscanf\fR man page for details.  Each \fIvarname\fR gives
the name of a variable;  when a field is scanned from \fIstring\fR,
the result is converted back into a string and assigned to the
corresponding \fIvarname\fR.  The only unusual conversion is for
\fB%c\fR;  in this case, the character value is converted to a
decimal string, which is then assigned to the corresponding \fIvarname\fR.
.VS
.TP
\fBset \fIvarname \fR[\fIvalue\fR]
.VS
If \fIvalue\fR isn't specified, then return the current value of
\fIvarname\fR.  If \fIvalue\fR is specified, then set
.VE
the value of \fIvarname\fR to \fIvalue\fR, creating a new variable
if one doesn't already exist.  If no procedure is active, then
\fIvarname\fR refers to a global variable.  If a procedure is
active, then \fIvarname\fR refers to a parameter or local variable
of the procedure, unless the \fIglobal\fR command has been invoked
to declare \fIvarname\fR to be global.
.VE
.TP
\fBsource \fIfileName\fR
Read file \fIfileName\fR and pass the contents to the Tcl interpreter
as a sequence of commands to execute in the normal fashion.  The return
value of \fBsource\fR is the return value of the last command executed
from the file.  If an error occurs in executing the contents of the
file, then the \fBsource\fR command will return that error.
.VS
If a \fBreturn\fR command is invoked from within the file, the remainder of
the file will be skipped and the \fBsource\fR command will return
normally with the result from the \fBreturn\fR command.
If \fIfileName\fR starts with a tilde, then it is tilde-substituted
as described in the \fBTcl_TildeSubst\fR manual entry.
.VE
.TP
\fBstring \fIoption a b\fR
Perform a string operation on the two operands \fIa\fR and \fIb\fR,
based on \fIoption\fR.  The possible options are:
.RS
.TP
\fBstring compare \fIa b\fR
Perform a character-by-character comparison of strings \fIa\fR and
\fIb\fR, in the same way as the C \fBstrcmp\fR procedure.  Return
-1, 0, or 1, depending on whether \fIa\fR is lexicographically
less than, equal to, or greater than \fIb\fR.
.TP
\fBstring first \fIa b\fR
Search \fIb\fR for a sequence of characters that exactly match
the characters in \fIa\fR.  If found, return the index of the
first character in the first such match within \fIb\fR.  If not
found, return -1.
.TP
\fBstring last \fIa b\fR
Search \fIb\fR for a sequence of characters that exactly match
the characters in \fIa\fR.  If found, return the index of the
first character in the last such match within \fIb\fR.  If there
is no match, then return -1.
.br
.VS
.TP
\fBstring match \fIpattern\fR \fIstring\fR
See if \fIpattern\fR matches \fIstring\fR;  return 1 if it does, 0
if it doesn't.  Matching is done in a fashion similar to that
used by the C-shell.  For the two strings to match, their contents
must be identical except that the following special sequences
may appear in \fIpattern\fR:
.RS
.IP \fB*\fR 10
Matches any sequence of characters in \fIstring\fR,
including a null string.
.IP \fB?\fR 10
Matches any single character in \fIstring\fR.
.IP \fB[\fIchars\fB]\fR 10
Matches any character in the set given by \fIchars\fR.  If a sequence
of the form
\fIx\fB\-\fIy\fR appears in \fIchars\fR, then any character
between \fIx\fR and \fIy\fR, inclusive, will match.
.IP\fB\e\fIx\fR 10
Matches the single character \fIx\fR.  This provides a way of
avoiding the special interpretation of the characters
\fB*?[]\e\fR in \fIpattern\fR.
.RE
.RE
.VE
.IP
Unique abbreviations for \fIoption\fR are acceptable.
.TP
\fBtime \fIcommand\fR [\fIcount\fR]
This command will call the Tcl interpreter \fIcount\fR
times to execute \fIcommand\fR (or once if \fIcount\fR isn't
specified).  It will then return a string of the form
.RS
.DS
\fB503 microseconds per iteration\fR
.DE
which indicates the average amount of time required per iteration,
in microseconds.
Time is measured in elapsed time, not CPU time.
.RE
.TP
\fBuplevel \fR[\fIlevel\fR]\fI command \fR[\fIcommand ...\fR]
.VS
All of the \fIcommand\fR arguments are concatenated as if they had
been passed to \fBconcat\fR;  the result is then evaluated in the
variable context indicated by \fIlevel\fR.  \fBUplevel\fR returns
the result of that evaluation.  If \fIlevel\fR is an integer, then
it gives a distance (up the procedure calling stack) to move before
executing the command.  If \fIlevel\fR consists of \fB#\fR followed by
a number then the number gives an absolute level number.  If \fIlevel\fR
is omitted then it defaults to \fB1\fR.  \fILevel\fR cannot be
defaulted if the first \fIcommand\fR argument starts with a digit or \fB#\fR.
For example, suppose that procedure \fBa\fR was invoked
from top-level, and that it called \fBb\fR, and that \fBb\fR called \fBc\fR.
Suppose that \fBc\fR invokes the \fBuplevel\fR command.  If \fIlevel\fR
is \fB1\fR or \fB#2\fR  or omitted, then the command will be executed
in the variable context of \fBb\fR.  If \fIlevel\fR is \fB2\fR or \fB#1\fR
then the command will be executed in the variable context of \fBa\fR.
If \fIlevel\fR is \fB3\fR or \fB#0\fR then the command will be executed
at top-level (only global variables will be visible).
The \fBuplevel\fR command causes the invoking procedure to disappear
from the procedure calling stack while the command is being executed.
In the above example, suppose \fBc\fR invokes the command
.RS
.DS
\fBuplevel 1 {set x 43; d}
.DE
where \fBc\fR is another Tcl procedure.  The \fBset\fR command will
modify the variable \fBx\fR in \fBb\fR's context, and \fBd\fR will execute
at level 3, as if called from \fBb\fR.  If it in turn executes
the command
.DS
\fBuplevel {set x 42}
.DE
then the \fBset\fR command will modify the same variable \fBx\fR in \fBb\fR's
context:  the procedure \fBc\fR does not appear to be on the call stack
when \fBd\fR is executing.  The command ``\fBinfo level\fR'' may
be used to obtain the level of the current procedure.
\fBUplevel\fR makes it possible to implement new control
constructs as Tcl procedures (for example, \fBuplevel\fR could
be used to implement the \fBwhile\fR construct as a Tcl procedure).
.VE
.RE

.VS
.SH "BUILT-IN VARIABLES"
.PP
The following global variables are created and managed automatically
by the Tcl library.  These variables should normally be treated as
read-only by application-specific code and by users.
.TP
\fBerrorInfo\fR
After an error has occurred, this string will contain two or more lines
identifying the Tcl commands and procedures that were being executed
when the most recent error occurred.
.TP
\fBnoAbbrev\fR
If this variable has the value \fB1\fR then abbreviations are disallowed
for command names.  If the variable doesn't exist or has a value other
than \fB1\fR then abbreviations are permitted.
.VE

.SH AUTHOR
John Ousterhout, University of California at Berkeley ([email protected])
0707070035050467311004440011710000040000010746710466276614400002100000007201tcl/Tcl_Eval.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_Eval tcl
.BS
.SH NAME
Tcl_Eval \- execute a Tcl command string
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
int
\fBTcl_Eval\fR(\fIinterp, cmd, flags, termPtr\fR)
.SH ARGUMENTS
.AS Tcl_Interp **termPtr;
.AP Tcl_Interp *interp in
Interpreter in which to execute the command.  String result will be
stored in \fIinterp->result\fR.
.AP char *cmd in
Command (or sequence of commands) to execute.
.AP char flags in
Either \fBTCL_BRACKET_TERM\fR or 0.
.VS
If 0, then \fBTcl_Eval\fR will process commands from \fIcmd\fR until
it reaches the null character at the end of the string;  newlines
will be treated as command separators.  If \fBTCL_BRACKET_TERM\fR,
then \fBTcl_Eval\fR will process comands from \fIcmd\fR until either it
reaches a null character or it encounters a close bracket that isn't
backslashed or enclosed in braces, at which
point it will return;  newlines will treated as white space, not as
command separators.  Under normal conditions, \fIflags\fR should be 0.
.VE
.AP char **termPtr out
If 
.VS
\fItermPtr\fR is non-NULL, \fBTcl_Eval\fR fills in *\fItermPtr\fR with
the address of the character just after the last one in the last command
successfully executed (normally the null character at the end of \fIcmd\fR).
If an error occurs in the first command in \fIcmd\fR, then \fI*termPtr\fR
will be set to \fIcmd\fR.
.VE
.BE

.SH DESCRIPTION
.PP
\fBTcl_Eval\fR parses commands from \fIcmd\fR and executes them in
order until either an error occurs or \fBTcl_Eval\fR reaches a terminating
character (']' or '\0', depending on the value of \fIflags\fR).
The return value from \fBTcl_Eval\fR is one
of the Tcl return codes \fBTCL_OK\fR, \fBTCL_ERROR\fR, \fBTCL_RETURN\fR, \fBTCL_BREAK\fR, or
\fBTCL_CONTINUE\fR, and \fIinterp->result\fR will point to
a string with additional information (result value or error message).
This return information corresponds to the last command executed from
\fIcmd\fR.
.PP
During the processing of a command it is legal to make nested
calls to \fBTcl_Eval\fR (this is how conditionals, loops, and procedures
are implemented).  If a code other than
\fBTCL_OK\fR is returned from a nested \fBTcl_Eval\fR invocation, then the
caller should normally return immediately, passing that same
return code back to its caller, and so on until the top-level application is
reached.  A few commands, like \fBfor\fR, will check for certain
return codes, like \fBTCL_BREAK\fR and \fBTCL_CONTINUE\fR, and process them
specially without returning.
.PP
\fBTcl_Eval\fR keeps track of how many nested Tcl_Eval invocations are
in progress for \fIinterp\fR.
If a code of \fBTCL_RETURN\fR, \fBTCL_BREAK\fR, or \fBTCL_CONTINUE\fR is
about to be returned from the topmost \fBTcl_Eval\fR invocation for
\fIinterp\fR, then \fBTcl_Eval\fR converts the return code to \fBTCL_ERROR\fR
and sets \fIinterp->result\fR to point to an error message indicating that
the \fBreturn\fR, \fBbreak\fR, or \fBcontinue\fR command was
invoked in an inappropriate place.  This means that top-level
applications should never see a return code from \fBTcl_Eval\fR other then
\fBTCL_OK\fR or \fBTCL_ERROR\fR.

.SH KEYWORDS
command, execute, interpreter
0707070035050467301006640011710000040000010746730466276614400002300000002613tcl/Tcl_Concat.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_Concat tcl
.BS
.SH NAME
Tcl_Concat \- concatenate a collection of strings
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
char *
\fBTcl_Concat\fR(\fIargc, argv\fR)
.SH ARGUMENTS
.AP int argc in
Number of strings.
.AP char *argv[] in
Array of strings to concatenate.  Must have \fIargc\fR entries.
.BE

.SH DESCRIPTION
.PP
\fBTcl_Concat\fR is a utility procedure used by several of the
Tcl commands.  Given a collection of strings, it concatenates
them together into a single string, with the original strings
separated by spaces.  This procedure behaves differently than
\fBTcl_Merge\fR, in that the arguments are simply concatenated:
no effort is made to ensure proper list structure.
The result string is dynamically allocated
using \fBmalloc()\fR;  the caller must eventually release the space
by calling \fBfree()\fR.

.SH KEYWORDS
concatenate, strings
0707070035050467121004440011710000040000010746750466276614400002100000003347tcl/Tcl_Expr.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_Expr tcl
.BS
.SH NAME
Tcl_Expr \- evaluate an expression
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
int
\fBTcl_Expr\fR(\fIinterp, string, valuePtr\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp
.AP Tcl_Interp *interp in
Interpreter in whose context to evaluate \fIstring\fR.
.AP char *string in
Expression to be evaluated.
.AP int *valuePtr out
The expression's (integer) value will be stored here.
.BE

.SH DESCRIPTION
.PP
\fBTcl_Expr\fR is a utility procedure used by several of the Tcl commands.
Given a string whose contents are an expression of the form
accepted by the \fBexpr\fR command, this procedure evaluates
the expression and returns the integer result in \fI*valuePtr\fR.
Normally \fBTcl_Expr\fR returns \fBTCL_OK\fR as its result.  However, if
the expression contains a syntax error then Tcl_Expr
returns \fBTCL_ERROR\fR and sets \fIinterp->result\fR to point
to an error message in the usual fashion.
\fBTcl_Expr\fR may make nested calls to \fBTcl_Eval\fR while parsing the
expression;  if any of these calls returns an error then
\fBTcl_Expr\fR will return that same error information.  If an error
is returned, then \fI*valuePtr\fR will not be modified.

.SH KEYWORDS
evaluate, expression
0707070035050467101004440011710000040000010746770466276614400002300000003273tcl/Tcl_GetVar.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_GetVar tcl
.BS
.SH NAME
Tcl_GetVar \- return the value of a Tcl variable
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
char *
\fBTcl_GetVar\fR(\fIinterp, varName, global\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp
.AP Tcl_Interp *interp in
Interpreter in which to check for variable.
.AP char *varName in
Name of desired variable.
.AP int global in
If non-zero, then insist that \fIvarName\fR be interpreted as
a global variable regardless of whether a procedure invocation
is in progress.
.BE

.SH DESCRIPTION
.PP
\fBTcl_GetVar\fR is a utility procedure used by several of the Tcl commands.
It returns the value of variable \fIvarName\fR in
interpreter \fIinterp\fR.  If there isn't a Tcl command procedure
being interpreted right now, or if \fIglobal\fR is non-zero,
then \fIvarName\fR is always treated
as the name of a global variable.  Otherwise, if a procedure is
being interpreted,
then \fIvarName\fR will be treated as a local variable name, unless
it has been declared global using the \fBglobal\fR command.  If
no variable by the name \fIvarName\fR exists right now, then a NULL
pointer is returned.

.SH KEYWORDS
interpreter, global, local, variable
0707070035050467071004440011710000040000010747000466276614400002300000010461tcl/Tcl_Interp.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_Interp tcl
.BS
.SH NAME
Tcl_Interp \- client-visible fields of interpreter structures
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
typedef struct {
	char *\fIresult\fR;
	int \fIdynamic\fR;
	int \fIerrorLine\fR;
} Tcl_Interp;
.BE

.SH DESCRIPTION
.PP
The \fBTcl_CreateInterp\fR procedure returns a pointer to a Tcl_Interp
structure.  This pointer is then passed into other Tcl procedures
to process commands in the interpreter and perform other operations
on the interpreter.  Interpreter structures contain many many fields
that are used by Tcl, but only three that may be accessed by
clients:  \fIresult\fR and \fIdynamic\fR.  These fields are used by
Tcl command procedures to return strings that form part of the result
of each command.  When Tcl_Eval returns, the string pointed to be
the \fIresult\fR field will be used by Tcl_Eval's caller
as a return value or error message.
.PP
The easiest way for command procedures to manipulate the \fIresult\fR
and \fIdynamic\fR fields is to call Tcl_Return;  Tcl_Return
will hide all the details of managing these fields.
The description below is for those procedures that manipulate the
fields directly.
.PP
Whenever a command procedure returns, it must ensure
that the \fIresult\fR field of its interpreter points to the string
being returned by the command.  Normally, these strings are assumed
to be statically allocated;  in this case, the \fIdynamic\fR field
must be zero.  As an alternative, a command procedure may dynamically
allocate its return value and store a pointer to it in \fIinterp->result\fR.
In this case, the command procedure must also set \fIinterp->dynamic\fR
to non-zero.  If \fIinterp->dynamic\fR is non-zero, then Tcl will free
the space pointed to by \fIinterp->result\fR before it invokes the next command.
If a client procedure overwrites \fIinterp->result\fR field when
\fIinterp->dynamic\fR is non-zero, then it is responsible for freeing the
old \fIinterp->result\fR.  Once again, if clients use the
\fBTcl_Result\fR procedure to manage these fields, they need not worry
about these issues.
.PP
As part of processing each command, \fBTcl_Eval\fR initializes
\fIinterp->result\fR
and \fIinterp->dynamic\fR just before calling the command procedure for
the command.  The \fIdynamic\fR field will be initialized to zero,
and \fIinterp->result\fR will point to an empty string.  Commands that
do not return any value can simply leave the fields alone.
Furthermore, the empty string pointed to by \fIresult\fR is actually
part of an array of \fBTCL_RESULT_SIZE\fR characters (approximately 200).
If a command wishes to return a short string, it can simply copy
it to the area pointed to by \fIinterp->result\fR.  Or, it can use
the sprintf procedure to generate a short result string at the location
pointed to by \fIinterp->result\fR.
.PP
If a command procedure calls a lower-level procedure that sets
\fIinterp->result\fR and \fIinterp->dynamic\fR (such as a recursive
instance of \fBTcl_Eval\fR), then the command procedure must reset
\fIinterp->result\fR if it wishes to return a value different
than that returned by the lower-level procedure.  As part of
resetting \fIinterp->result\fR, it must free the space if
\fIinterp->dynamic\fR is set.  Once again, the easiest way to
make sure this gets done right is to call \fBTcl_Result\fR.
.PP
The \fIerrorLine\fR
.VS
field is valid only after \fBTcl_Eval\fR returns
a \fBTCL_ERROR\fR return code.  In this situation the \fIerrorLine\fR
field identifies the line number of the command being executed when
the error occurred.  The line numbers are relative to the command
being executed:  1 means the first line of the command passed to
\fBTcl_Eval\fR, 2 means the second line, and so on.  \fIErrorLine\fR
should not normally be modified except by \fBTcl_Eval\fR.
.VE

.SH KEYWORDS
dynamic, interpreter, result
0707070035050467021004440011710000040000010747010466276614500002200000002563tcl/Tcl_Merge.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_Merge tcl
.BS
.SH NAME
Tcl_Merge \- generate a Tcl list from a collection of strings
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
char *
\fBTcl_Merge\fR(\fIargc, argv\fR)
.SH ARGUMENTS
.AP int argc in
Number of strings.
.AP char *argv[] in
Array of strings to combine into list.  Must have \fIargc\fR entries.
.BE

.SH DESCRIPTION
.PP
\fBTcl_Merge\fR is a utility procedure used by several of the Tcl commands.
Given a collection of strings, it generates a result string
that has proper list structure, such that the \fBindex\fR
Tcl command may be used to extract out the original strings.
In order to do this, \fBTcl_Merge\fR may have to add braces
and/or backslashes.  The result string is dynamically allocated
using \fBmalloc()\fR;  the caller must eventually release the space
using \fBfree()\fR.

.SH KEYWORDS
list, strings
0707070035050466771004440011710000040000010747030466276614500002300000004640tcl/Tcl_Return.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_Return tcl
.BS
.SH NAME
Tcl_Return \- set up a Tcl result string
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
\fBTcl_Return\fR(\fIinterp, string, status\fR)
.SH ARGUMENTS
.AP Tcl_Interp *interp out
Interpreter for which a return value is to be established.
.AP char *string in
String value to be returned, or \fBNULL\fR.
.AP int status in
Indicates the nature of \fIstring\fR.  Must be either \fBTCL_STATIC\fR,
\fBTCL_DYNAMIC\fR, or \fBTCL_VOLATILE\fR.
.BE

.SH DESCRIPTION
.PP
\fBTcl_Return\fR is a convenience routine used by several of the Tcl commands.  It
arranges for \fIstring\fR to be the return string for the current Tcl
command in \fIinterp\fR.  If \fIstatus\fR is \fBTCL_STATIC\fR it means that
\fIstring\fR
refers to an area of static storage that is guaranteed to remain
untouched until at least the next call to \fBTcl_Eval\fR.  If \fIstatus\fR
is \fBTCL_DYNAMIC\fR it means that \fIstring\fR was allocated with a call
to \fBmalloc()\fR and is now the property of the Tcl system.  \fBTcl_Return\fR
will arrange for the string's storage to be released by calling
\fBfree()\fR when it is no longer needed.  The third possibility is for
\fIstatus\fR to be \fBTCL_VOLATILE\fR.  This means that \fIstring\fR points
to an area of memory that is likely to be overwritten when \fBTcl_Return\fR
returns.  In this case \fBTcl_Return\fR makes a copy of the string and arranges
for the copy to be the return string for the current Tcl command.
.PP
If \fIstring\fR is \fBNULL\fR, then \fIstatus\fR is ignored and \fBTcl_Return\fR
re-initializes \fIinterp\fR's result to point to the pre-allocated result
area, with an empty string in the result area.
.PP
In any of the above cases, if \fIinterp\fR holds a dynamically-allocated
result at the time of the \fBTcl_Return\fR call, the old result's storage
is released by calling \fBfree()\fR.

.SH KEYWORDS
command, result, return value, interpreter
0707070035050466751004440011710000040000010747040466276614500002300000003365tcl/Tcl_SetVar.man'\" Copyright 1989 Regents of the University of California
'\" Permission to use, copy, modify, and distribute this
'\" documentation for any purpose and without fee is hereby
'\" granted, provided that this notice appears in all copies.
'\" The University of California makes no representations about
'\" the suitability of this material for any purpose.  It is
'\" provided "as is" without express or implied warranty.
'\" 
'\" $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
'\" 
.so \*(]ltmac.sprite
.HS Tcl_SetVar tcl
.BS
.SH NAME
Tcl_SetVar \- change the value of a Tcl variable
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
\fBTcl_SetVar\fR(\fIinterp, varName, newValue, global\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp
.AP Tcl_Interp *interp in
Interpreter in which to change variable.
.AP char *varName in
Name of variable.
.AP char *newValue in
New value for \fIvarName\fR
.AP int global in
If non-zero, then insist on interpreting \fIvarName\fR as a global
variable, regardless of whether a procedure invocation is in
progress.
.BE

.SH DESCRIPTION
.PP
This is a utility procedure used by many of the Tcl commands.
It changes the value of variable \fIvarName\fR in
interpreter \fIinterp\fR, such that future calls to \fBTcl_GetVar\fR
will return \fInewValue\fR as the value of \fIvarName\fR.
\fBTcl_SetVar\fR uses the same rules for selecting
a global or local variable as \fBTcl_GetVar\fR.  If \fIvarName\fR
doesn't already exist, then a new variable is created.
\fBTcl_SetVar\fR copies both \fIvarName\fR and \fInewValue\fR into
its own private storage, so the caller may change the contents
of these strings after \fBTcl_SetVar\fR returns without affecting
the variable's value.

.SH KEYWORDS
interpreter, variable
0707070035050466641006640011710000040000010747050466276614500001600000350164tcl/usenix.ps%!PS-Adobe-1.0
%%Creator: mace.Berkeley.EDU:ouster (John Ousterhout,525E,0865,5476132)
%%Title: stdin (ditroff)
%%CreationDate: Fri Dec 22 15:50:55 1989
%%EndComments
%	@(#)psdit.pro	1.3 4/15/88
% lib/psdit.pro -- prolog for psdit (ditroff) files
% Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
% last edit: shore Sat Nov 23 20:28:03 1985
% RCSID: $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $

% Changed by Edward Wang ([email protected]) to handle graphics,
% 17 Feb, 87.

/$DITroff 140 dict def $DITroff begin
/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
/xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
 /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
 /pagesave save def}def
/PB{save /psv exch def currentpoint translate 
 resolution 72 div dup neg scale 0 0 moveto}def
/PE{psv restore}def
/arctoobig 90 def /arctoosmall .05 def
/m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
/tan{dup sin exch cos div}def
/point{resolution 72 div mul}def
/dround	{transform round exch round exch itransform}def
/xT{/devname exch def}def
/xr{/mh exch def /my exch def /resolution exch def}def
/xp{}def
/xs{docsave restore end}def
/xt{}def
/xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
 {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
/xH{/fontheight exch def F}def
/xS{/fontslant exch def F}def
/s{/fontsize exch def /fontheight fontsize def F}def
/f{/fontnum exch def F}def
/F{fontheight 0 le{/fontheight fontsize def}if
 fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
 fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
 makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
/X{exch currentpoint exch pop moveto show}def
/N{3 1 roll moveto show}def
/Y{exch currentpoint pop exch moveto show}def
/S{show}def
/ditpush{}def/ditpop{}def
/AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
/AN{4 2 roll moveto 0 exch ashow}def
/AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
/AS{0 exch ashow}def
/MX{currentpoint exch pop moveto}def
/MY{currentpoint pop exch moveto}def
/MXY{moveto}def
/cb{pop}def	% action on unknown char -- nothing for now
/n{}def/w{}def
/p{pop showpage pagesave restore /pagesave save def}def
/Dt{/Dlinewidth exch def}def 1 Dt
/Ds{/Ddash exch def}def -1 Ds
/Di{/Dstipple exch def}def 1 Di
/Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
/Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
 {Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
/Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
 currentpoint newpath moveto}def
/Dl{rlineto Dstroke}def
/arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
 currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
 currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
/Dc{dup arcellipse Dstroke}def
/De{arcellipse Dstroke}def
/Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
 /cradius centerv centerv mul centerh centerh mul add sqrt def
 /eradius endv endv mul endh endh mul add sqrt def
 /endang endv endh atan def
 /startang centerv neg centerh neg atan def
 /sweep startang endang sub dup 0 lt{360 add}if def
 sweep arctoobig gt
 {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
  /midh midang cos midrad mul def /midv midang sin midrad mul def
  midh neg midv neg endh endv centerh centerv midh midv Da
  Da}
 {sweep arctoosmall ge
  {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
   centerv neg controldelt mul centerh controldelt mul
   endv neg controldelt mul centerh add endh add
   endh controldelt mul centerv add endv add
   centerh endh add centerv endv add rcurveto Dstroke}
  {centerh endh add centerv endv add rlineto Dstroke}
  ifelse}
 ifelse}def
/Dpatterns[
[%cf[widthbits]
[8<0000000000000010>]
[8<0411040040114000>]
[8<0204081020408001>]
[8<0000103810000000>]
[8<6699996666999966>]
[8<0000800100001008>]
[8<81c36666c3810000>]
[8<0f0e0c0800000000>]
[8<0000000000000010>]
[8<0411040040114000>]
[8<0204081020408001>]
[8<0000001038100000>]
[8<6699996666999966>]
[8<0000800100001008>]
[8<81c36666c3810000>]
[8<0f0e0c0800000000>]
[8<0042660000246600>]
[8<0000990000990000>]
[8<0804020180402010>]
[8<2418814242811824>]
[8<6699996666999966>]
[8<8000000008000000>]
[8<00001c3e363e1c00>]
[8<0000000000000000>]
[32<00000040000000c00000004000000040000000e0000000000000000000000000>]
[32<00000000000060000000900000002000000040000000f0000000000000000000>]
[32<000000000000000000e0000000100000006000000010000000e0000000000000>]
[32<00000000000000002000000060000000a0000000f00000002000000000000000>]
[32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
[32<0000090000000600000000000000000000000000000007000000080000000e00>]
[32<00010000000200000004000000040000000000000000000000000000000f0000>]
[32<0900000006000000090000000600000000000000000000000000000006000000>]]
[%ug
[8<0000020000000000>]
[8<0000020000002000>]
[8<0004020000002000>]
[8<0004020000402000>]
[8<0004060000402000>]
[8<0004060000406000>]
[8<0006060000406000>]
[8<0006060000606000>]
[8<00060e0000606000>]
[8<00060e000060e000>]
[8<00070e000060e000>]
[8<00070e000070e000>]
[8<00070e020070e000>]
[8<00070e020070e020>]
[8<04070e020070e020>]
[8<04070e024070e020>]
[8<04070e064070e020>]
[8<04070e064070e060>]
[8<06070e064070e060>]
[8<06070e066070e060>]
[8<06070f066070e060>]
[8<06070f066070f060>]
[8<060f0f066070f060>]
[8<060f0f0660f0f060>]
[8<060f0f0760f0f060>]
[8<060f0f0760f0f070>]
[8<0e0f0f0760f0f070>]
[8<0e0f0f07e0f0f070>]
[8<0e0f0f0fe0f0f070>]
[8<0e0f0f0fe0f0f0f0>]
[8<0f0f0f0fe0f0f0f0>]
[8<0f0f0f0ff0f0f0f0>]
[8<1f0f0f0ff0f0f0f0>]
[8<1f0f0f0ff1f0f0f0>]
[8<1f0f0f8ff1f0f0f0>]
[8<1f0f0f8ff1f0f0f8>]
[8<9f0f0f8ff1f0f0f8>]
[8<9f0f0f8ff9f0f0f8>]
[8<9f0f0f9ff9f0f0f8>]
[8<9f0f0f9ff9f0f0f9>]
[8<9f8f0f9ff9f0f0f9>]
[8<9f8f0f9ff9f8f0f9>]
[8<9f8f1f9ff9f8f0f9>]
[8<9f8f1f9ff9f8f1f9>]
[8<bf8f1f9ff9f8f1f9>]
[8<bf8f1f9ffbf8f1f9>]
[8<bf8f1fdffbf8f1f9>]
[8<bf8f1fdffbf8f1fd>]
[8<ff8f1fdffbf8f1fd>]
[8<ff8f1fdffff8f1fd>]
[8<ff8f1ffffff8f1fd>]
[8<ff8f1ffffff8f1ff>]
[8<ff9f1ffffff8f1ff>]
[8<ff9f1ffffff9f1ff>]
[8<ff9f9ffffff9f1ff>]
[8<ff9f9ffffff9f9ff>]
[8<ffbf9ffffff9f9ff>]
[8<ffbf9ffffffbf9ff>]
[8<ffbfdffffffbf9ff>]
[8<ffbfdffffffbfdff>]
[8<ffffdffffffbfdff>]
[8<ffffdffffffffdff>]
[8<fffffffffffffdff>]
[8<ffffffffffffffff>]]
[%mg
[8<8000000000000000>]
[8<0822080080228000>]
[8<0204081020408001>]
[8<40e0400000000000>]
[8<66999966>]
[8<8001000010080000>]
[8<81c36666c3810000>]
[8<f0e0c08000000000>]
[16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
[16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
[8<c3c300000000c3c3>]
[16<0040008001000200040008001000200040008000000100020004000800100020>]
[16<0040002000100008000400020001800040002000100008000400020001000080>]
[16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
[8<80>]
[8<8040201000000000>]
[8<84cc000048cc0000>]
[8<9900009900000000>]
[8<08040201804020100800020180002010>]
[8<2418814242811824>]
[8<66999966>]
[8<8000000008000000>]
[8<70f8d8f870000000>]
[8<0814224180402010>]
[8<aa00440a11a04400>]
[8<018245aa45820100>]
[8<221c224180808041>]
[8<88000000>]
[8<0855800080550800>]
[8<2844004482440044>]
[8<0810204080412214>]
[8<00>]]]def
/Dfill{
 transform /maxy exch def /maxx exch def
 transform /miny exch def /minx exch def
 minx maxx gt{/minx maxx /maxx minx def def}if
 miny maxy gt{/miny maxy /maxy miny def def}if
 Dpatterns Dstipple 1 sub get exch 1 sub get
 aload pop /stip exch def /stipw exch def /stiph 128 def
 /imatrix[stipw 0 0 stiph 0 0]def
 /tmatrix[stipw 0 0 stiph 0 0]def
 /minx minx cvi stiph idiv stiph mul def
 /miny miny cvi stipw idiv stipw mul def
 gsave eoclip 0 setgray
 miny stiph maxy{
  tmatrix exch 5 exch put
  minx stipw maxx{
   tmatrix exch 4 exch put tmatrix setmatrix
   stipw stiph true imatrix {stip} imagemask
  }for
 }for
 grestore
}def
/Dp{Dfill Dstroke}def
/DP{Dfill currentpoint newpath moveto}def
end

/ditstart{$DITroff begin
 /nfonts 60 def			% NFONTS makedev/ditroff dependent!
 /fonts[nfonts{0}repeat]def
 /fontnames[nfonts{()}repeat]def
/docsave save def
}def

% character outcalls
/oc{
 /pswid exch def /cc exch def /name exch def
 /ditwid pswid fontsize mul resolution mul 72000 div def
 /ditsiz fontsize resolution mul 72 div def
 ocprocs name known{ocprocs name get exec}{name cb}ifelse
}def
/fractm [.65 0 0 .6 0 0] def
/fraction{
 /fden exch def /fnum exch def gsave /cf currentfont def
 cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
 fnum show rmoveto currentfont cf setfont(\244)show setfont fden show 
 grestore ditwid 0 rmoveto
}def
/oce{grestore ditwid 0 rmoveto}def
/dm{ditsiz mul}def
/ocprocs 50 dict def ocprocs begin
(14){(1)(4)fraction}def
(12){(1)(2)fraction}def
(34){(3)(4)fraction}def
(13){(1)(3)fraction}def
(23){(2)(3)fraction}def
(18){(1)(8)fraction}def
(38){(3)(8)fraction}def
(58){(5)(8)fraction}def
(78){(7)(8)fraction}def
(sr){gsave 0 .06 dm rmoveto(\326)show oce}def
(is){gsave 0 .15 dm rmoveto(\362)show oce}def
(->){gsave 0 .02 dm rmoveto(\256)show oce}def
(<-){gsave 0 .02 dm rmoveto(\254)show oce}def
(==){gsave 0 .05 dm rmoveto(\272)show oce}def
(uc){gsave currentpoint 400 .009 dm mul add translate
     8 -8 scale ucseal oce}def
end

% an attempt at a PostScript FONT to implement ditroff special chars
% this will enable us to 
%	cache the little buggers
%	generate faster, more compact PS out of psdit
%	confuse everyone (including myself)!
50 dict dup begin
/FontType 3 def
/FontName /DIThacks def
/FontMatrix [.001 0 0 .001 0 0] def
/FontBBox [-260 -260 900 900] def% a lie but ...
/Encoding 256 array def
0 1 255{Encoding exch /.notdef put}for
Encoding
 dup 8#040/space put %space
 dup 8#110/rc put %right ceil
 dup 8#111/lt put %left  top curl
 dup 8#112/bv put %bold vert
 dup 8#113/lk put %left  mid curl
 dup 8#114/lb put %left  bot curl
 dup 8#115/rt put %right top curl
 dup 8#116/rk put %right mid curl
 dup 8#117/rb put %right bot curl
 dup 8#120/rf put %right floor
 dup 8#121/lf put %left  floor
 dup 8#122/lc put %left  ceil
 dup 8#140/sq put %square
 dup 8#141/bx put %box
 dup 8#142/ci put %circle
 dup 8#143/br put %box rule
 dup 8#144/rn put %root extender
 dup 8#145/vr put %vertical rule
 dup 8#146/ob put %outline bullet
 dup 8#147/bu put %bullet
 dup 8#150/ru put %rule
 dup 8#151/ul put %underline
 pop
/DITfd 100 dict def
/BuildChar{0 begin
 /cc exch def /fd exch def
 /charname fd /Encoding get cc get def
 /charwid fd /Metrics get charname get def
 /charproc fd /CharProcs get charname get def
 charwid 0 fd /FontBBox get aload pop setcachedevice
 2 setlinejoin 40 setlinewidth
 newpath 0 0 moveto gsave charproc grestore
 end}def
/BuildChar load 0 DITfd put
/CharProcs 50 dict def
CharProcs begin
/space{}def
/.notdef{}def
/ru{500 0 rls}def
/rn{0 840 moveto 500 0 rls}def
/vr{0 800 moveto 0 -770 rls}def
/bv{0 800 moveto 0 -1000 rls}def
/br{0 840 moveto 0 -1000 rls}def
/ul{0 -140 moveto 500 0 rls}def
/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
/sq{80 0 rmoveto currentpoint dround newpath moveto
    640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
/bx{80 0 rmoveto currentpoint dround newpath moveto
    640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
/ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
    50 setlinewidth stroke}def

/lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
/lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
/rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
/rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
/lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
    0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
/rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
    0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
/lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
/rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
/lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
/rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
end

/Metrics 50 dict def Metrics begin
/.notdef 0 def
/space 500 def
/ru 500 def
/br 0 def
/lt 416 def
/lb 416 def
/rt 416 def
/rb 416 def
/lk 416 def
/rk 416 def
/rc 416 def
/lc 416 def
/rf 416 def
/lf 416 def
/bv 416 def
/ob 350 def
/bu 350 def
/ci 750 def
/bx 750 def
/sq 750 def
/rn 500 def
/ul 500 def
/vr 0 def
end

DITfd begin
/s2 500 def /s4 250 def /s3 333 def
/a4p{arcto pop pop pop pop}def
/2cx{2 copy exch}def
/rls{rlineto stroke}def
/currx{currentpoint pop}def
/dround{transform round exch round exch itransform} def
end
end
/DIThacks exch definefont pop
ditstart
(psc)xT
576 1 1 xr
1(Times-Roman)xf 1 f
2(Times-Italic)xf 2 f
3(Times-Bold)xf 3 f
4(Times-BoldItalic)xf 4 f
5(Helvetica)xf 5 f
6(Helvetica-Bold)xf 6 f
7(Courier)xf 7 f
8(Courier-Bold)xf 8 f
9(Symbol)xf 9 f
10(DIThacks)xf 10 f
10 s
1 f
xi
%%EndProlog

%%Page: 1 1
10 s 10 xH 0 xS 1 f
11 s
3 f
14 s
1420 1144(Tcl:)N
1669(An)X
1840(Embeddable)X
2471(Command)X
3004(Language)X
2 f
12 s
2070 1469(John)N
2281(K.)X
2393(Ousterhout)X
1 f
1916 1794(Computer)N
2325(Science)X
2649(Division)X
1548 1893 0.3542(Electrical)AN
1943(Engineering)X
2438(and)X
2601(Computer)X
3010(Sciences)X
1752 1992(University)N
2182(of)X
2286(California)X
2701(at)X
2795(Berkeley)X
2051 2091(Berkeley,)N
2447(CA)X
2604(94720)X
1920 2190([email protected])N
3 f
2187 2614(ABSTRACT)N
1 f
11 s
1040 2878(Tcl)N
1182(is)X
1265(an)X
1372(interpreter)X
1762(for)X
1887(a)X
1949(tool)X
2110(command)X
2481(language.)X
2866(It)X
2943(consists)X
3245(of)X
3341(a)X
3403(library)X
3661(pack-)X
1040 2977(age)N
1199(that)X
1369(is)X
1465(embedded)X
1864(in)X
1970(tools)X
2179(\(such)X
2406(as)X
2515(editors,)X
2813(debuggers,)X
3232(etc.\))X
3422(as)X
3531(the)X
3675(basic)X
1040 3076(command)N
1418(interpreter.)X
1858(Tcl)X
2005(provides)X
2337(\(a\))X
2463(a)X
2531(parser)X
2774(for)X
2905(a)X
2973(simple)X
3238(textual)X
3508(command)X
1040 3175(language,)N
1414(\(b\))X
1550(a)X
1623(collection)X
2006(of)X
2113(built-in)X
2408(utility)X
2655(commands,)X
3093(and)X
3254(\(c\))X
3384(a)X
3456(C)X
3548(interface)X
1040 3274(that)N
1201(tools)X
1401(use)X
1546(to)X
1642(augment)X
1973(the)X
2108(built-in)X
2396(commands)X
2805(with)X
2989(tool-speci\256c)X
3452(commands.)X
1040 3373(Tcl)N
1187(is)X
1275(particularly)X
1711(attractive)X
2069(when)X
2288(integrated)X
2670(with)X
2856(the)X
2993(widget)X
3262(library)X
3526(of)X
3628(a)X
3695(win-)X
1040 3472(dow)N
1233(system:)X
1567(it)X
1659(increases)X
2022(the)X
2171(programmability)X
2806(of)X
2920(the)X
3069(widgets)X
3384(by)X
3513(providing)X
1040 3571(mechanisms)N
1504(for)X
1634(variables,)X
2002(procedures,)X
2437(expressions,)X
2896(etc;)X
3073(it)X
3150(allows)X
3407(users)X
3614(to)X
3710(pro-)X
1040 3670(gram)N
1245(both)X
1426(the)X
1558(appearance)X
1977(and)X
2128(the)X
2259(actions)X
2532(of)X
2628(widgets;)X
2972(and)X
3122(it)X
3195(offers)X
3422(a)X
3484(simple)X
3743(but)X
1040 3769(powerful)N
1379(communication)X
1951(mechanism)X
2375(between)X
2690(interactive)X
3085(programs.)X
2 f
1097 4160(This)N
1271(paper)X
1498(will)X
1654(appear)X
1925(in)X
2016(the)X
2146(1990)X
2344(Winter)X
2606(USENIX)X
2931(Conference)X
3359(Proceedings)X
1 f
10 s
10 f
720 5323(h)N
752(hhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
1 f
892 5432(The)N
1052(work)X
1252(described)X
1595(here)X
1769(was)X
1929(supported)X
2280(in)X
2377(part)X
2537(by)X
2652(the)X
2784(National)X
3094(Science)X
3378(Foundation)X
3776(under)X
3993(Grant)X
720 5522(ECS-8351961.)N

1 p
%%Page: 1 2
10 s 10 xH 0 xS 1 f
3 f
11 s
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
720 771(1.)N
830(Introduction)X
1 f
920 903(Tcl)N
1071(stands)X
1324(for)X
1459(``tool)X
1687(command)X
2067(language''.)X
2519(It)X
2605(consists)X
2916(of)X
3021(a)X
3092(library)X
3359(package)X
3679(that)X
3844(programs)X
720 1002(can)N
865(use)X
1005(as)X
1101(the)X
1232(basis)X
1431(for)X
1556(their)X
1740(command)X
2110(languages.)X
2528(The)X
2687(development)X
3165(of)X
3260(Tcl)X
3400(was)X
3558(motivated)X
3934(by)X
4044(two)X
720 1101(observations.)N
1240(The)X
1408(\256rst)X
1576(observation)X
2018(is)X
2108(that)X
2271(a)X
2340(general-purpose)X
2936(programmable)X
3480(command)X
3858(language)X
720 1200(ampli\256es)N
1075(the)X
1214(power)X
1464(of)X
1568(a)X
1637(tool)X
1805(by)X
1923(allowing)X
2262(users)X
2472(to)X
2571(write)X
2782(programs)X
3144(in)X
3243(the)X
3381(command)X
3759(language)X
4107(in)X
720 1299(order)N
933(to)X
1030(extend)X
1293(the)X
1429(tool's)X
1658(built-in)X
1947(facilities.)X
2324(Among)X
2616(the)X
2752(best-known)X
3190(examples)X
3551(of)X
3651(powerful)X
3995(com-)X
720 1398(mand)N
943(languages)X
1322(are)X
1456(those)X
1669(of)X
1769(the)X
1904(UNIX)X
2149(shells)X
2377([5])X
2506(and)X
2660(the)X
2795(Emacs)X
3057(editor)X
3290([8].)X
3463(In)X
3563(each)X
3751(case)X
3929(a)X
3995(com-)X
720 1497(puting)N
970(environment)X
1440(of)X
1537(unusual)X
1834(power)X
2076(has)X
2216(arisen,)X
2471(in)X
2563(large)X
2762(part)X
2922(because)X
3223(of)X
3319(the)X
3450 0.2898(availability)AX
3872(of)X
3968(a)X
4030(pro-)X
720 1596(grammable)N
1139(command)X
1509(language.)X
920 1728(The)N
1083(second)X
1352(motivating)X
1761(observation)X
2197(is)X
2281(that)X
2439(the)X
2572(number)X
2866(of)X
2964(interactive)X
3362(applications)X
3814(is)X
3898(increas-)X
720 1827(ing.)N
911(In)X
1018(the)X
1160(timesharing)X
1611(environments)X
2125(of)X
2232(the)X
2374(late)X
2536(1970's)X
2809(and)X
2970(early)X
3180(1980's)X
3453(almost)X
3722(all)X
3844(programs)X
720 1926(were)N
918(batch-oriented.)X
1499(They)X
1708(were)X
1906(typically)X
2244(invoked)X
2556(using)X
2775(an)X
2886(interactive)X
3287(command)X
3663(shell.)X
3902(Besides)X
720 2025(the)N
851(shell,)X
1063(only)X
1243(a)X
1305(few)X
1459(other)X
1663(programs)X
2018(needed)X
2290(to)X
2382(be)X
2488(interactive,)X
2906(such)X
3090(as)X
3186(editors)X
3449(and)X
3599(mailers.)X
3925(In)X
4020(con-)X
720 2124(trast,)N
923(the)X
1060(personal)X
1387(workstations)X
1866(used)X
2055(today,)X
2301(with)X
2486(their)X
2676(raster)X
2899(displays)X
3216(and)X
3371(mice,)X
3593(encourage)X
3982(a)X
4049(dif-)X
720 2223(ferent)N
954(system)X
1228(structure)X
1565(where)X
1808(a)X
1876(large)X
2081(number)X
2379(of)X
2480(programs)X
2840(are)X
2975(interactive)X
3376(and)X
3531(the)X
3667(most)X
3867(common)X
720 2322(style)N
915(of)X
1016(interaction)X
1422(is)X
1509(to)X
1606(manipulate)X
2026(individual)X
2412(applications)X
2866(directly)X
3163(with)X
3347(a)X
3413(mouse.)X
3714(Furthermore,)X
720 2421(the)N
855(large)X
1058(displays)X
1374(available)X
1720(today)X
1943(make)X
2161(it)X
2238(possible)X
2554(for)X
2683(many)X
2906(interactive)X
3306(applications)X
3760(to)X
3856(be)X
3965(active)X
720 2520(at)N
806(once,)X
1016(whereas)X
1325(this)X
1475(was)X
1633(not)X
1768(practical)X
2094(with)X
2273(the)X
2403(smaller)X
2685(screens)X
2965(of)X
3060(ten)X
3190(years)X
3397(ago.)X
920 2652(Unfortunately,)N
1462(few)X
1619(of)X
1718(today's)X
2002(interactive)X
2400(applications)X
2852(have)X
3043(the)X
3176(power)X
3420(of)X
3518(the)X
3651(shell)X
3843(or)X
3941(Emacs)X
720 2751(command)N
1093(languages.)X
1514(Where)X
1773(good)X
1974(command)X
2346(languages)X
2722(exist,)X
2935(they)X
3111(tend)X
3287(to)X
3380(be)X
3487(tied)X
3644(to)X
3737(speci\256c)X
4030(pro-)X
720 2850(grams.)N
1006(Each)X
1209(new)X
1382(interactive)X
1782(application)X
2202(requires)X
2512(a)X
2577(new)X
2749(command)X
3123(language)X
3467(to)X
3562(be)X
3671(developed.)X
4103(In)X
720 2949(most)N
919(cases)X
1131(application)X
1551(programmers)X
2047(do)X
2162(not)X
2302(have)X
2495(the)X
2630(time)X
2815(or)X
2915(inclination)X
3321(to)X
3417(implement)X
3823(a)X
3888(general-)X
720 3048(purpose)N
1046(facility)X
1345(\(particularly)X
1829(if)X
1931(the)X
2087(application)X
2528(itself)X
2752(is)X
2858(simple\),)X
3192(so)X
3317(the)X
3472(resulting)X
3828(command)X
720 3147(languages)N
1094(tend)X
1268(to)X
1359(have)X
1547(insuf\256cient)X
1966(power)X
2207(and)X
2356(clumsy)X
2633(syntax.)X
920 3279(Tcl)N
1065(is)X
1151(an)X
1261(application-independent)X
2141(command)X
2516(language.)X
2905(It)X
2986(exists)X
3214(as)X
3314(a)X
3380(C)X
3466(library)X
3728(package)X
4043(that)X
720 3378(can)N
869(be)X
978(used)X
1165(in)X
1260(many)X
1482(different)X
1811(programs.)X
2213(The)X
2376(Tcl)X
2520(library)X
2781(provides)X
3110(a)X
3175(parser)X
3415(for)X
3543(a)X
3608(simple)X
3870(but)X
4009(fully)X
720 3477(programmable)N
1271(command)X
1656(language.)X
2055(The)X
2229(library)X
2501(also)X
2680(implements)X
3129(a)X
3204(collection)X
3589(of)X
3698(built-in)X
3995(com-)X
720 3576(mands)N
975(that)X
1133(provide)X
1427(general-purpose)X
2018(programming)X
2523(constructs)X
2905(such)X
3091(as)X
3189(variables,)X
3554(lists,)X
3744(expressions,)X
720 3675(conditionals,)N
1217(looping,)X
1552(and)X
1722(procedures.)X
2194(Individual)X
2599(application)X
3034(programs)X
3408(extend)X
3685(the)X
3835(basic)X
4058(Tcl)X
720 3774(language)N
1066(with)X
1251(application-speci\256c)X
1970(commands.)X
2424(The)X
2589(Tcl)X
2735(library)X
2998(also)X
3168(provides)X
3499(a)X
3565(set)X
3690(of)X
3790(utility)X
4030(rou-)X
720 3873(tines)N
909(to)X
1000(simplify)X
1317(the)X
1447 0.2885(implementation)AX
2025(of)X
2120(tool-speci\256c)X
2578(commands.)X
920 4005(I)N
982(believe)X
1270(that)X
1436(Tcl)X
1587(is)X
1679(particularly)X
2119(useful)X
2367(in)X
2468(a)X
2539(windowing)X
2967(environment,)X
3467(and)X
3626(that)X
3791(it)X
3873(provides)X
720 4104(two)N
876(advantages.)X
1335(First,)X
1543(it)X
1617(can)X
1763(be)X
1870(used)X
2054(as)X
2150(a)X
2212(general-purpose)X
2801(mechanism)X
3226(for)X
3351(programming)X
3854(the)X
3985(inter-)X
720 4203(faces)N
932(of)X
1037(applications.)X
1540(If)X
1630(a)X
1701(tool)X
1871(is)X
1962(based)X
2194(on)X
2314(Tcl,)X
2486(then)X
2669(it)X
2750(should)X
3016(be)X
3130(relatively)X
3495(easy)X
3682(to)X
3782(modify)X
4068(the)X
720 4302(application's)N
1206(user)X
1382(interface)X
1720(and)X
1877(to)X
1975(extend)X
2239(the)X
2376(interface)X
2713(with)X
2899(new)X
3074(commands.)X
3529(Second,)X
3839(and)X
3995(more)X
720 4401(important,)N
1123(Tcl)X
1278(provides)X
1618(a)X
1694(uniform)X
2015(framework)X
2437(for)X
2576(communication)X
3162(between)X
3491(tools.)X
3743(If)X
3837(used)X
4034(uni-)X
720 4500(formly)N
991(in)X
1091(all)X
1211(tools,)X
1436(Tcl)X
1585(will)X
1754(make)X
1976(it)X
2056(possible)X
2375(for)X
2507(tools)X
2709(to)X
2808(work)X
3018(together)X
3337(more)X
3548(gracefully)X
3935(than)X
4117(is)X
720 4599(possible)N
1031(today.)X
920 4731(The)N
1082(rest)X
1234(of)X
1332(this)X
1485(paper)X
1705(is)X
1789(organized)X
2161(as)X
2259(follows.)X
2592(Section)X
2882(2)X
2951(describes)X
3303(the)X
3436(Tcl)X
3579(language)X
3922(as)X
4020(seen)X
720 4830(by)N
833(users.)X
1082(Section)X
1372(3)X
1441(discusses)X
1793(how)X
1969(Tcl)X
2112(is)X
2196(used)X
2382(in)X
2475(applications,)X
2948(including)X
3306(the)X
3438(C-language)X
3868(interface)X
720 4929(between)N
1040(application)X
1460(programs)X
1819(and)X
1973(the)X
2108(Tcl)X
2253(library.)X
2559(Section)X
2851(4)X
2922(describes)X
3276(how)X
3454(Tcl)X
3598(can)X
3746(be)X
3855(used)X
4042(in)X
4137(a)X
720 5028(windowing)N
1148(environment)X
1626(to)X
1727(customize)X
2117(interface)X
2457(actions)X
2739(and)X
2898(appearances.)X
3403(Section)X
3700(5)X
3775(shows)X
4025(how)X
720 5127(Tcl)N
864(can)X
1012(be)X
1121(used)X
1308(as)X
1407(a)X
1471(vehicle)X
1751(for)X
1878(communication)X
2453(between)X
2771(applications,)X
3245(and)X
3397(why)X
3573(this)X
3726(is)X
3810(important.)X
720 5226(Section)N
1010(6)X
1079(presents)X
1392(the)X
1525(status)X
1750(of)X
1847(the)X
1979(Tcl)X
2121 0.2885(implementation)AX
2701(and)X
2852(some)X
3062(preliminary)X
3498(performance)X
3966(meas-)X
720 5325(urements.)N
1126(Section)X
1430(7)X
1513(compares)X
1889(Tcl)X
2046(to)X
2154(Lisp,)X
2372(Emacs,)X
2668(and)X
2834(NeWS,)X
3128(and)X
3293(Section)X
3596(8)X
3678(concludes)X
4068(the)X
720 5424(paper.)N
3 f
2375 6048(-)N
2426(1)X
2492(-)X

2 p
%%Page: 2 3
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
720 771(2.)N
830(The)X
999(Tcl)X
1144(Language)X
1 f
920 903(In)N
1033(a)X
1112(sense,)X
1364(the)X
1512(syntax)X
1782(of)X
1895(the)X
2043(Tcl)X
2200(language)X
2557(is)X
2655(unimportant:)X
3151(any)X
3317(programming)X
3836(language,)X
720 1002(whether)N
1035(it)X
1117(is)X
1208(C)X
1299([6],)X
1455(Forth)X
1678([4],)X
1834(Lisp)X
2023([1],)X
2179(or)X
2284(Postscript)X
2664([2],)X
2820(could)X
3048(provide)X
3348(many)X
3575(of)X
3679(the)X
3818(same)X
4030(pro-)X
720 1101(grammability)N
1223(and)X
1376(communication)X
1952(advantages)X
2369(as)X
2468(Tcl.)X
2656(This)X
2839(suggests)X
3162(that)X
3320(the)X
3453(best)X
3620 0.2885(implementation)AX
720 1200(approach)N
1065(is)X
1147(to)X
1239(borrow)X
1515(an)X
1621(existing)X
1924(language)X
2265(and)X
2415(concentrate)X
2844(on)X
2955(providing)X
3321(a)X
3382(convenient)X
3791(framework)X
720 1299(for)N
852(the)X
990(use)X
1137(of)X
1240(that)X
1403(language.)X
1795(However,)X
2168(the)X
2306(environment)X
2782(for)X
2914(an)X
3026(embeddable)X
3481(command)X
3858(language)X
720 1398(presents)N
1038(an)X
1150(unusual)X
1453(set)X
1580(of)X
1682(constraints)X
2093(on)X
2210(the)X
2347(language,)X
2716(which)X
2960(are)X
3096(described)X
3462(below.)X
3750(I)X
3808(eventually)X
720 1497(decided)N
1020(that)X
1179(a)X
1244(new)X
1415(language)X
1758(designed)X
2096(from)X
2292(scratch)X
2566(could)X
2787(probably)X
3125(meet)X
3322(the)X
3455(constraints)X
3862(with)X
4044(less)X
720 1596 0.2885(implementation)AN
1298(effort)X
1515(than)X
1689(any)X
1838(existing)X
2140(language.)X
920 1728(Tcl)N
1065(is)X
1151(unusual)X
1452(because)X
1757(it)X
1834(presents)X
2149(two)X
2308(different)X
2638(interfaces:)X
3054(a)X
3120(textual)X
3388(interface)X
3723(to)X
3819(users)X
4025(who)X
720 1827(issue)N
934(Tcl)X
1090(commands,)X
1532(and)X
1697(a)X
1774(procedural)X
2188(interface)X
2534(to)X
2641(the)X
2787(applications)X
3251(in)X
3357(which)X
3609(it)X
3696(is)X
3792(embedded.)X
720 1926(Each)N
919(of)X
1015(these)X
1219(interfaces)X
1584(must)X
1779(be)X
1885(simple,)X
2166(powerful,)X
2527(and)X
2676(ef\256cient.)X
3031(There)X
3258(were)X
3450(four)X
3618(major)X
3846(factors)X
4107(in)X
720 2025(the)N
850(language)X
1190(design:)X
720 2157([1])N
3 f
920(The)X
1092(language)X
1454(is)X
1537(for)X
1673(commands.)X
1 f
2146(Almost)X
2430(all)X
2543(Tcl)X
2685(``programs'')X
3157(will)X
3319(be)X
3426(short,)X
3648(many)X
3868(only)X
4049(one)X
920 2256(line)N
1079(long.)X
1306(Most)X
1513(programs)X
1871(will)X
2035(be)X
2144(typed)X
2366(in,)X
2483(executed)X
2822(once)X
3014(or)X
3113(perhaps)X
3412(a)X
3477(few)X
3633(times,)X
3872(and)X
4024(then)X
920 2355(discarded.)N
1327(This)X
1510(suggests)X
1834(that)X
1993(the)X
2127(language)X
2471(should)X
2732(have)X
2924(a)X
2989(simple)X
3251(syntax)X
3506(so)X
3609(that)X
3767(it)X
3842(is)X
3926(easy)X
4107(to)X
920 2454(type)N
1102(commands.)X
1558(Most)X
1769(existing)X
2079(programming)X
2589(languages)X
2971(have)X
3167(complex)X
3501(syntax;)X
3808(the)X
3946(syntax)X
920 2553(is)N
1025(helpful)X
1321(when)X
1557(writing)X
1858(long)X
2061(programs)X
2439(but)X
2598(would)X
2864(be)X
2992(clumsy)X
3292(if)X
3391(used)X
3597(for)X
3744(a)X
3828(command)X
920 2652(language.)N
720 2784([2])N
3 f
920(The)X
1092(language)X
1455(must)X
1665(be)X
1778(programmable.)X
1 f
2409(It)X
2488(should)X
2748(contain)X
3032(general)X
3315(programming)X
3819(constructs)X
920 2883(such)N
1109(as)X
1210(variables,)X
1578(procedures,)X
2013(conditionals,)X
2495(and)X
2650(loops,)X
2891(so)X
2997(that)X
3158(users)X
3366(can)X
3516(extend)X
3779(the)X
3915(built-in)X
920 2982(command)N
1293(set)X
1416(by)X
1528(writing)X
1807(Tcl)X
1949(procedures.)X
2402 0.2760(Extensibility)AX
2879(also)X
3045(argues)X
3298(for)X
3424(a)X
3487(simple)X
3747(syntax:)X
4048(this)X
920 3081(makes)N
1167(it)X
1239(easier)X
1466(for)X
1590(Tcl)X
1730(programs)X
2084(to)X
2175(generate)X
2495(other)X
2698(Tcl)X
2838(programs.)X
720 3213([3])N
3 f
920(The)X
1097(language)X
1465(must)X
1680(permit)X
1963(a)X
2036(simple)X
2310(and)X
2481(ef\256cient)X
2808(interpreter.)X
1 f
3296(For)X
3447(the)X
3584(Tcl)X
3731(library)X
3995(to)X
4093(be)X
920 3312(included)N
1247(in)X
1339(many)X
1558(small)X
1772(programs,)X
2148(particularly)X
2577(on)X
2687(machines)X
3042(without)X
3334(shared-library)X
3849(facilities,)X
920 3411(the)N
1058(interpreter)X
1455(must)X
1657(not)X
1800(occupy)X
2084(much)X
2310(memory.)X
2678(The)X
2845(mechanism)X
3276(for)X
3407(interpreting)X
3848(Tcl)X
3995(com-)X
920 3510(mands)N
1179(must)X
1380(be)X
1492(fast)X
1648(enough)X
1936(to)X
2034(be)X
2146(usable)X
2400(for)X
2531(events)X
2785(that)X
2947(occur)X
3171(hundreds)X
3522(of)X
3623(times)X
3843(a)X
3910(second,)X
920 3609(such)N
1103(as)X
1198(mouse)X
1450(motion.)X
720 3741([4])N
3 f
920(The)X
1097(language)X
1465(must)X
1680(permit)X
1964(a)X
2038(simple)X
2313(interface)X
2675(to)X
2778(C)X
2871(applications.)X
1 f
3401(It)X
3485(must)X
3687(be)X
3800(easy)X
3986(for)X
4117(C)X
920 3840(applications)N
1380(to)X
1482(invoke)X
1755(the)X
1896(interpreter)X
2296(and)X
2456(easy)X
2645(for)X
2780(them)X
2990(to)X
3092(extend)X
3360(the)X
3501(built-in)X
3794(commands)X
920 3939(with)N
1104(application-speci\256c)X
1822(commands.)X
2275(This)X
2459(factor)X
2691(was)X
2854(one)X
3008(of)X
3108(the)X
3242(reasons)X
3531(why)X
3708(I)X
3763(decided)X
4063(not)X
920 4038(to)N
1024(use)X
1176(Lisp)X
1368(as)X
1476(the)X
1619(command)X
2002(language:)X
2402(Lisp's)X
2657(basic)X
2873(data)X
3055(types)X
3276(and)X
3437(storage)X
3725(management)X
920 4137(mechanisms)N
1385(are)X
1521(so)X
1628(different)X
1960(than)X
2141(those)X
2356(of)X
2458(C)X
2546(that)X
2708(it)X
2787(would)X
3036(be)X
3148(dif\256cult)X
3457(to)X
3555(build)X
3766(a)X
3834(clean)X
4049(and)X
920 4236(simple)N
1178(interface)X
1508(between)X
1823(them.)X
2066(For)X
2210(Tcl)X
2350(I)X
2401(used)X
2584(a)X
2645(data)X
2814(type)X
2988(\(string\))X
3269(that)X
3424(is)X
3505(natural)X
3772(to)X
3863(C.)X
3 f
720 4431(2.1.)N
896(Tcl)X
1041(Language)X
1435(Syntax)X
1 f
920 4563(Tcl's)N
1126(basic)X
1332(syntax)X
1587(is)X
1671(similar)X
1941(to)X
2034(that)X
2191(of)X
2288(the)X
2420(UNIX)X
2662(shells:)X
2912(a)X
2975(command)X
3347(consists)X
3650(of)X
3747(one)X
3898(or)X
3995(more)X
720 4662(\256elds)N
938(separated)X
1297(spaces)X
1553(or)X
1653(tabs.)X
1866(The)X
2030(\256rst)X
2194(\256eld)X
2378(is)X
2464(the)X
2599(name)X
2817(of)X
2917(a)X
2983(command,)X
3380(which)X
3622(may)X
3801(be)X
3910(either)X
4137(a)X
720 4761(built-in)N
1011(command,)X
1411(an)X
1524(application-speci\256c)X
2245(command,)X
2645(or)X
2747(a)X
2815(procedure)X
3195(consisting)X
3582(of)X
3684(a)X
3752(sequence)X
4103(of)X
720 4860(Tcl)N
861(commands.)X
1310(Fields)X
1549(after)X
1733(the)X
1864(\256rst)X
2023(one)X
2172(are)X
2301(passed)X
2557(to)X
2648(the)X
2778(command)X
3148(as)X
3243(arguments.)X
3676(Newline)X
3996(char-)X
720 4959(acters)N
951(are)X
1084(used)X
1271(as)X
1370(command)X
1744(separators,)X
2148(just)X
2302(as)X
2401(in)X
2496(the)X
2630(UNIX)X
2874(shells,)X
3123(and)X
3276(semi-colons)X
3728(may)X
3906(be)X
4015(used)X
720 5058(to)N
820(separate)X
1139(commands)X
1552(on)X
1671(the)X
1810(same)X
2022(line.)X
2230(Unlike)X
2501(the)X
2640(UNIX)X
2889(shells,)X
3143(each)X
3335(Tcl)X
3484(command)X
3863(returns)X
4137(a)X
720 5157(string)N
943(result,)X
1183(or)X
1278(the)X
1408(empty)X
1651(string)X
1874(if)X
1950(a)X
2011(return)X
2243(value)X
2456(isn't)X
2635(appropriate.)X
920 5289(There)N
1157(are)X
1296(four)X
1474(additional)X
1860(syntactic)X
2206(constructs)X
2595(in)X
2696(Tcl,)X
2868(which)X
3115(give)X
3299(the)X
3438(language)X
3787(a)X
3857(Lisp-like)X
720 5388(\257avor.)N
993(Curly)X
1218(braces)X
1466(are)X
1597(used)X
1782(to)X
1875(group)X
2104(complex)X
2432(arguments;)X
2870(they)X
3045(act)X
3171(as)X
3267(nestable)X
3579(quote)X
3798(characters.)X
720 5487(If)N
803(the)X
936(\256rst)X
1097(character)X
1443(of)X
1540(an)X
1647(argument)X
2004(is)X
2087(a)X
2150(open)X
2345(brace,)X
2581(then)X
2757(the)X
2889(argument)X
3246(is)X
3329(not)X
3466(terminated)X
3868(by)X
3980(white)X
720 5586(space.)N
969(Instead,)X
1277(it)X
1359(is)X
1450(terminated)X
1860(by)X
1980(the)X
2120(matching)X
2481(close)X
2694(brace.)X
2959(The)X
3127(argument)X
3491(passed)X
3756(to)X
3856(the)X
3995(com-)X
720 5685(mand)N
955(consists)X
1273(of)X
1385(everything)X
1801(between)X
2133(the)X
2280(braces,)X
2565(with)X
2761(the)X
2908(enclosing)X
3285(braces)X
3548(stripped)X
3870(off.)X
4054(For)X
720 5784(example,)N
1063(the)X
1193(command)X
3 f
2375 6048(-)N
2426(2)X
2492(-)X

3 p
%%Page: 3 4
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
7 f
10 s
1040 771(set)N
1232(a)X
1328({dog)X
1568(cat)X
1760({horse)X
2096(cow)X
2288(mule})X
2576(bear})X
1 f
11 s
720 903(will)N
886(receive)X
1168(two)X
1328(arguments:)X
1748(``)X
7 f
1806(a)X
1 f
1859('')X
1945(and)X
2100(``)X
7 f
2158(dog)X
2376(cat)X
2594({horse)X
2970(cow)X
3187(mule})X
3510(bear)X
1 f
3722(''.)X
3851(This)X
4035(par-)X
720 1002(ticular)N
970(command)X
1342(will)X
1504(set)X
1626(the)X
1758(variable)X
7 f
2097(a)X
1 f
2174(to)X
2266(a)X
2328(string)X
2552(equal)X
2766(to)X
2858(the)X
2989(second)X
3256(argument.)X
3656(If)X
3737(an)X
3843(argument)X
720 1101(is)N
808(enclosed)X
1145(in)X
1243(braces,)X
1518(then)X
1699(none)X
1899(of)X
2001(the)X
2138(other)X
2348(substitutions)X
2824(described)X
3190(below)X
3433(is)X
3520(made)X
3739(on)X
3855(the)X
3991(argu-)X
720 1200(ment.)N
964(One)X
1133(of)X
1229(the)X
1360(most)X
1555(common)X
1886(uses)X
2059(of)X
2154(braces)X
2400(is)X
2481(to)X
2572(specify)X
2848(a)X
2909(Tcl)X
3049(subprogram)X
3491(as)X
3586(an)X
3691(argument)X
4046(to)X
4137(a)X
720 1299(Tcl)N
860(command.)X
920 1431(The)N
1079(second)X
1345(syntactic)X
1681(construct)X
2026(in)X
2117(Tcl)X
2257(is)X
2338(square)X
2589(brackets,)X
2926(which)X
3163(are)X
3292(used)X
3475(to)X
3566(invoke)X
3828(command)X
720 1530(substitution.)N
1207(If)X
1295(an)X
1408(open)X
1609(bracket)X
1898(appears)X
2196(in)X
2295(an)X
2408(argument,)X
2793(then)X
2974(everything)X
3380(from)X
3580(the)X
3717(open)X
3917(bracket)X
720 1629(up)N
841(to)X
943(the)X
1084(matching)X
1446(close)X
1660(bracket)X
1952(is)X
2043(treated)X
2315(as)X
2420(a)X
2491(command)X
2871(and)X
3030(executed)X
3375(recursively)X
3798(by)X
3918(the)X
4058(Tcl)X
720 1728(interpreter.)N
1170(The)X
1346(result)X
1581(of)X
1693(the)X
1839(command)X
2225(is)X
2322(then)X
2512(substituted)X
2933(into)X
3109(the)X
3255(argument)X
3626(in)X
3733(place)X
3957(of)X
4068(the)X
720 1827(bracketed)N
1084(string.)X
1351(For)X
1495(example,)X
1838(consider)X
2158(the)X
2288(command)X
7 f
10 s
1040 1959(set)N
1232(a)X
1328([format)X
1712({Santa)X
2048(Claus)X
2336(is)X
2480(%s)X
2624(years)X
2912(old})X
3152(99])X
1 f
11 s
720 2091(The)N
7 f
914(format)X
1 f
1258(command)X
1632(does)X
7 f
1849(printf)X
1 f
2167(-like)X
2354(formatting)X
2752(and)X
2904(returns)X
3173(the)X
3306(string)X
3532(``)X
7 f
3590(Santa)X
3911(Claus)X
720 2190(is)N
879(99)X
1038(years)X
1356(old)X
1 f
1515('',)X
1617(which)X
1854(is)X
1935(then)X
2109(passed)X
2365(to)X
7 f
2487(set)X
1 f
2668(and)X
2817(assigned)X
3142(to)X
3233(variable)X
7 f
3570(a)X
1 f
3623(.)X
920 2322(The)N
1083(third)X
1276(syntactic)X
1616(construct)X
1965(is)X
2050(the)X
2184(dollar)X
2416(sign,)X
2611(which)X
2852(is)X
2937(used)X
3124(for)X
3252(variable)X
3561(substitution.)X
4043(If)X
4126(it)X
720 2421(appears)N
1013(in)X
1106(an)X
1213(argument)X
1570(then)X
1746(the)X
1878(following)X
2245(characters)X
2625(are)X
2756(treated)X
3020(as)X
3117(a)X
3180(variable)X
3488(name;)X
3750(the)X
3882(contents)X
720 2520(of)N
819(the)X
953(variable)X
1263(are)X
1396(substituted)X
1804(into)X
1967(the)X
2100(argument)X
2458(in)X
2552(place)X
2763(of)X
2861(the)X
2994(dollar)X
3225(sign)X
3397(and)X
3549(name.)X
3809(For)X
3956(exam-)X
720 2619(ple,)N
872(the)X
1002(commands)X
7 f
10 s
1040 2751(set)N
1232(b)X
1328(99)X
1040 2850(set)N
1232(a)X
1328([format)X
1712({Santa)X
2048(Claus)X
2336(is)X
2480(%s)X
2624(years)X
2912(old})X
3152($b])X
1 f
11 s
720 2982(result)N
945(in)X
1043(the)X
1179(same)X
1388(\256nal)X
1573(value)X
1792(for)X
7 f
1953(a)X
1 f
2034(as)X
2135(the)X
2271(single)X
2510(command)X
2886(in)X
2983(the)X
3119(previous)X
3450(paragraph.)X
3873(Variable)X
720 3081(substitution)N
1164(isn't)X
1352(strictly)X
1629(necessary)X
2001(since)X
2213(there)X
2420(are)X
2558(other)X
2770(ways)X
2981(to)X
3081(achieve)X
3381(the)X
3520(same)X
3731(effect,)X
3983(but)X
4126(it)X
720 3180(reduces)N
1010(typing.)X
920 3312(The)N
1085(last)X
1236(syntactic)X
1578(construct)X
1929(is)X
2016(the)X
2152(backslash)X
2522(character,)X
2893(which)X
3135(may)X
3314(be)X
3424(used)X
3612(to)X
3708(insert)X
3931(special)X
720 3411(characters)N
1098(into)X
1258(arguments,)X
1669(such)X
1852(as)X
1947(curly)X
2150(braces)X
2396(or)X
2491(non-printing)X
2954(characters.)X
3 f
720 3606(2.2.)N
896(Data)X
1098(Types)X
1 f
920 3738(There)N
1159(is)X
1252(only)X
1443(one)X
1604(type)X
1789(of)X
1895(data)X
2075(in)X
2177(Tcl:)X
2375(strings.)X
2687(All)X
2833(commands,)X
3270(arguments)X
3670(to)X
3772(commands,)X
720 3837(results)N
999(returned)X
1341(by)X
1478(commands,)X
1931(and)X
2106(variable)X
2438(values)X
2711(are)X
2866(ASCII)X
3143(strings.)X
3470(The)X
3655(use)X
3820(of)X
3941(strings)X
720 3936(throughout)N
1135(Tcl)X
1281(makes)X
1534(it)X
1612(easy)X
1796(to)X
1893(pass)X
2072(information)X
2517(back)X
2711(and)X
2866(forth)X
3064(between)X
3384(Tcl)X
3529(library)X
3791(procedures)X
720 4035(and)N
878(C)X
968(code)X
1164(in)X
1263(the)X
1401(enclosing)X
1769(application.)X
2236(It)X
2320(also)X
2492(makes)X
2747(it)X
2827(easier)X
3062(to)X
3161(pass)X
3342(Tcl-related)X
3759(information)X
720 4134(back)N
908(and)X
1057(forth)X
1250(between)X
1565(machines)X
1920(of)X
2015(different)X
2340(types.)X
920 4266(Although)N
1287(everything)X
1698(in)X
1800(Tcl)X
1951(is)X
2043(a)X
2115(string,)X
2371(many)X
2600(commands)X
3015(expect)X
3278(their)X
3473(string)X
3707(arguments)X
4107(to)X
720 4365(have)N
916(particular)X
1284(formats.)X
1627(There)X
1862(are)X
1999(three)X
2205(particularly)X
2642(common)X
2981(formats)X
3280(for)X
3412(strings:)X
3724(lists,)X
3918(expres-)X
720 4464(sions,)N
957(and)X
1118(commands.)X
1578(A)X
1675(list)X
1818(is)X
1911(just)X
2073(a)X
2146(string)X
2381(containing)X
2788(one)X
2949(or)X
3056(more)X
3270(\256elds)X
3494(separated)X
3859(by)X
3980(white)X
720 4563(space,)N
963(similar)X
1235(to)X
1330(a)X
1395(command.)X
1813(Curly)X
2040(braces)X
2290(may)X
2468(be)X
2577(used)X
2763(to)X
2857(enclose)X
3146(complex)X
3475(list)X
3609(elements;)X
3995(these)X
720 4662(complex)N
1046(list)X
1177(elements)X
1513(are)X
1642(often)X
1845(lists)X
2010(in)X
2101(their)X
2285(own)X
2458(right,)X
2669(as)X
2764(in)X
2855(Lisp.)X
3078(For)X
3222(example,)X
3565(the)X
3695(string)X
7 f
10 s
1040 4794(dog)N
1232(cat)X
1424({horse)X
1760(cow)X
1952(mule})X
2240(bear)X
1 f
11 s
720 4926(is)N
810(a)X
880(list)X
1020(with)X
1208(four)X
1385(elements,)X
1752(the)X
1891(third)X
2088(of)X
2191(which)X
2436(is)X
2525(a)X
2594(list)X
2733(with)X
2920(three)X
3126(elements.)X
3514(Tcl)X
3662(provides)X
3995(com-)X
720 5025(mands)N
982(for)X
1116(a)X
1187(number)X
1488(of)X
1593 0.2383(list-manipulation)AX
2229(operations,)X
2649(such)X
2841(as)X
2945(creating)X
3260(lists,)X
3456(extracting)X
3840(elements,)X
720 5124(and)N
869(computing)X
1269(list)X
1400(lengths.)X
920 5256(The)N
1089(second)X
1365(common)X
1706(form)X
1909(for)X
2043(a)X
2114(string)X
2347(is)X
2438(a)X
2509(numeric)X
2830(expression.)X
3281(Tcl)X
3430(expressions)X
3871(have)X
4068(the)X
720 5355(same)N
927(operators)X
1280(and)X
1433(precedence)X
1854(as)X
1953(expressions)X
2389(in)X
2484(C.)X
2612(The)X
7 f
2805(expr)X
1 f
3042(Tcl)X
3185(command)X
3558(evaluates)X
3911(a)X
3975(string)X
720 5454(as)N
815(an)X
920(expression)X
1318(and)X
1467(returns)X
1733(the)X
1863(result)X
2081(\(as)X
2205(a)X
2266(string,)X
2511(of)X
2606(course\).)X
2930(For)X
3074(example,)X
3417(the)X
3547(command)X
7 f
10 s
1040 5586(expr)N
1280({\($a)X
1520(<)X
1616($b\))X
1808(||)X
1952(\($c)X
2144(!=)X
2288(0\)})X
1 f
11 s
720 5718(returns)N
988(``)X
7 f
1046(1)X
1 f
1099('')X
1181(if)X
1259(the)X
1391(numeric)X
1704(value)X
1919(of)X
2016(variable)X
7 f
2354(a)X
1 f
2430(is)X
2512(less)X
2667(than)X
2842(that)X
2998(of)X
3094(variable)X
7 f
3432(b)X
1 f
3485(,)X
3530(or)X
3626(if)X
3703(variable)X
7 f
4041(c)X
1 f
4117(is)X
3 f
2375 6048(-)N
2426(3)X
2492(-)X

4 p
%%Page: 4 5
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
720 771(zero;)N
946(otherwise)X
1316(it)X
1394(returns)X
1666(``)X
7 f
1724(0)X
1 f
1777(''.)X
1907(Several)X
2199(other)X
2408(commands,)X
2840(such)X
3029(as)X
7 f
3161(if)X
1 f
3295(and)X
7 f
3481(for)X
1 f
3640(,)X
3690(expect)X
3948(one)X
4103(or)X
720 870(more)N
923(of)X
1018(their)X
1202(arguments)X
1591(to)X
1682(be)X
1787(expressions.)X
920 1002(The)N
1089(third)X
1288(common)X
1629(interpretation)X
2137(of)X
2242(strings)X
2509(is)X
2600(as)X
2705(commands)X
3119(\(or)X
3252(sequences)X
3639(of)X
3743(commands\).)X
720 1101(Arguments)N
1138(of)X
1238(this)X
1392(form)X
1589(are)X
1722(used)X
1909(in)X
2004(Tcl)X
2148(commands)X
2556(that)X
2715(implement)X
3120(control)X
3396(structures.)X
3808(For)X
3956(exam-)X
720 1200(ple,)N
872(consider)X
1192(the)X
1322(following)X
1687(command:)X
7 f
10 s
1040 1332(if)N
1184({$a)X
1376(<)X
1472($b})X
1664({)X
1266 1431(set)N
1458(tmp)X
1650($a)X
1266 1530(set)N
1458(a)X
1554($b)X
1266 1629(set)N
1458(b)X
1554($tmp)X
1040 1728(})N
1 f
11 s
720 1893(The)N
7 f
912(if)X
1 f
1042(command)X
1414(receives)X
1726(two)X
1882(arguments)X
2273(here,)X
2470(each)X
2655(of)X
2752(which)X
2991(is)X
3074(delimited)X
3433(by)X
3544(curly)X
3748(braces.)X
7 f
4070(If)X
1 f
720 1992(is)N
806(a)X
872(built-in)X
1160(command)X
1535(that)X
1695(evaluates)X
2050(its)X
2161(\256rst)X
2325(argument)X
2685(as)X
2785(an)X
2894(expression;)X
3321(if)X
3401(the)X
3535(result)X
3757(is)X
3842(non-zero,)X
7 f
720 2091(if)N
1 f
853(executes)X
1183(its)X
1294(second)X
1565(argument)X
1925(as)X
2025(a)X
2091(Tcl)X
2236(command.)X
2655(This)X
2839(particular)X
3203(command)X
3577(swaps)X
3817(the)X
3951(values)X
720 2190(of)N
815(the)X
945(variables)X
7 f
1316(a)X
1 f
1391(and)X
7 f
1571(b)X
1 f
1646(if)X
7 f
1753(a)X
1 f
1828(is)X
1909(less)X
2063(than)X
7 f
2268(b)X
1 f
2321(.)X
920 2322(Tcl)N
1060(also)X
1224(allows)X
1476(users)X
1678(to)X
1769(de\256ne)X
2006(command)X
2376(procedures)X
2783(written)X
3055(in)X
3146(the)X
3276(Tcl)X
3416(language.)X
3800(I)X
3851(will)X
4011(refer)X
720 2421(to)N
815(these)X
1022(procedures)X
1433(as)X
2 f
1532(tclproc)X
1 f
1782('s,)X
1893(in)X
1988(order)X
2199(to)X
2294(distinguish)X
2708(them)X
2911(from)X
3108(other)X
3315(procedures)X
3726(written)X
4001(in)X
4095(C.)X
720 2520(The)N
7 f
919(proc)X
1 f
1162(built-in)X
1453(command)X
1831(is)X
1920(used)X
2111(to)X
2210(create)X
2450(a)X
2519(tclproc.)X
2838(For)X
2990(example,)X
3341(here)X
3522(is)X
3611(a)X
3680(Tcl)X
3828(command)X
720 2619(that)N
875(de\256nes)X
1146(a)X
1207(recursive)X
1551(factorial)X
1867(procedure:)X
7 f
10 s
1040 2751(proc)N
1280(fac)X
1472(x)X
1568({)X
1266 2850(if)N
1410({$x)X
1602(==)X
1746(1})X
1890({return)X
2274(1})X
1266 2949(return)N
1602([expr)X
1890({$x)X
2082(*)X
2178([fac)X
2418([expr)X
2706($x-1]]}])X
1040 3048(})N
1 f
11 s
720 3213(The)N
7 f
912(proc)X
1 f
1148(command)X
1520(takes)X
1725(three)X
1925(arguments:)X
2363(a)X
2425(name)X
2639(for)X
2764(the)X
2895(new)X
3064(tclproc,)X
3354(a)X
3416(list)X
3548(of)X
3644(variable)X
3951(names)X
720 3312(\(in)N
841(this)X
992(case)X
1166(the)X
1297(list)X
1428(has)X
1567(only)X
1746(a)X
1807(single)X
2040(element,)X
7 f
2395(x)X
1 f
2448(\),)X
2521(and)X
2670(a)X
2731(Tcl)X
2871(command)X
3241(that)X
3396(comprises)X
3775(the)X
3905(body)X
4103(of)X
720 3411(the)N
858(tclproc.)X
1177(Once)X
1392(this)X
7 f
1581(proc)X
1 f
1823(command)X
2200(has)X
2346(been)X
2541(executed,)X
7 f
2936(fac)X
1 f
3124(may)X
3305(be)X
3417(invoked)X
3730(just)X
3887(like)X
4049(any)X
720 3510(other)N
923(Tcl)X
1063(command.)X
1477(For)X
1621(example)X
7 f
10 s
1040 3642(fac)N
1232(4)X
1 f
11 s
720 3774(will)N
880(return)X
1112(the)X
1242(string)X
1465(``)X
7 f
1523(24)X
1 f
1629(''.)X
920 3906(Figure)N
1186(1)X
1266(lists)X
1445(all)X
1570(of)X
1679(the)X
1823(built-in)X
2120(Tcl)X
2274(commands)X
2692(in)X
2796(groups.)X
3114(In)X
3222(addition)X
3547(to)X
3651(the)X
3794(commands)X
720 4005(already)N
1005(mentioned,)X
1426(Tcl)X
1570(provides)X
1899(commands)X
2307(for)X
2434(manipulating)X
2926(strings)X
3186(\(comparison,)X
3673(matching,)X
4049(and)X
7 f
720 4104(printf/scanf)N
1 f
1356(-like)X
1546(operations\),)X
1992(commands)X
2402(for)X
2532(manipulating)X
3027(\256les)X
3202(and)X
3357(\256le)X
3498(names,)X
3773(and)X
3928(a)X
3995(com-)X
720 4203(mand)N
941(to)X
1035(fork)X
1206(a)X
1270(subprocess)X
1680(and)X
1832(return)X
2067(the)X
2200(subprocess's)X
2673(standard)X
2996(output)X
3247(as)X
3345(result.)X
3610(The)X
3772(built-in)X
4058(Tcl)X
720 4302(commands)N
1129(provide)X
1424(a)X
1489(simple)X
1751(but)X
1890(complete)X
2240(programming)X
2746(language.)X
3134(The)X
3297(built-in)X
3584(facilities)X
3915(may)X
4093(be)X
720 4401(extended)N
1066(in)X
1163(three)X
1367(ways:)X
1622(by)X
1738(writing)X
2021(tclprocs;)X
2353(by)X
2469(invoking)X
2811(other)X
3019(programs)X
3378(as)X
3478(subprocesses;)X
3988(or)X
4088(by)X
720 4500(de\256ning)N
1031(new)X
1199(commands)X
1603(with)X
1782(C)X
1863(procedures)X
2270(as)X
2365(described)X
2724(in)X
2815(the)X
2945(next)X
3119(section.)X
3 f
720 4794(3.)N
830(Embedding)X
1288(Tcl)X
1433(in)X
1529(Applications)X
1 f
920 4926(Although)N
1282(the)X
1419(built-in)X
1709(Tcl)X
1856(commands)X
2267(could)X
2492(conceivably)X
2947(be)X
3058(used)X
3247(as)X
3348(a)X
3415(stand-alone)X
3849(program-)X
720 5025(ming)N
927(system,)X
1219(Tcl)X
1362(is)X
1446(really)X
1672(intended)X
2001(to)X
2094(be)X
2201(embedded)X
2587(in)X
2680(application)X
3097(programs.)X
3497(I)X
3550(have)X
3740(built)X
3927(several)X
720 5124(application)N
1137(programs)X
1492(using)X
1706(Tcl,)X
1869(one)X
2019(of)X
2115(which)X
2353(is)X
2435(a)X
2497(mouse-based)X
2979(editor)X
3208(for)X
3333(X)X
3419(called)X
2 f
3653(mx)X
1 f
3755(.)X
3822(In)X
3918(the)X
4049(rest)X
720 5223(of)N
816(the)X
947(paper)X
1165(I)X
1217(will)X
1378(use)X
1518(examples)X
1873(from)X
2 f
2066(mx)X
1 f
2190(to)X
2281(illustrate)X
2613(how)X
2786(Tcl)X
2926(interacts)X
3247(with)X
3426(its)X
3532(enclosing)X
3892(applica-)X
720 5322(tion.)N
920 5454(An)N
1058(application)X
1482(using)X
1704(Tcl)X
1853(extends)X
2152(the)X
2290(built-in)X
2581(commands)X
2993(with)X
3180(a)X
3249(few)X
3410(additional)X
3794(commands)X
720 5553(related)N
997(to)X
1103(that)X
1273(particular)X
1648(application.)X
2122(For)X
2281(example,)X
2638(a)X
2713(clock)X
2940(program)X
3274(might)X
3517(provide)X
3822(additional)X
720 5652(commands)N
1129(to)X
1225(control)X
1502(how)X
1680(the)X
1815(clock)X
2033(is)X
2119(displayed)X
2484(and)X
2638(to)X
2734(set)X
2859(alarms;)X
3168(the)X
2 f
3303(mx)X
1 f
3432(editor)X
3665(provides)X
3995(addi-)X
720 5751(tional)N
955(commands)X
1370(to)X
1472(read)X
1656(a)X
1728(\256le)X
1874(from)X
2078(disk,)X
2280(display)X
2568(it)X
2651(in)X
2753(a)X
2825(window,)X
3163(select)X
3396(and)X
3555(modify)X
3842(ranges)X
4103(of)X
3 f
2375 6048(-)N
2426(4)X
2492(-)X

5 p
%%Page: 5 6
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
7 f
10 s
1881 3355(catch,)N
2217(error,)X
2553(info,)X
2841(time)X
3 f
2217 3257(Miscellaneous)N
7 f
2361 3041(exec)N
3 f
2068 2943(Invoking)N
2393(Subprocesses)X
7 f
1857 2727(file,)N
2145(glob,)X
2433(print,)X
2769(source)X
3 f
2150 2629(File)N
2299(Manipulation)X
7 f
1977 2413(format,)N
2361(scan,)X
2649(string)X
3 f
2108 2315(String)N
2341(Manipulation)X
7 f
2361 2099(expr)N
3 f
2253 2000(Expressions)N
7 f
1641 1784(concat,)N
2025(index,)X
2361(length,)X
2745(list,)X
3033(range)X
3 f
2148 1686(List)N
2301(Manipulation)X
7 f
1857 1470(global,)N
2241(proc,)X
2529(return,)X
2913(set)X
3 f
2015 1372(Variables)N
2364(and)X
2512(Procedures)X
7 f
1377 1156(break,)N
1713(case,)X
2001(continue,)X
2481(eval,)X
2769(for,)X
3009(foreach,)X
3441(if)X
3 f
2324 1058(Control)N
-1 Ds
1 Dt
1260 3459 MXY
0 -2592 Dl
2376 0 Dl
0 2592 Dl
-2376 0 Dl
3 Dt
-1 Ds
880 3641(Figure)N
1130(1)X
1 f
(.)S
1233(The)X
1381(built-in)X
1638(Tcl)X
1767(commands.)X
2176(This)X
2340(set)X
2451(of)X
2540(commands)X
2909(is)X
2984(available)X
3296(to)X
3380(any)X
3518(application)X
3896(that)X
880 3731(uses)N
1038(Tcl.)X
1205(Additional)X
1567(commands)X
1934(may)X
2092(be)X
2188(de\256ned)X
2444(by)X
2544(the)X
2662(application.)X
11 s
720 3959(bytes,)N
957(and)X
1113(write)X
1323(the)X
1460(modi\256ed)X
1803(\256le)X
1945(back)X
2140(to)X
2238(disk.)X
2458(An)X
2594(application)X
3016(programmer)X
3480(need)X
3674(only)X
3859(write)X
4068(the)X
720 4058(application-speci\256c)N
1439(commands;)X
1896(the)X
2032(built-in)X
2321(commands)X
2731(provide)X
3028(programmability)X
3649(and)X
3803(extensibil-)X
720 4157(ity)N
839(``for)X
1023(free''.)X
1285(To)X
1407(users,)X
1633(the)X
1765(application-speci\256c)X
2480(commands)X
2886(appear)X
3144(the)X
3276(same)X
3481(as)X
3578(the)X
3710(built-in)X
3995(com-)X
720 4256(mands.)N
920 4388(Figure)N
1188(2)X
1270(shows)X
1527(the)X
1673(relationship)X
2128(between)X
2458(Tcl)X
2613(and)X
2777(the)X
2922(rest)X
3086(of)X
3196(an)X
3316(application.)X
3790(Tcl)X
3945(is)X
4041(a)X
4117(C)X
720 4487(library)N
984(package)X
1301(that)X
1463(is)X
1551(linked)X
1801(with)X
1986(the)X
2122(application.)X
2587(The)X
2752(Tcl)X
2898(library)X
3161(includes)X
3483(a)X
3550(parser)X
3792(for)X
3922(the)X
4058(Tcl)X
720 4586(language,)N
1087(procedures)X
1499(to)X
1595(execute)X
1890(the)X
2024(built-in)X
2311(commands,)X
2741(and)X
2894(a)X
2959(set)X
3083(of)X
3182(utility)X
3421(procedures)X
3832(for)X
3960(things)X
720 4685(like)N
882(expression)X
1287(evaluation)X
1684(and)X
1840(list)X
1978(management.)X
2501(The)X
2666(parser)X
2908(includes)X
3230(an)X
3341(extension)X
3707(interface)X
4043(that)X
720 4784(may)N
894(be)X
999(used)X
1182(to)X
1273(extend)X
1530(the)X
1660(language's)X
2063(command)X
2433(set.)X
920 4916(To)N
1047(use)X
1193(Tcl,)X
1362(an)X
1474(application)X
1896(\256rst)X
2062(creates)X
2335(an)X
2447(object)X
2692(called)X
2932(an)X
2 f
3044(interpreter)X
1 f
3426(,)X
3477(using)X
3697(the)X
3833(following)X
720 5015(library)N
977(procedure:)X
7 f
10 s
1040 5147(Tcl_Interp)N
1568(*)X
1664(Tcl_CreateInterp\(\))X
1 f
11 s
720 5279(An)N
855(interpreter)X
1250(consists)X
1557(of)X
1658(a)X
1725(set)X
1851(of)X
1952(commands,)X
2384(a)X
2451(set)X
2577(of)X
2678(variable)X
2990(bindings,)X
3344(and)X
3499(a)X
3566(command)X
3942(execu-)X
720 5378(tion)N
882(state.)X
1112(It)X
1190(is)X
1273(the)X
1405(basic)X
1610(unit)X
1772(manipulated)X
2233(by)X
2345(most)X
2540(of)X
2636(the)X
2767(Tcl)X
2908(library)X
3166(procedures.)X
3618(Simple)X
3892(applica-)X
720 5477(tions)N
919(will)X
1084(use)X
1228(only)X
1412(a)X
1478(single)X
1715(interpreter,)X
2130(while)X
2352(more)X
2559(complex)X
2889(applications)X
3342(may)X
3520(use)X
3663(multiple)X
3985(inter-)X
720 5576(preters)N
997(for)X
1137(different)X
1478(purposes.)X
1872(For)X
2032(example,)X
2 f
2391(mx)X
1 f
2530(uses)X
2718(one)X
2882(interpreter)X
3286(for)X
3425(each)X
3623(window)X
3943(on)X
4068(the)X
720 5675(screen.)N
3 f
2375 6048(-)N
2426(5)X
2492(-)X

6 p
%%Page: 6 7
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
-1 Ds
1 Dt
2183 1045 MXY
604 0 Dl
2183 1400 MXY
16 -25 Dl
-16 9 Dl
-15 -9 Dl
15 25 Dl
0 -355 Dl
13 s
3006 867(Application)N
3142 1471 MXY
25 15 Dl
-9 -15 Dl
9 -16 Dl
-25 16 Dl
71 0 Dl
2929 1542 MXY
0 71 Dl
284 0 Dl
0 -142 Dl
2929 1400 MXY
16 -25 Dl
-16 9 Dl
-15 -9 Dl
15 25 Dl
0 -284 Dl
2361 1471 MXY
24 15 Dl
-8 -15 Dl
8 -16 Dl
-24 16 Dl
355 0 Dl
1367 867(Tcl)N
3 Dt
2787 1116 MXY
0 -142 Dl
284 0 Dl
0 142 Dl
-284 0 Dl
2716 1542 MXY
0 -142 Dl
426 0 Dl
0 142 Dl
-426 0 Dl
2779 1506(Collect)N
2857 1080(Init)N
1935 2465 MXY
0 -142 Dl
426 0 Dl
0 142 Dl
-426 0 Dl
2006 1542 MXY
0 -142 Dl
355 0 Dl
0 142 Dl
-355 0 Dl
1980 2429(Utilities)N
3 f
9 s
1349 2087(Commands)N
1349 1980(Built-in)N
3142 2140(Commands)N
3142 2033(Speci\256c)N
3142 1927(Application-)N
1 f
13 s
2053 1506(Parser)N
3000 2039 MXY
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
2858 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
2716 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
2574 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
2290 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
2148 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
2006 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
1864 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
1722 MX
0 -71 Dl
71 0 Dl
0 71 Dl
-71 0 Dl
1 Dt
1757 MX
0 213 Dl
249 0 Dl
1899 2039 MXY
0 178 Dl
142 0 Dl
2006 2323 MXY
15 -24 Dl
-15 9 Dl
-16 -9 Dl
16 24 Dl
0 -71 Dl
2041 2323 MXY
16 -24 Dl
-16 9 Dl
-15 -9 Dl
15 24 Dl
0 -106 Dl
2039 MY
0 142 Dl
36 0 Dl
2323 MY
15 -24 Dl
-15 9 Dl
-16 -9 Dl
16 24 Dl
0 -142 Dl
3036 2039 MXY
0 213 Dl
-746 0 Dl
2323 MY
16 -24 Dl
-16 9 Dl
-16 -9 Dl
16 24 Dl
0 -71 Dl
2894 2039 MXY
0 178 Dl
-640 0 Dl
2323 MY
16 -24 Dl
-16 9 Dl
-15 -9 Dl
15 24 Dl
0 -106 Dl
2752 2039 MXY
0 142 Dl
-533 0 Dl
2323 MY
16 -24 Dl
-16 9 Dl
-16 -9 Dl
16 24 Dl
0 -142 Dl
2610 2039 MXY
0 107 Dl
-427 0 Dl
2323 MY
16 -24 Dl
-16 9 Dl
-15 -9 Dl
15 24 Dl
0 -177 Dl
2326 2039 MXY
0 71 Dl
-178 0 Dl
2323 MY
16 -24 Dl
-16 9 Dl
-16 -9 Dl
16 24 Dl
0 -213 Dl
2183 2039 MXY
0 35 Dl
-71 0 Dl
2323 MY
16 -24 Dl
-16 9 Dl
-15 -9 Dl
15 24 Dl
0 -249 Dl
2326 1968 MXY
15 -25 Dl
-15 9 Dl
-16 -9 Dl
16 25 Dl
0 -107 Dl
2183 1968 MXY
16 -25 Dl
-16 9 Dl
-15 -9 Dl
15 25 Dl
0 -71 Dl
2610 1968 MXY
15 -25 Dl
-15 9 Dl
-16 -9 Dl
16 25 Dl
0 -142 Dl
2752 1968 MXY
15 -25 Dl
-15 9 Dl
-16 -9 Dl
16 25 Dl
0 -178 Dl
2894 1968 MXY
15 -25 Dl
-15 9 Dl
-16 -9 Dl
16 25 Dl
0 -213 Dl
3036 1968 MXY
15 -25 Dl
-15 9 Dl
-16 -9 Dl
16 25 Dl
0 -249 Dl
2326 1542 MXY
0 177 Dl
710 0 Dl
2290 1542 MXY
0 213 Dl
604 0 Dl
2254 1542 MXY
0 248 Dl
498 0 Dl
2219 1542 MXY
0 284 Dl
391 0 Dl
2183 1542 MXY
0 319 Dl
143 0 Dl
2148 1542 MXY
0 355 Dl
35 0 Dl
2041 1542 MXY
0 177 Dl
-284 0 Dl
1968 MY
16 -25 Dl
-16 9 Dl
-15 -9 Dl
15 25 Dl
0 -249 Dl
2077 1542 MXY
0 213 Dl
-178 0 Dl
1968 MY
16 -25 Dl
-16 9 Dl
-15 -9 Dl
15 25 Dl
0 -213 Dl
2112 1542 MXY
0 248 Dl
-71 0 Dl
1968 MY
16 -25 Dl
-16 9 Dl
-15 -9 Dl
15 25 Dl
0 -178 Dl
4 Ds
2503 2536 MXY
0 -1633 Dl
1066 0 Dl
0 1633 Dl
-1066 0 Dl
2432 903 MXY
0 1633 Dl
-1136 0 Dl
0 -1633 Dl
1136 0 Dl
3 Dt
-1 Ds
3 f
10 s
880 2718(Figure)N
1128(2)X
1 f
(.)S
1229(The)X
1375(Tcl)X
1503(library)X
1738(provides)X
2035(a)X
2092(parser)X
2310(for)X
2425(the)X
2544(Tcl)X
2672(language,)X
3003(a)X
3060(set)X
3170(of)X
3258(built-in)X
3513(commands,)X
3900(and)X
880 2808(several)N
1145(utility)X
1372(procedures.)X
1801(The)X
1962(application)X
2354(provides)X
2666(application-speci\256c)X
3330(commands)X
3713(plus)X
3882(pro-)X
880 2898(cedures)N
1148(to)X
1232(collect)X
1468(commands)X
1837(for)X
1953(execution.)X
2327(The)X
2474(commands)X
2843(are)X
2963(parsed)X
3194(by)X
3295(Tcl)X
3423(and)X
3560(then)X
3719(passed)X
3954(to)X
880 2988(relevant)N
1159(command)X
1495(procedures)X
1868(\(either)X
2098(in)X
2180(Tcl)X
2307(or)X
2394(in)X
2476(the)X
2594(application\))X
2997(for)X
3111(execution.)X
11 s
920 3216(Once)N
1138(an)X
1254(application)X
1679(has)X
1828(created)X
2114(an)X
2229(interpreter,)X
2650(it)X
2732(calls)X
2926(the)X
7 f
3097 0.1992(Tcl_CreateCommand)AX
1 f
4030(pro-)X
720 3315(cedure)N
976(to)X
1067(extend)X
1324(the)X
1454(interpreter)X
1843(with)X
2022(application-speci\256c)X
2735(commands:)X
7 f
10 s
1360 3480(typedef)N
1744(int)X
1936(\(*Tcl_CmdProc\)\(ClientData)X
3184(clientData,)X
1586 3579(Tcl_Interp)N
2114(*interp,)X
2546(int)X
2738(argc,)X
3026(char)X
3266(*argv[]\);)X
1360 3777(Tcl_CreateCommand\(Tcl_Interp)N
2752(*interp,)X
3184(char)X
3424(*name,)X
1586 3876(Tcl_CmdProc)N
2162(proc,)X
2450(ClientData)X
2978(clientData\))X
1 f
11 s
720 4041(Each)N
919(call)X
1070(to)X
7 f
1193 0.1992(Tcl_CreateCommand)AX
1 f
2117(associates)X
2492(a)X
2554(particular)X
2915(command)X
3285(name)X
3498(\()X
7 f
3527(name)X
1 f
3739(\))X
3790(with)X
3969(a)X
4030(pro-)X
720 4140(cedure)N
982(that)X
1142(implements)X
1582(that)X
1742(command)X
2117(\()X
7 f
2146(proc)X
1 f
2358(\))X
2414(and)X
2568(an)X
2678(arbitrary)X
3008(single-word)X
3455(value)X
3673(to)X
3769(pass)X
3947(to)X
4043(that)X
720 4239(procedure)N
1093(\()X
7 f
1122(clientData)X
1 f
1652(\).)X
920 4371(After)N
1136(creating)X
1451(application-speci\256c)X
2173(commands,)X
2608(the)X
2747(application)X
3171(enters)X
3412(a)X
3482(main)X
3689(loop)X
3876(that)X
4039(col-)X
720 4470(lects)N
904(commands)X
1308(and)X
1457(passes)X
1703(them)X
1902(to)X
1993(the)X
7 f
2154(Tcl_Eval)X
1 f
2600(procedure)X
2973(for)X
3097(execution:)X
7 f
10 s
1040 4602(int)N
1232(Tcl_Eval\(Tcl_Interp)X
2192(*interp,)X
2624(char)X
2864(*cmd\))X
1 f
11 s
720 4734(In)N
825(the)X
965(simplest)X
1292(form,)X
1517(an)X
1632(application)X
2057(might)X
2296(simply)X
2569(read)X
2751(commands)X
3164(from)X
3366(the)X
3505(terminal)X
3831(or)X
3935(from)X
4137(a)X
720 4833(\256le.)N
908(In)X
1012(the)X
2 f
1151(mx)X
1 f
1284(editor)X
1521(Tcl)X
1669(commands)X
2081(are)X
2218(associated)X
2610(with)X
2797(events)X
3052(such)X
3243(as)X
3346(keystrokes,)X
3774(mouse)X
4034(but-)X
720 4932(tons,)N
916(or)X
1016(menu)X
1239(activations;)X
1696(each)X
1884(time)X
2069(an)X
2179(event)X
2397(occurs,)X
2675(the)X
2810(corresponding)X
3339(Tcl)X
3483(command)X
3857(is)X
3942(passed)X
720 5031(to)N
7 f
842(Tcl_Eval)X
1 f
1266(.)X
920 5163(The)N
7 f
1122(Tcl_Eval)X
1 f
1580(procedure)X
1965(parses)X
2218(its)X
7 f
2367(cmd)X
1 f
2559(argument)X
2925(into)X
3096(\256elds,)X
3342(looks)X
3566(up)X
3687(the)X
3828(command)X
720 5262(name)N
942(in)X
1042(the)X
1181(table)X
1384(of)X
1488(those)X
1705(associated)X
2098(with)X
2286(the)X
2425(interpreter,)X
2845(and)X
3003(invokes)X
3308(the)X
3447(command)X
3825(procedure)X
720 5361(associated)N
1133(with)X
1341(that)X
1525(command.)X
1968(All)X
2132(command)X
2530(procedures,)X
2987(whether)X
3320(built-in)X
3631(or)X
3754(application-)X
720 5460(speci\256c,)N
1039(are)X
1174(called)X
1413(in)X
1510(the)X
1646(same)X
1855(way,)X
2050(as)X
2150(described)X
2514(in)X
2610(the)X
7 f
2776(typedef)X
1 f
3174(for)X
7 f
3334(Tcl_CmdProc)X
1 f
3944(above.)X
720 5559(A)N
809(command)X
1183(procedure)X
1560(is)X
1645(passed)X
1905(an)X
2014(array)X
2220(of)X
2319(strings)X
2580(describing)X
2973(the)X
3107(command's)X
3543(arguments)X
3935(\()X
7 f
3964(argc)X
1 f
720 5658(and)N
7 f
909(argv)X
1 f
1121(\))X
1181(plus)X
1359(the)X
7 f
1529(clientData)X
1 f
2090(value)X
2312(that)X
2476(was)X
2643(associated)X
3036(with)X
3224(the)X
3362(command)X
3740(when)X
3960(it)X
4040(was)X
720 5757(created.)N
7 f
1091(ClientData)X
1 f
1663(is)X
1764(typically)X
2116(a)X
2197(pointer)X
2488(to)X
2598(an)X
2722(application-speci\256c)X
3454(structure)X
3803(containing)X
3 f
2375 6048(-)N
2426(6)X
2492(-)X

7 p
%%Page: 7 8
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
720 771(information)N
1165(needed)X
1442(to)X
1539(execute)X
1836(the)X
1972(command.)X
2392(For)X
2542(example,)X
2891(in)X
2 f
2988(mx)X
1 f
3118(the)X
7 f
3285(clientData)X
1 f
3843(argument)X
720 870(points)N
978(to)X
1089(a)X
1170(per-window)X
1636(data)X
1825(structure)X
2175(describing)X
2584(the)X
2734(\256le)X
2889(being)X
3127(edited)X
3385(and)X
3553(the)X
3702(window)X
4026(it)X
4117(is)X
720 969(displayed)N
1080(in.)X
920 1101(Control)N
1253(mechanisms)X
1752(like)X
7 f
1978(if)X
1 f
2146(and)X
7 f
2366(for)X
1 f
2587(are)X
2756(implemented)X
3280(with)X
3499(recursive)X
3883(calls)X
4107(to)X
7 f
720 1200(Tcl_Eval)N
1 f
1144(.)X
1212(For)X
1358(example,)X
1703(the)X
1835(command)X
2207(procedure)X
2582(for)X
2708(the)X
7 f
2871(if)X
1 f
3001(command)X
3373(evaluates)X
3724(its)X
3831(\256rst)X
3991(argu-)X
720 1299(ment)N
924(as)X
1024(an)X
1134(expression;)X
1584(if)X
1665(the)X
1800(result)X
2023(is)X
2109(non-zero,)X
2470(then)X
2649(it)X
2726(calls)X
7 f
2945(Tcl_Eval)X
1 f
3395(recursively)X
3812(to)X
3907(execute)X
720 1398(its)N
838(second)X
1116(argument)X
1483(as)X
1590(a)X
1663(Tcl)X
1815(command.)X
2241(During)X
2524(the)X
2666(execution)X
3043(of)X
3150(that)X
3317(command,)X
7 f
3752(Tcl_Eval)X
1 f
720 1497(may)N
901(be)X
1013(called)X
1253(recursively)X
1673(again,)X
1915(and)X
2071(so)X
2178(on.)X
7 f
2370(Tcl_Eval)X
1 f
2823(also)X
2994(calls)X
3185(itself)X
3391(recursively)X
3810(to)X
3907(execute)X
720 1596(bracketed)N
1084(commands)X
1488(that)X
1643(appear)X
1899(in)X
1990(arguments.)X
920 1728(Even)N
1127(tclprocs)X
1431(such)X
1617(as)X
7 f
1746(fac)X
1 f
1930(use)X
2072(this)X
2225(same)X
2431(basic)X
2637(mechanism.)X
3108(When)X
3343(the)X
7 f
3507(proc)X
1 f
3744(command)X
4117(is)X
720 1827(invoked)N
1045(to)X
1155(create)X
7 f
1437(fac)X
1 f
1596(,)X
1659(the)X
7 f
1839(proc)X
1 f
2091(command)X
2479(procedure)X
2870(creates)X
3154(a)X
3233(new)X
3419(command)X
3807(by)X
3935(calling)X
7 f
720 1926 0.1992(Tcl_CreateCommand)AN
1 f
1650(as)X
1752(illustrated)X
2135(in)X
2233(Figure)X
2492(3.)X
2609(The)X
2775(new)X
2950(command)X
3326(has)X
3471(the)X
3607(name)X
7 f
3857(fac)X
1 f
4016(.)X
4088(Its)X
720 2025(command)N
1095(procedure)X
1472(\()X
7 f
1501(proc)X
1 f
1739(in)X
1834(the)X
1968(call)X
2122(to)X
7 f
2248 0.1992(Tcl_CreateCommand)AX
1 f
3149(\))X
3204(is)X
3289(a)X
3354(special)X
3625(Tcl)X
3769(library)X
4030(pro-)X
720 2124(cedure)N
987(called)X
7 f
1261(InterpProc)X
1 f
1791(,)X
1845(and)X
2004(its)X
7 f
2151(clientData)X
1 f
2713(is)X
2804(a)X
2875(pointer)X
3157(to)X
3258(a)X
3329(structure)X
3669(describing)X
4068(the)X
720 2223(tclproc.)N
1036(This)X
1220(structure)X
1555(contains,)X
1898(among)X
2165(other)X
2373(things,)X
2638(a)X
2704(copy)X
2902(of)X
3002(the)X
3137(body)X
3340(of)X
3440(the)X
3575(tclproc)X
3846(\(the)X
4009(third)X
720 2322(argument)N
1090(to)X
1196(the)X
7 f
1372(proc)X
1 f
1621(command\).)X
2079(When)X
2326(the)X
7 f
2502(fac)X
1 f
2698(command)X
3083(is)X
3179(invoked,)X
7 f
3553(Tcl_Eval)X
1 f
4014(calls)X
7 f
720 2421(InterpProc)N
1 f
1250(,)X
1309(which)X
1560(in)X
1665(turn)X
1843(calls)X
7 f
2072(Tcl_Eval)X
1 f
2532(to)X
2637(execute)X
2942(the)X
3086(body)X
3298(of)X
3407(the)X
3551(tclproc.)X
3876(There)X
4117(is)X
720 2520(some)N
933(additional)X
1314(code)X
1507(required)X
1827(to)X
1923(associate)X
2268(the)X
2403(argument)X
2763(of)X
2863(the)X
7 f
3028(fac)X
1 f
3213(command)X
3587(\(which)X
3857(is)X
3942(passed)X
720 2619(to)N
7 f
847(InterpProc)X
1 f
1404(in)X
1499(its)X
7 f
1640(argv)X
1 f
1878(array\))X
2113(with)X
2296(the)X
7 f
2461(x)X
1 f
2540(variable)X
2850(used)X
3037(inside)X
7 f
3305(fac)X
1 f
3464('s)X
3553(body,)X
3777(and)X
3930(to)X
4025(sup-)X
720 2718(port)N
893(variables)X
1242(with)X
1430(local)X
1633(scope,)X
1886(but)X
2030(much)X
2256(of)X
2359(the)X
2497(mechanism)X
2929(for)X
3061(tclprocs)X
3370(is)X
3459(the)X
3597(same)X
3808(as)X
3911(that)X
4074(for)X
720 2817(any)N
869(other)X
1072(Tcl)X
1212(command.)X
-1 Ds
1 Dt
2489 4389 MXY
 2489 4338 2489 4287 2547.33 4261.5 curveto
 2605.67 4236 2722.33 4236 2780.67 4206.83 curveto
 2839 4177.67 2839 4119.33 2839 4061 curveto
Dstroke
2140 4389 MXY
 2140 4338 2140 4287 2081.67 4261.5 curveto
 2023.33 4236 1906.67 4236 1848.33 4206.83 curveto
 1790 4177.67 1790 4119.33 1790 4061 curveto
Dstroke
2424 3974 MXY
 2387.33 3974 2350.67 3974 2332.33 3904.83 curveto
 2314 3835.67 2314 3697.33 2314 3559 curveto
Dstroke
1499 3749(\(h\))N
1914 4361(\(g\))N
1922 3683(\(f\))N
2351 3880(\(d\))N
2616 4361(\(c\))N
2613 3683(\(b\))N
2140 3449 MXY
-30 -19 Dl
10 19 Dl
-10 20 Dl
30 -20 Dl
4411 MY
19 -30 Dl
-19 11 Dl
-20 -11 Dl
20 30 Dl
2402 3537 MXY
 2402 3595.33 2402 3653.67 2474.83 3682.83 curveto
 2547.67 3712 2693.33 3712 2766.17 3737.5 curveto
 2839 3763 2839 3814 2839 3865 curveto
Dstroke
2227 3537 MXY
 2227 3595.33 2227 3653.67 2154.17 3682.83 curveto
 2081.33 3712 1935.67 3712 1862.83 3737.5 curveto
 1790 3763 1790 3814 1790 3865 curveto
Dstroke
3886 MY
19 -30 Dl
-19 11 Dl
-19 -11 Dl
19 30 Dl
2314 3537 MXY
-19 30 Dl
19 -11 Dl
20 11 Dl
-20 -30 Dl
2489 4411 MXY
19 -30 Dl
-19 11 Dl
-19 -11 Dl
19 30 Dl
2839 3886 MXY
19 -30 Dl
-19 11 Dl
-19 -11 Dl
19 30 Dl
4 Ds
1965 4673 MXY
0 -262 Dl
699 0 Dl
0 262 Dl
-699 0 Dl
2059 4623(Data)N
2247(Structure)X
1605 4011(InterpProc)N
2466 4033(Command)N
2856(Procedure)X
7 f
2733 3945(proc)N
1 f
2205 3486(Parser)N
-1 Ds
3 Dt
2140 3537 MXY
0 -175 Dl
349 0 Dl
0 175 Dl
-349 0 Dl
2424 4061 MXY
0 -175 Dl
830 0 Dl
0 175 Dl
-830 0 Dl
1571 MX
0 -175 Dl
438 0 Dl
0 175 Dl
-438 0 Dl
1 Dt
3974 MY
 1527.33 3974 1483.67 3974 1461.83 3886.5 curveto
 1440 3799 1440 3624 1553 3536.5 curveto
 1666 3449 1892 3449 2118 3449 curveto
Dstroke
7 f
2235 4514(fac)N
2533 3049(proc)N
2798(fac)X
3010(x)X
3116({...})X
1 f
2402 3362 MXY
19 -30 Dl
-19 11 Dl
-19 -11 Dl
19 30 Dl
0 -350 Dl
2227 3362 MXY
19 -30 Dl
-19 11 Dl
-19 -11 Dl
19 30 Dl
0 -350 Dl
2402 MX
87 0 Dl
2227 MX
-87 0 Dl
2446 3224(\(a\))N
2086(\(e\))X
7 f
1831 3049(fac)N
2043(5)X
1 f
3 Dt
-1 Ds
3 f
10 s
880 4855(Figure)N
1135(3)X
1 f
(.)S
1242(The)X
1394(creation)X
1680(and)X
1823(execution)X
2162(of)X
2256(a)X
2319(tclproc)X
2569(\(a)X
2659(procedure)X
3008(written)X
3262(in)X
3351(Tcl\):)X
3554(\(a\))X
3671(the)X
7 f
3824(proc)X
1 f
880 4945(command)N
1218(is)X
1293(invoked,)X
1593(e.g.)X
1731(to)X
1815(create)X
2030(the)X
7 f
2178(fac)X
1 f
2344(procedure;)X
2730(\(b\))X
2846(the)X
2965(Tcl)X
3093(parser)X
3311(invokes)X
3581(the)X
3700(command)X
880 5035(procedure)N
1225(associated)X
1578(with)X
7 f
1771(proc)X
1 f
(;)S
2028(\(c\))X
2141(the)X
7 f
2290(proc)X
1 f
2505(command)X
2844(procedure)X
3189(creates)X
3436(a)X
3495(data)X
3651(structure)X
3954(to)X
880 5125(hold)N
1047(the)X
1170(Tcl)X
1301(command)X
1641(that)X
1785(is)X
7 f
1890(fac)X
1 f
('s)S
2116(body;)X
2342(\(d\))X
7 f
2488(fac)X
1 f
2656(is)X
2733(registered)X
3074(as)X
3165(a)X
3225(new)X
3383(Tcl)X
3514(command,)X
3874(with)X
7 f
880 5215(InterpProc)N
1 f
1388(as)X
1483(its)X
1585(command)X
1928(procedure;)X
2319(\(e\))X
7 f
2464(fac)X
1 f
2635(is)X
2715(invoked)X
3000(as)X
3094(a)X
3157(Tcl)X
3291(command;)X
3676(\(f\))X
3784(the)X
3909(Tcl)X
880 5305(parser)N
1112(invokes)X
7 f
1424(InterpProc)X
1 f
1939(as)X
2041(the)X
2174(command)X
2524(procedure)X
2880(for)X
7 f
3036(fac)X
1 f
(;)S
3256(\(g\))X
7 f
3412(InterpProc)X
1 f
3926(re-)X
880 5395(trieves)N
1118(the)X
1240(body)X
1424(of)X
7 f
1543(fac)X
1 f
1711(from)X
1891(the)X
2013(data)X
2171(structure;)X
2518(and)X
2658(\(h\))X
2775(the)X
2896(Tcl)X
3026(commands)X
3396(in)X
7 f
3509(fac)X
1 f
('s)S
3734(body)X
3917(are)X
880 5485(passed)N
1114(back)X
1286(to)X
1368(the)X
1486(Tcl)X
1613(parser)X
1830(for)X
1944(execution.)X
3 f
11 s
2375 6048(-)N
2426(7)X
2492(-)X

8 p
%%Page: 8 9
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
920 771(A)N
1009(Tcl)X
1152(command)X
1525(procedure)X
1901(returns)X
2170(two)X
2327(results)X
2582(to)X
7 f
2707(Tcl_Eval)X
1 f
3131(:)X
3181(an)X
3289(integer)X
3559(return)X
3794(code)X
3985(and)X
4137(a)X
720 870(string.)N
992(The)X
1156(return)X
1393(code)X
1586(is)X
1672(returned)X
1992(as)X
2092(the)X
2227(procedure's)X
2668(result,)X
2913(and)X
3067(the)X
3202(string)X
3430(is)X
3515(stored)X
3756(in)X
3851(the)X
3985(inter-)X
720 969(preter,)N
975(from)X
1174(which)X
1417(it)X
1495(can)X
1645(be)X
1756(retrieved)X
2097(later.)X
7 f
2356(Tcl_Eval)X
1 f
2807(returns)X
3078(the)X
3213(same)X
3421(code)X
3614(and)X
3768(string)X
3996(to)X
4092(its)X
720 1068(caller.)N
990(Table)X
1221(I)X
1280(summarizes)X
1731(the)X
1869(return)X
2108(codes)X
2337(and)X
2493(strings.)X
2801(Normally)X
3168(the)X
3305(return)X
3544(code)X
3739(is)X
7 f
3858(TCL_OK)X
1 f
720 1167(and)N
878(the)X
1017(string)X
1249(contains)X
1574(the)X
1713(result)X
1940(of)X
2044(the)X
2183(command.)X
2605(If)X
2693(an)X
2806(error)X
3006(occurs)X
3265(in)X
3364(executing)X
3737(a)X
3806(command,)X
720 1266(then)N
896(the)X
1028(return)X
1262(code)X
1452(will)X
1614(be)X
7 f
1752(TCL_ERROR)X
1 f
2253(and)X
2404(the)X
2536(string)X
2761(will)X
2923(describe)X
3240(the)X
3372(error)X
3565(condition.)X
3966(When)X
7 f
720 1365(TCL_ERROR)N
1 f
1220(is)X
1302(returned)X
1618(\(or)X
1742(any)X
1891(value)X
2104(other)X
2307(than)X
7 f
2512(TCL_OK)X
1 f
2830(\),)X
2903(the)X
3033(normal)X
3305(action)X
3543(is)X
3624(for)X
3748(nested)X
3995(com-)X
720 1464(mand)N
943(procedures)X
1355(to)X
1451(return)X
1688(the)X
1823(same)X
2031(code)X
2224(and)X
2378(string)X
2606(to)X
2701(their)X
2889(callers,)X
3167(unwinding)X
3570(all)X
3685(pending)X
3995(com-)X
720 1563(mand)N
945(executions)X
1351(until)X
1543(eventually)X
1940(the)X
2077(return)X
2316(code)X
2511(and)X
2667(string)X
2897(are)X
3033(returned)X
3355(by)X
3472(the)X
3609(top-level)X
3951(call)X
4107(to)X
7 f
720 1662(Tcl_Eval)N
1 f
1144(.)X
1212(At)X
1324(this)X
1476(point)X
1682(the)X
1814(application)X
2231(will)X
2393(normally)X
2736(display)X
3015(the)X
3147(error)X
3341(message)X
3663(for)X
3788(the)X
3919(user)X
4088(by)X
720 1761(printing)N
1022(it)X
1094(on)X
1204(the)X
1334(terminal)X
1651(or)X
1746(displaying)X
2136(it)X
2208(in)X
2299(a)X
2360(noti\256er)X
2637(window.)X
920 1893(Return)N
1185(codes)X
1410(other)X
1616(than)X
7 f
1824(TCL_OK)X
1 f
2166(or)X
7 f
2294(TCL_ERROR)X
1 f
2795(cause)X
3014(partial)X
3264(unwinding.)X
3709(For)X
3855(example,)X
720 1992(the)N
7 f
884(break)X
1 f
1174(command)X
1547(returns)X
1816(a)X
7 f
1911(TCL_BREAK)X
1 f
2413(code.)X
2648(This)X
2830(causes)X
3084(nested)X
3334(command)X
3706(executions)X
4107(to)X
720 2091(be)N
855(unwound)X
1234(until)X
1449(a)X
1540(nested)X
7 f
1847(for)X
1 f
2057(or)X
7 f
2212(foreach)X
1 f
2634(command)X
3033(is)X
3143(reached.)X
3511(When)X
3772(a)X
7 f
3893(for)X
1 f
4103(or)X
7 f
720 2190(foreach)N
1 f
1119(command)X
1495(invokes)X
7 f
1828(Tcl_Eval)X
1 f
2280(recursively,)X
2720(it)X
2797(checks)X
3063(specially)X
3404(for)X
3533(the)X
7 f
3699(TCL_BREAK)X
1 f
720 2289(result.)N
993(When)X
1236(this)X
1397(occurs)X
1658(the)X
7 f
1829(for)X
1 f
2020(or)X
7 f
2156(foreach)X
1 f
2559(command)X
2939(terminates)X
3339(the)X
3479(loop,)X
3690(but)X
3835(it)X
3917(doesn't)X
720 2388(return)N
955(the)X
7 f
1119(TCL_BREAK)X
1 f
1620(code)X
1810(to)X
1903(its)X
2011(caller.)X
2275(Instead)X
2553(it)X
2627(returns)X
7 f
2926(TCL_OK)X
1 f
3244(.)X
3312(Thus)X
3512(no)X
3624(higher)X
3873(levels)X
4103(of)X
720 2487(execution)N
1104(are)X
1252(aborted.)X
1601(The)X
7 f
1810(TCL_CONTINUE)X
1 f
2487(return)X
2737(code)X
2943(is)X
3042(also)X
3224(handled)X
3543(by)X
3671(the)X
7 f
3850(for)X
1 f
4049(and)X
7 f
720 2586(foreach)N
1 f
1122(commands)X
1535(\(they)X
1746(go)X
1864(on)X
1982(to)X
2081(the)X
2219(next)X
2401(loop)X
2588(iteration\))X
2942(and)X
7 f
3130(TCL_RETURN)X
1 f
3690(is)X
3779(handled)X
4088(by)X
720 2685(the)N
7 f
887(InterpProc)X
1 f
1445(procedure.)X
1868(Only)X
2072(a)X
2138(few)X
2296(command)X
2671(procedures,)X
3105(like)X
7 f
3296(break)X
1 f
3588(and)X
7 f
3773(for)X
1 f
3932(,)X
3981(know)X
720 2784(anything)N
1061(about)X
1289(special)X
1566(return)X
1808(codes)X
2040(such)X
2233(as)X
7 f
2369(TCL_BREAK)X
1 f
2846(;)X
2925(other)X
3138(command)X
3518(procedures)X
3935(simply)X
720 2883(abort)N
923(whenever)X
1286(they)X
1460(see)X
1594(any)X
1743(return)X
1975(code)X
2163(other)X
2366(than)X
7 f
2571(TCL_OK)X
1 f
2889(.)X
920 3015(The)N
7 f
1129(catch)X
1 f
1435(command)X
1824(may)X
2017(be)X
2141(used)X
2343(to)X
2453(prevent)X
2758(complete)X
3123(unwinding)X
3540(on)X
7 f
3699(TCL_ERROR)X
1 f
720 3114(returns.)N
7 f
1064(Catch)X
1 f
1354(takes)X
1560(an)X
1668(argument)X
2026(that)X
2184(is)X
2268(a)X
2332(Tcl)X
2475(command)X
2847(to)X
2940(execute.)X
3277(It)X
3355(passes)X
3603(the)X
3735(command)X
4107(to)X
7 f
720 3213(Tcl_Eval)N
1 f
1182(for)X
1322(execution,)X
1725(but)X
1875(always)X
2156(returns)X
7 f
2468(TCL_OK)X
1 f
2786(.)X
2867(If)X
2962(an)X
3082(error)X
3289(occurs)X
3555(in)X
3661(the)X
3806(command,)X
7 f
720 3312(catch)N
1 f
985('s)X
1081(command)X
1462(procedure)X
1846(detects)X
2124(the)X
7 f
2296(TCL_ERROR)X
1 f
2806(return)X
3049(value)X
3273(from)X
7 f
3508(Tcl_Eval)X
1 f
3932(,)X
3986(saves)X
720 3411(information)N
1162(about)X
1383(the)X
1516(error)X
1710(in)X
1803(Tcl)X
1945(variables,)X
2309(and)X
2460(then)X
2636(returns)X
2904(TCL_OK)X
3265(to)X
3358(its)X
3466(caller.)X
3730(In)X
3827(almost)X
4087(all)X
720 3510(cases)N
928(I)X
980(think)X
1185(the)X
1316(best)X
1481(response)X
1811(to)X
1903(an)X
2009(error)X
2202(is)X
2284(to)X
2376(abort)X
2580(all)X
2692(command)X
3063(invocations)X
3493(and)X
3642(notify)X
3875(the)X
4005(user;)X
7 f
720 3609(catch)N
1 f
1026(is)X
1126(provided)X
1480(for)X
1623(those)X
1850(few)X
2022(occasions)X
2405(where)X
2660(an)X
2783(error)X
2993(is)X
3092(expected)X
3445(and)X
3612(can)X
3774(be)X
3897(handled)X
720 3708(without)N
1012(aborting.)X
3 f
720 4002(4.)N
830(Tcl)X
975(and)X
1139(Window)X
1479(Applications)X
1 f
920 4134(An)N
1061(embeddable)X
1521(command)X
1903(language)X
2255(like)X
2422(Tcl)X
2574(offers)X
2811(particular)X
3182(advantages)X
3606(in)X
3708(a)X
3780(windowing)X
720 4233(environment.)N
1259(This)X
1465(is)X
1572(partly)X
1826(because)X
2152(there)X
2376(are)X
2531(many)X
2775(interactive)X
3196(programs)X
3576(in)X
3693(a)X
3780(windowing)X
720 4332(environment)N
1192(\(hence)X
1452(many)X
1674(places)X
1920(to)X
2015(use)X
2158(a)X
2223(command)X
2597(language\))X
2970(and)X
3122(partly)X
3353(because)X
3656(con\256gurability)X
10 f
955 4472(i)N
992(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1 f
1093 4571(Return)N
1355(Code)X
2322(Meaning)X
3501(String)X
10 f
955 4582(i)N
992(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
999 4681(TCL_OK)N
1 f
1767(Command)X
2157(completed)X
2547(normally)X
3322(Result)X
7 f
999 4780(TCL_ERROR)N
1 f
1767(Error)X
1974(occurred)X
2303(in)X
2394(command)X
3322(Error)X
3529(message)X
7 f
999 4879(TCL_BREAK)N
1 f
1767(Should)X
2039(abort)X
2242(innermost)X
2617(loop)X
3322(None)X
7 f
999 4978(TCL_CONTINUE)N
1 f
1767(Should)X
2039(skip)X
2208(innermost)X
2583(iteration)X
3322(None)X
7 f
999 5077(TCL_RETURN)N
1 f
1767(Should)X
2039(return)X
2271(from)X
2464(innermost)X
2839(procedure)X
3322(Procedure)X
3700(result)X
10 f
955 5088(i)N
992(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
955(c)X
5000(c)Y
4912(c)Y
4824(c)Y
4736(c)Y
4648(c)Y
4560(c)Y
1701 5088(c)N
5000(c)Y
4912(c)Y
4824(c)Y
4736(c)Y
4648(c)Y
4560(c)Y
3256 5088(c)N
5000(c)Y
4912(c)Y
4824(c)Y
4736(c)Y
4648(c)Y
4560(c)Y
3940 5088(c)N
5000(c)Y
4912(c)Y
4824(c)Y
4736(c)Y
4648(c)Y
4560(c)Y
3 f
10 s
880 5244(Table)N
1099(I)X
1 f
1130(.)X
1194(Each)X
1378(Tcl)X
1508(command)X
1847(returns)X
2093(a)X
2152(code)X
2327(describing)X
2684(what)X
2863(happened)X
3194(and)X
3333(a)X
3392(string)X
3597(that)X
3740(provides)X
880 5334(additional)N
1235(information.)X
1687(If)X
1775(the)X
1907(return)X
2133(code)X
2319(is)X
2406(not)X
7 f
2570(TCL_OK)X
1 f
(,)S
2912(then)X
3084(nested)X
3323(command)X
3673(executions)X
880 5424(unwind)N
1146(and)X
1287(return)X
1504(the)X
1627(same)X
1817(code,)X
2014(until)X
2185(reaching)X
2487(top-level)X
2797(or)X
2889(some)X
3083(command)X
3424(that)X
3569(is)X
3647(prepared)X
3954(to)X
880 5514(deal)N
1034(with)X
1196(the)X
1314(exceptional)X
1704(return)X
1916(code.)X
3 f
11 s
2375 6048(-)N
2426(8)X
2492(-)X

9 p
%%Page: 9 10
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
720 771(is)N
807(important)X
1179(in)X
1276(today's)X
1563(windowing)X
1987(environments)X
2495(and)X
2650(a)X
2716(language)X
3061(like)X
3221(Tcl)X
3366(provides)X
3696(the)X
3831(\257exibility)X
720 870(to)N
828(recon\256gure.)X
1311(Tcl)X
1468(can)X
1628(be)X
1749(used)X
1948(for)X
2088(two)X
2258(purposes)X
2608(in)X
2715(a)X
2792(window)X
3113(application:)X
3591(to)X
3698(con\256gure)X
4068(the)X
720 969(application's)N
1211(interface)X
2 f
1554(actions)X
1 f
1809(,)X
1866(and)X
2028(to)X
2132(con\256gure)X
2499(the)X
2641(application's)X
3131(interface)X
2 f
3473(appearance)X
1 f
3888(.)X
3966(These)X
720 1068(two)N
874(purposes)X
1208(are)X
1337(discussed)X
1696(in)X
1787(the)X
1917(paragraphs)X
2324(below.)X
920 1200(The)N
1086(\256rst)X
1251(use)X
1396(of)X
1497(Tcl)X
1643(is)X
1730(for)X
1860(interface)X
2196(actions.)X
2518(Ideally,)X
2813(each)X
3002(event)X
3221(that)X
3382(has)X
3527(any)X
3682(importance)X
4107(to)X
720 1299(the)N
867(application)X
1299(should)X
1573(be)X
1695(bound)X
1954(to)X
2062(a)X
2140(Tcl)X
2297(command.)X
2728(Each)X
2943(keystroke,)X
3346(each)X
3546(mouse)X
3814(motion)X
4103(or)X
720 1398(mouse)N
977(button)X
1230(press)X
1437(\(or)X
1566(release\),)X
1887(and)X
2040(each)X
2227(menu)X
2449(entry)X
2656(should)X
2917(be)X
3026(associated)X
3414(with)X
3597(a)X
3662(Tcl)X
3806(command.)X
720 1497(When)N
960(the)X
1098(event)X
1319(occurs,)X
1600(it)X
1680(is)X
1769(\256rst)X
1936(mapped)X
2244(to)X
2342(its)X
2455(Tcl)X
2602(command)X
2979(and)X
3135(then)X
3316(executed)X
3658(by)X
3775(passing)X
4068(the)X
720 1596(command)N
1109(to)X
7 f
1250(Tcl_Eval)X
1 f
1674(.)X
1758(The)X
1935(application)X
2368(should)X
2643(not)X
2796(take)X
2983(any)X
3150(actions)X
3440(directly;)X
3797(all)X
3926(actions)X
720 1695(should)N
989(\256rst)X
1159(pass)X
1343(through)X
1650(Tcl.)X
1845(Furthermore,)X
2340(the)X
2481(application)X
2907(should)X
3175(provide)X
3477(Tcl)X
3628(commands)X
4043(that)X
720 1794(allow)N
938(the)X
1068(user)X
1236(to)X
1327(change)X
1598(the)X
1728(Tcl)X
1868(command)X
2238(associated)X
2622(with)X
2801(any)X
2950(event.)X
920 1926(In)N
1020(interactive)X
1420(windowing)X
1843(applications,)X
2319(the)X
2454(use)X
2598(of)X
2698(Tcl)X
2843(will)X
3007(probably)X
3346(not)X
3485(be)X
3594(visible)X
3856(to)X
3951(begin-)X
720 2025(ning)N
903(users:)X
1156(they)X
1334(will)X
1498(manipulate)X
1917(the)X
2051(applications)X
2504(using)X
2720(buttons,)X
3027(menus,)X
3304(and)X
3456(other)X
3662(interface)X
3995(com-)X
720 2124(ponents.)N
1063(However,)X
1431(if)X
1510(Tcl)X
1653(is)X
1737(used)X
1923(as)X
2021(an)X
2129(intermediary)X
2605(for)X
2732(all)X
2846(interface)X
3179(actions)X
3453(then)X
3629(two)X
3785(advantages)X
720 2223(accrue.)N
1021(First,)X
1233(it)X
1311(becomes)X
1646(possible)X
1962(to)X
2058(write)X
2266(Tcl)X
2411(programs)X
2770(to)X
2866(recon\256gure)X
3293(the)X
3428(interface.)X
3807(For)X
3956(exam-)X
720 2322(ple,)N
878(users)X
1086(will)X
1252(be)X
1363(able)X
1538(to)X
1635(rebind)X
1887(keystrokes,)X
2312(change)X
2588(mouse)X
2845(buttons,)X
3154(or)X
3254(replace)X
3535(an)X
3645(existing)X
3952(opera-)X
720 2421(tion)N
882(with)X
1063(a)X
1126(more)X
1331(complex)X
1659(one)X
1810(speci\256ed)X
2147(as)X
2243(a)X
2305(set)X
2426(of)X
2522(Tcl)X
2663(commands)X
3068(or)X
3164(tclprocs.)X
3510(The)X
3670(second)X
3937(advan-)X
720 2520(tage)N
891(is)X
974(that)X
1131(this)X
1283(approach)X
1628(forces)X
1865(all)X
1977(of)X
2073(the)X
2204(application's)X
2683(functionality)X
3158(to)X
3250(be)X
3356(accessible)X
3736(through)X
4033(Tcl:)X
720 2619(anything)N
1053(that)X
1210(can)X
1355(be)X
1461(invoked)X
1768(with)X
1948(the)X
2079(mouse)X
2332(or)X
2428(keyboard)X
2778(can)X
2923(also)X
3088(be)X
3194(invoked)X
3501(with)X
3681(Tcl)X
3822(programs.)X
720 2718(This)N
902(makes)X
1152(it)X
1227(possible)X
1541(to)X
1635(write)X
1841(tclprocs)X
2145(that)X
2303(simulate)X
2628(the)X
2761(actions)X
3036(of)X
3133(the)X
3265(program,)X
3609(or)X
3706(that)X
3863(compose)X
720 2817(the)N
854(program's)X
1241(basic)X
1447(actions)X
1722(into)X
1885(more)X
2091(powerful)X
2433(actions.)X
2752(It)X
2831(also)X
2998(permits)X
3288(interactive)X
3686(sessions)X
3999(to)X
4093(be)X
720 2916(recorded)N
1049(and)X
1198(replayed)X
1523(as)X
1618(a)X
1679(sequence)X
2023(of)X
2118(Tcl)X
2258(commands)X
2662(\(see)X
2825(Section)X
3112(5\).)X
920 3048(The)N
1083(second)X
1353(use)X
1496(for)X
1624(Tcl)X
1767(in)X
1861(a)X
1925(window)X
2233(application)X
2651(is)X
2735(to)X
2829(con\256gure)X
3186(the)X
3319(appearance)X
3739(of)X
3837(the)X
3970(appli-)X
720 3147(cation.)N
1017(All)X
1167(of)X
1277(the)X
1422(application's)X
1915(interface)X
2260(components)X
2723(\(``widgets'')X
3179(in)X
3285(X)X
3385(terminology\),)X
3905(such)X
4103(as)X
720 3246(labels,)N
982(buttons,)X
1298(text)X
1465(entries,)X
1756(menus,)X
2042(and)X
2203(scrollbars,)X
2601(should)X
2870(be)X
2987(con\256gured)X
3397(using)X
3621(Tcl)X
3772(commands.)X
720 3345(For)N
872(example,)X
1223(in)X
1322(the)X
1460(case)X
1641(of)X
1744(a)X
1813(button)X
2068(the)X
2205(application)X
2627(\(or)X
2758(the)X
2895(button)X
3150(widget)X
3419(code\))X
3643(should)X
3907(provide)X
720 3444(Tcl)N
866(commands)X
1276(to)X
1373(change)X
1650(the)X
1786(button's)X
2103(size)X
2268(and)X
2423(location,)X
2758(its)X
2870(text,)X
3053(its)X
3165(colors,)X
3430(and)X
3585(the)X
3720(action)X
3963(\(a)X
4058(Tcl)X
720 3543(command,)N
1117(of)X
1217(course\))X
1502(to)X
1598(invoke)X
1865(when)X
2082(the)X
2217(button)X
2470(is)X
2556(activated.)X
2946(This)X
3130(makes)X
3382(it)X
3458(possible)X
3773(for)X
3901(users)X
4107(to)X
720 3642(write)N
933(Tcl)X
1083(programs)X
1447(to)X
1548(personalize)X
1981(the)X
2121(layout)X
2374(and)X
2533(appearance)X
2960(of)X
3065(the)X
3205(applications)X
3664(they)X
3847(use.)X
4039(The)X
720 3741(most)N
916(common)X
1249(use)X
1390(of)X
1487(such)X
1672(recon\256gurability)X
2284(would)X
2528(probably)X
2865(be)X
2971(in)X
3063(Tcl)X
3204(command)X
3575(\256les)X
3745(read)X
3919(by)X
4030(pro-)X
720 3840(grams)N
962 0.2604(automatically)AX
1471(when)X
1688(they)X
1867(start)X
2046(execution.)X
2460(However,)X
2830(the)X
2964(Tcl)X
3108(commands)X
3516(could)X
3738(also)X
3906(be)X
4015(used)X
720 3939(to)N
811(change)X
1082(an)X
1187(application's)X
1665(appearance)X
2082(while)X
2300(it)X
2372(is)X
2453(running,)X
2771(if)X
2847(that)X
3002(should)X
3259(prove)X
3481(useful.)X
920 4071(If)N
1010(Tcl)X
1160(is)X
1251(used)X
1444(as)X
1549(described)X
1918(above,)X
2182(then)X
2366(it)X
2448(could)X
2676(serve)X
2893(as)X
2998(a)X
3069(speci\256cation)X
3547(language)X
3897(for)X
4030(user)X
720 4170(interfaces.)N
1143(User)X
1345(interface)X
1690(editors)X
1967(could)X
2200(be)X
2320(written)X
2606(to)X
2711(display)X
3002(widgets)X
3312(and)X
3475(let)X
3600(users)X
3816(re-arrange)X
720 4269(them)N
925(and)X
1080(con\256gure)X
1440(attributes)X
1797(such)X
1986(as)X
2087(colors)X
2330(and)X
2484(associated)X
2873(Tcl)X
3018(commands.)X
3471(The)X
3635(interface)X
3970(editor)X
720 4368(could)N
939(then)X
1114(output)X
1363(information)X
1803(about)X
2022(the)X
2152(interface)X
2482(as)X
2577(a)X
2638(Tcl)X
2778(command)X
3148(\256le)X
3283(to)X
3374(be)X
3479(read)X
3652(by)X
3762(the)X
3892(applica-)X
720 4467(tion)N
881(when)X
1094(it)X
1167(starts)X
1376(up.)X
1531(Some)X
1755(current)X
2027(interface)X
2358(editors)X
2620(output)X
2868(C)X
2949(code)X
3137(which)X
3374(must)X
3568(then)X
3742(be)X
3847(compiled)X
720 4566(into)N
887(the)X
1024(application)X
1445([7];)X
1622(unfortunately)X
2125(this)X
2281(approach)X
2631(requires)X
2942(an)X
3053(application)X
3474(to)X
3571(be)X
3682(recompiled)X
4107(in)X
720 4665(order)N
929(to)X
1022(change)X
1295(its)X
1403(interface)X
1735(\(or,)X
1883(alternatively,)X
2371(it)X
2445(requires)X
2752(a)X
2814(dynamic-code-loading)X
3630(facility\).)X
3977(If)X
4058(Tcl)X
720 4764(were)N
914(used)X
1099(as)X
1196(the)X
1328(interface)X
1660(speci\256cation)X
2130(language)X
2472(then)X
2648(no)X
2760(recompilation)X
3274(would)X
3517(be)X
3623(necessary)X
3987(and)X
4137(a)X
720 4863(single)N
953(application)X
1368(binary)X
1615(could)X
1833(support)X
2119(many)X
2337(different)X
2662(interfaces.)X
3 f
720 5157(5.)N
830(Communication)X
1458(Between)X
1797(Applications)X
1 f
920 5289(The)N
1086(advantages)X
1505(of)X
1606(an)X
1717(embedded)X
2107(command)X
2483(language)X
2829(like)X
2990(Tcl)X
3136(become)X
3438(even)X
3632(greater)X
3904(if)X
3986(all)X
4103(of)X
720 5388(the)N
862(tools)X
1068(in)X
1171(an)X
1288(environment)X
1768(are)X
1909(based)X
2143(on)X
2265(the)X
2407(same)X
2622(language.)X
3018(First,)X
3236(users)X
3450(need)X
3650(only)X
3840(learn)X
4049(one)X
720 5487(basic)N
938(command)X
1323(language;)X
1725(to)X
1831(move)X
2064(from)X
2272(one)X
2436(application)X
2866(to)X
2972(another)X
3273(they)X
3461(need)X
3663(only)X
3856(learn)X
4068(the)X
720 5586(\(few?\))N
976(application-speci\256c)X
1695(commands)X
2105(for)X
2235(the)X
2370(new)X
2543(application.)X
3007(Second,)X
3315(generic)X
3601(interface)X
3936(editors)X
720 5685(become)N
1017(possible,)X
1351(as)X
1447(described)X
1806(in)X
1897(the)X
2027(previous)X
2352(section.)X
2668(Third,)X
2908(and)X
3057(most)X
3251(important)X
3617(in)X
3708(my)X
3843(view,)X
4058(Tcl)X
720 5784(can)N
864(provide)X
1155(a)X
1216(means)X
1463(of)X
1558(communication)X
2130(between)X
2445(applications.)X
3 f
2375 6048(-)N
2426(9)X
2492(-)X

10 p
%%Page: 10 11
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
920 771(I)N
977(have)X
1170(implemented)X
1659(a)X
1725(communication)X
2302(mechanism)X
2731(for)X
2860(X11)X
3038(in)X
3134(the)X
3269(form)X
3467(of)X
3567(an)X
3677(additional)X
4058(Tcl)X
720 870(command)N
1095(called)X
7 f
1364(send)X
1 f
1576(.)X
1647(For)X
7 f
1827(send)X
1 f
2066(to)X
2161(work,)X
2389(each)X
2576(Tcl)X
2720(interpreter)X
3113(associated)X
3501(with)X
3684(an)X
3793(X11)X
3970(appli-)X
720 969(cation)N
961(is)X
1045(given)X
1266(a)X
1330(textual)X
1596(name,)X
1834(such)X
2020(as)X
7 f
2149(xmh)X
1 f
2333(for)X
2460(an)X
2568(X)X
2656(mail)X
2839(handler)X
3128(or)X
7 f
3256(mx.foo.c)X
1 f
3704(for)X
3830(a)X
3893(window)X
720 1068(in)N
813(which)X
2 f
1052(mx)X
1 f
1178(is)X
1261(displaying)X
1653(a)X
1716(\256le)X
1853(named)X
7 f
2143(foo.c)X
1 f
2408(.)X
2475(The)X
7 f
2666(send)X
1 f
2901(command)X
3272(takes)X
3476(two)X
3631(arguments:)X
4068(the)X
720 1167(name)N
937(of)X
1036(an)X
1145(interpreter)X
1538(and)X
1691(a)X
1756(Tcl)X
1900(command)X
2274(to)X
2369(execute)X
2663(in)X
2757(that)X
2915(interpreter.)X
7 f
3382(Send)X
1 f
3619(arranges)X
3941(for)X
4068(the)X
720 1266(command)N
1093(to)X
1187(be)X
1295(passed)X
1554(to)X
1648(the)X
1781(process)X
2069(containing)X
2467(the)X
2600(named)X
2860(interpreter;)X
3276(the)X
3408(command)X
3780(is)X
3863(executed)X
720 1365(by)N
844(that)X
1013(interpreter)X
1416(and)X
1579(the)X
1723(results)X
1989(\(return)X
2264(code)X
2466(and)X
2629(string\))X
2895(are)X
3038(returned)X
3367(to)X
3472(the)X
3615(application)X
4043(that)X
720 1464(issued)N
962(the)X
7 f
1123(send)X
1 f
1357(command.)X
920 1596(The)N
1092(X11)X
1278 0.2885(implementation)AX
1869(of)X
7 f
2007(send)X
1 f
2253(uses)X
2438(a)X
2511(special)X
2790(property)X
3122(attached)X
3450(to)X
3553(the)X
3695(root)X
3871(window.)X
720 1695(The)N
882(property)X
1205(stores)X
1435(the)X
1568(names)X
1818(of)X
1916(all)X
2030(the)X
2163(interpreters)X
2589(plus)X
2761(a)X
2825(window)X
3133(identi\256er)X
3476(for)X
3602(each)X
3787(interpreter.)X
720 1794(A)N
813(command)X
1191(is)X
1280(sent)X
1452(to)X
1551(an)X
1663(interpreter)X
2059(by)X
2176(appending)X
2572(it)X
2651(to)X
2749(a)X
2817(particular)X
3184(property)X
3511(in)X
3609(the)X
3746(interpreter's)X
720 1893(associated)N
1110(window.)X
1465(The)X
1630(property)X
1955(change)X
2231(is)X
2317(detected)X
2638(by)X
2753(the)X
2888(process)X
3178(that)X
3338(owns)X
3550(the)X
3685(interpreter;)X
4126(it)X
720 1992(reads)N
928(the)X
1059(property,)X
1402(executes)X
1728(the)X
1859(command,)X
2252(and)X
2402(appends)X
2713(result)X
2932(information)X
3372(onto)X
3551(a)X
3612(property)X
3932(associ-)X
720 2091(ated)N
902(with)X
1094(the)X
1236(sending)X
1544(application.)X
2015(Finally,)X
2322(the)X
2464(sending)X
2772(application)X
3199(detects)X
3478(this)X
3640(change)X
3923(of)X
4030(pro-)X
720 2190(perty,)N
945(reads)X
1152(the)X
1282(result)X
1500(information,)X
1961(and)X
2110(returns)X
2376(it)X
2448(as)X
2543(the)X
2673(result)X
2891(of)X
2986(the)X
7 f
3147(send)X
1 f
3381(command.)X
920 2322(The)N
7 f
1116(send)X
1 f
1355(command)X
1730(provides)X
2060(a)X
2126(powerful)X
2470(way)X
2643(for)X
2772(one)X
2926(application)X
3346(to)X
3442(control)X
3719(another.)X
4054(For)X
720 2421(example,)N
1069(a)X
1136(debugger)X
1491(could)X
1715(send)X
1904(commands)X
2314(to)X
2411(an)X
2522(editor)X
2756(to)X
2852(highlight)X
3199(the)X
3334(current)X
3610(source)X
3866(line)X
4026(as)X
4126(it)X
720 2520(single-steps)N
1170(through)X
1478(a)X
1551(program.)X
1927(Or,)X
2075(a)X
2148(user)X
2328(interface)X
2670(editor)X
2910(could)X
3139(use)X
7 f
3320(send)X
1 f
3565(to)X
3667(manipulate)X
4093(an)X
720 2619(application's)N
1217(interface)X
1566(directly:)X
1924(rather)X
2170(than)X
2363(modifying)X
2771(a)X
2850(dummy)X
3160(version)X
3459(of)X
3572(the)X
3720(application's)X
720 2718(interface)N
1062(displayed)X
1434(by)X
1556(the)X
1698(interface)X
2040(editor,)X
2302(the)X
2443(interface)X
2784(editor)X
3023(could)X
3252(use)X
7 f
3433(send)X
1 f
3678(to)X
3780(modify)X
4068(the)X
720 2817(interface)N
1065(of)X
1175(a)X
1251(``live'')X
1537(application,)X
1989(while)X
2222(also)X
2401(saving)X
2668(the)X
2813(con\256guration)X
3320(for)X
3459(a)X
3535(con\256guration)X
4041(\256le.)X
720 2916(This)N
905(would)X
1153(allow)X
1377(an)X
1488(interface)X
1824(designer)X
2150(to)X
2247(try)X
2373(out)X
2513(the)X
2648(look)X
2832(and)X
2986(feel)X
3145(of)X
3245(a)X
3311(new)X
3484(interface)X
3819(incremen-)X
720 3015(tally)N
900(as)X
995(changes)X
1300(are)X
1429(made)X
1642(to)X
1733(the)X
1863(interface.)X
920 3147(Another)N
1230(example)X
1551(of)X
1646(using)X
7 f
1890(send)X
1 f
2124(is)X
2205(for)X
2329(changing)X
2674(user)X
2842(preferences.)X
3312(If)X
3392(one)X
3541(user)X
3709(walks)X
3936(up)X
4046(to)X
4137(a)X
720 3246(display)N
1000(that)X
1158(has)X
1300(been)X
1491(con\256gured)X
1892(for)X
2019(some)X
2230(other)X
2436(user,)X
2629(the)X
2762(new)X
2932(user)X
3102(could)X
3322(run)X
3463(a)X
3526(program)X
3848(that)X
4005(\256nds)X
720 3345(out)N
860(about)X
1083(all)X
1199(the)X
1334(existing)X
1641(applications)X
2095(on)X
2210(the)X
2345(screen)X
2595(\(by)X
2738(querying)X
3077(the)X
3211(property)X
3535(that)X
3694(contains)X
4014(their)X
720 3444(names\),)N
1023(reads)X
1234(the)X
1368(new)X
1540(user's)X
1775(con\256guration)X
2271(\256le)X
2410(for)X
2538(each)X
2725(application,)X
3166(and)X
3319(sends)X
3540(commands)X
3948(to)X
4043(that)X
720 3543(application)N
1139(to)X
1234(recon\256gure)X
1660(it)X
1736(for)X
1864(the)X
1998(new)X
2170(user's)X
2405(preferences.)X
2879(When)X
3115(the)X
3249(old)X
3388(user)X
3560(returns,)X
3852(he)X
3961(or)X
4059(she)X
720 3642(could)N
938(invoke)X
1200(the)X
1330(same)X
1533(program)X
1853(to)X
1944(restore)X
2205(the)X
2335(original)X
2632(preferences.)X
7 f
920 3774(Send)N
1 f
1159(could)X
1382(also)X
1551(be)X
1661(used)X
1849(to)X
1945(record)X
2196(interactive)X
2595(sessions)X
2909(involving)X
3274(multiple)X
3596(applications)X
4049(and)X
720 3873(then)N
897(replay)X
1142(the)X
1275(sessions)X
1588(later)X
1770(\(e.g.)X
1951(for)X
2078(demonstration)X
2608(purposes\).)X
3017(This)X
3198(would)X
3442(require)X
3715(an)X
3822(additional)X
720 3972(Tcl)N
871(command)X
1252(called)X
7 f
1527(trace)X
1 f
1792(;)X
7 f
1903(trace)X
1 f
2201(would)X
2454(take)X
2634(a)X
2706(single)X
2950(argument)X
3316(\(a)X
3416(Tcl)X
3566(command)X
3946(string\))X
720 4071(and)N
876(cause)X
1100(that)X
1261(command)X
1637(string)X
1866(to)X
1963(be)X
2074(executed)X
2415(before)X
2667(each)X
2856(other)X
3065(command)X
3441(was)X
3605(executed)X
3946(in)X
4043(that)X
720 4170(interpreter.)N
1168(Within)X
1451(a)X
1527(single)X
1775(application,)X
7 f
2258(trace)X
1 f
2560(could)X
2793(be)X
2913(used)X
3111(to)X
3217(record)X
3477(each)X
3674(Tcl)X
3828(command)X
720 4269(before)N
986(it)X
1078(is)X
1179(executed,)X
1556(so)X
1676(that)X
1851(the)X
2001(commands)X
2425(could)X
2662(be)X
2786(replayed)X
3130(later.)X
3372(In)X
3486(a)X
3566 0.2500(multi-application)AX
720 4368(environment,)N
1225(a)X
1301(recorder)X
1630(program)X
1965(could)X
2198(be)X
2318(built)X
2518(using)X
7 f
2777(send)X
1 f
2989(.)X
3070(The)X
3244(recorder)X
3573(sends)X
3805(a)X
7 f
3911(trace)X
1 f
720 4467(command)N
1093(to)X
1187(each)X
1373(application)X
1791(to)X
1884(be)X
1991(recorded.)X
2366(The)X
7 f
2558(trace)X
1 f
2847(command)X
3219(arranges)X
3540(for)X
3666(information)X
4107(to)X
720 4566(be)N
827(sent)X
993(back)X
1183(to)X
1276(the)X
1408(recorder)X
1724(about)X
1944(each)X
2129(command)X
2501(executed)X
2838(in)X
2931(that)X
3088(application.)X
3549(The)X
3709(recorder)X
4024(then)X
720 4665(logs)N
909(information)X
1367(about)X
1604(which)X
1860(applications)X
2328(executed)X
2682(which)X
2938(commands.)X
3405(The)X
3583(recorder)X
3916(can)X
4079(re-)X
720 4764(execute)N
1022(the)X
1163(commands)X
1578(by)X
7 f
1730(send)X
1 f
1942(-ing)X
2117(them)X
2327(back)X
2526(to)X
2628(the)X
2769(applications)X
3229(again.)X
3497(The)X
7 f
3698(trace)X
1 f
3995(com-)X
720 4863(mand)N
938(does)X
1121(not)X
1256(yet)X
1386(exist)X
1575(in)X
1666(Tcl,)X
1828(but)X
1963(it)X
2035(could)X
2253(easily)X
2481(be)X
2586(added.)X
7 f
920 4995(Send)N
1 f
1156(provides)X
1483(a)X
1546(much)X
1766(more)X
1970(powerful)X
2310(mechanism)X
2735(for)X
2860(communication)X
3433(between)X
3749(applications)X
720 5094(than)N
899(is)X
985(available)X
1331(today.)X
1598(The)X
1762(only)X
1946(easy-to-use)X
2373(form)X
2571(of)X
2671(communication)X
3248(for)X
3377(today's)X
3663(applications)X
4117(is)X
720 5193(the)N
855(selection)X
1195(or)X
1294(cut)X
1428(buffer:)X
1715(a)X
1780(single)X
2017(string)X
2244(of)X
2343(text)X
2502(that)X
2661(may)X
2839(be)X
2948(set)X
3072(by)X
3186(one)X
3339(application)X
3758(and)X
3911(read)X
4088(by)X
720 5292(another.)N
7 f
1089(Send)X
1 f
1331(provides)X
1664(a)X
1733(more)X
1944(general)X
2233(form)X
2434(of)X
2536(communication)X
3115(akin)X
3296(to)X
3394(remote)X
3668(procedure)X
4048(call)X
720 5391([3].)N
891(If)X
974(all)X
1088(of)X
1186(an)X
1294(application's)X
1775(functionality)X
2252(is)X
2336(made)X
2552(available)X
2896(through)X
3195(Tcl,)X
3360(as)X
3457(described)X
3818(in)X
3911(Section)X
720 5490(4,)N
823(then)X
7 f
1043(send)X
1 f
1291(makes)X
1552(all)X
1677(of)X
1786(each)X
1983(application's)X
2475(functionality)X
2963(available)X
3318(to)X
3423(other)X
3640(applications)X
4103(as)X
720 5589(well.)N
3 f
2353 6048(-)N
2404(10)X
2514(-)X

11 p
%%Page: 11 12
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
920 771(If)N
1011(Tcl)X
1161(\(and)X
7 f
1380(send)X
1 f
1592(\))X
1653(were)X
1855(to)X
1956(become)X
2262(widely)X
2534(used)X
2727(in)X
2828(window)X
3143(applications,)X
3624(I)X
3685(believe)X
3972(that)X
4137(a)X
720 870(better)N
946(kind)X
1128(of)X
1226(interactive)X
1624(environment)X
2095(would)X
2340(arise,)X
2553(consisting)X
2936(of)X
3033(a)X
3096(large)X
3296(number)X
3589(of)X
3686(small)X
3902(special-)X
720 969(ized)N
898(applications)X
1356(rather)X
1592(than)X
1775(a)X
1845(few)X
2007(monolithic)X
2422(ones.)X
2658(Today's)X
2977(applications)X
3435(cannot)X
3700(communicate)X
720 1068(with)N
902(each)X
1088(other)X
1294(very)X
1475(well,)X
1674(so)X
1777(each)X
1963(application)X
2381(must)X
2577(incorporate)X
3002(all)X
3115(the)X
3247(functionality)X
3723(that)X
3880(it)X
3954(needs.)X
720 1167(For)N
890(example,)X
1259(some)X
1493(window-based)X
2053(debuggers)X
2462(contain)X
2770(built-in)X
3079(text)X
3260(editors)X
3548(so)X
3674(that)X
3855(they)X
4054(can)X
720 1266(highlight)N
1066(the)X
1200(current)X
1475(point)X
1682(of)X
1780(execution.)X
2192(With)X
2394(Tcl)X
2537(and)X
7 f
2720(send)X
1 f
2932(,)X
2979(the)X
3112(debugger)X
3464(and)X
3616(the)X
3749(editor)X
3980(could)X
720 1365(be)N
829(distinct)X
1116(programs,)X
1496(with)X
1679(each)X
7 f
1897(send)X
1 f
2109(-ing)X
2277(commands)X
2685(to)X
2780(the)X
2914(other)X
3121(as)X
3219(necessary.)X
3629(Ideally,)X
3921(monol-)X
720 1464(ithic)N
909(applications)X
1367(could)X
1594(be)X
1708(replaced)X
2037(by)X
2156(lots)X
2315(of)X
2419(small)X
2642(applications)X
3100(that)X
3263(work)X
3473(together)X
3792(in)X
3891(exciting)X
720 1563(new)N
894(ways,)X
1124(just)X
1280(as)X
1381(the)X
1517(UNIX)X
1763(shells)X
1992(allowed)X
2298(lots)X
2453(of)X
2553(small)X
2772(text)X
2932(processing)X
3335(applications)X
3789(to)X
3885(be)X
3995(com-)X
720 1662(bined)N
945(together.)X
1307(I)X
1365(think)X
1576(that)X
1738(Tcl,)X
1907(or)X
2009(some)X
2224(other)X
2434(language)X
2781(like)X
2943(it,)X
3044(will)X
3211(provide)X
3508(the)X
3644(glue)X
3824(that)X
3985(binds)X
720 1761(together)N
1031(the)X
1161(windowing)X
1579(applications)X
2028(of)X
2123(the)X
2253(1990's.)X
3 f
720 2055(6.)N
830(Status)X
1086(and)X
1250(Performance)X
1 f
920 2187(The)N
1084(Tcl)X
1229(language)X
1574(was)X
1737(designed)X
2077(in)X
2173(the)X
2308(fall)X
2453(of)X
2553(1987)X
2756(and)X
2910(implemented)X
3399(in)X
3494(the)X
3628(winter)X
3879(of)X
3978(1988.)X
720 2286(In)N
825(the)X
965(spring)X
1217(of)X
1322(1988)X
1530(I)X
1590(incorporated)X
2066(Tcl)X
2215(into)X
2384(the)X
2 f
2523(mx)X
1 f
2656(editor)X
2893(\(which)X
3168(already)X
3458(existed,)X
3761(but)X
3905(with)X
4093(an)X
720 2385(inferior)N
1018(command)X
1399(language\),)X
1801(and)X
1961(also)X
2136(into)X
2307(a)X
2379(companion)X
2804(terminal)X
3132(emulator)X
3479(called)X
3723(Tx.)X
3898(Both)X
4103(of)X
720 2484(these)N
931(programs)X
1293(have)X
1489(been)X
1684(in)X
1782(use)X
1928(by)X
2045(a)X
2113(small)X
2334(user)X
2509(community)X
2941(at)X
3034(Berkeley)X
3381(for)X
3512(the)X
3649(last)X
3801(year)X
3981(and)X
4137(a)X
720 2583(half.)N
926(All)X
1064(of)X
1162(the)X
1295(Tcl)X
1438(language)X
1781(facilities)X
2111(exist)X
2303(as)X
2401(described)X
2762(above,)X
3018(except)X
3272(that)X
3429(the)X
7 f
3592(send)X
1 f
3828(command)X
720 2682(is)N
806(still)X
967(in)X
1063(prototype)X
1428(form)X
1626(and)X
7 f
1811(trace)X
1 f
2103(hasn't)X
2345(been)X
2538(implemented.)X
3071(Some)X
3299(of)X
3399(the)X
3534(features)X
3839(described)X
720 2781(in)N
824(Section)X
1124(4,)X
1225(such)X
1421(as)X
1529(menu)X
1760(and)X
1922(keystroke)X
2299(bindings,)X
2660(are)X
2802(implemented)X
3299(in)X
2 f
3402(mx)X
1 f
3504(,)X
3560(but)X
3707(in)X
3810(an)X
2 f
3927(ad)X
4049(hoc)X
1 f
720 2880(fashion:)N
1057(Tcl)X
1206(is)X
1296(not)X
1440(yet)X
1579(integrated)X
1963(with)X
2151(a)X
2221(widget)X
2492(set.)X
2665(I)X
2725(am)X
2864(currently)X
3213(building)X
3539(a)X
3609(new)X
3786(toolkit)X
4049(and)X
720 2979(widget)N
991(set)X
1120(that)X
1284(is)X
1374(based)X
1605(entirely)X
1906(on)X
2025(Tcl.)X
2218(When)X
2459(it)X
2540(is)X
2629(completed,)X
3049(I)X
3108(expect)X
3368(it)X
3448(to)X
3547(provide)X
3846(all)X
3965(of)X
4068(the)X
720 3078(features)N
1020(described)X
1379(in)X
1470(Section)X
1757(4.)X
1867(As)X
1986(of)X
2081(this)X
2231(writing,)X
2530(the)X
2660 0.2885(implementation)AX
3238(has)X
3377(barely)X
3619(begun.)X
920 3210(Table)N
1147(II)X
1230(shows)X
1474(how)X
1650(long)X
1832(it)X
1907(takes)X
2113(Tcl)X
2256(to)X
2350(execute)X
2644(various)X
2928(commands)X
3335(on)X
3448(two)X
3605(different)X
3933(works-)X
720 3309(tations.)N
1062(On)X
1231(Sun-3)X
1503(workstations,)X
2037(the)X
2207(average)X
2542(time)X
2762(for)X
2926(simple)X
3224(commands)X
3667(is)X
3787(about)X
4044(500)X
720 3408(microseconds,)N
1279(while)X
1528(on)X
1669(DECstation)X
2134(3100's)X
2426(the)X
2586(average)X
2911(time)X
3121(per)X
3285(command)X
3685(is)X
3796(about)X
4044(160)X
720 3507(microseconds.)N
1271(Although)X
2 f
1627(mx)X
1 f
1752(does)X
1936(not)X
2072(currently)X
2413(use)X
2553(a)X
2615(Tcl)X
2756(command)X
3127(for)X
3252(each)X
3436(mouse)X
3689(motion)X
3963(event,)X
720 3606(the)N
861(times)X
1086(in)X
1188(Table)X
1421(II)X
1511(suggest)X
1807(that)X
1972(this)X
2132(would)X
2384(be)X
2499(possible,)X
2842(even)X
3040(on)X
3160(Sun-3)X
3402(workstations,)X
3906(without)X
720 3705(signi\256cant)N
1120(degradation)X
1568(of)X
1673(response.)X
2056(For)X
2210(example,)X
2563(if)X
2649(mouse)X
2911(motion)X
3194(events)X
3451(occur)X
3678(100)X
3841(times)X
4064(per)X
720 3804(second,)N
1012(the)X
1146(Tcl)X
1290(overhead)X
1638(for)X
1766(dispatching)X
2199(one)X
2352(command)X
2726(per)X
2864(event)X
3081(will)X
3245(consume)X
3583(only)X
3765(about)X
3986(1-2%)X
720 3903(of)N
819(a)X
884(Sun-3)X
1120(processor.)X
1526(For)X
1674(the)X
1808(ways)X
2013(in)X
2107(which)X
2347(Tcl)X
2490(is)X
2574(currently)X
2917(used)X
3103(\(keystroke)X
3499(and)X
3651(menu)X
3872(bindings)X
720 4002(consisting)N
1129(of)X
1253(a)X
1343(few)X
1525(commands\),)X
2009(there)X
2236(are)X
2394(no)X
2533(noticeable)X
2947(delays)X
3223(associated)X
3635(with)X
3842(Tcl.)X
4054(For)X
720 4101(application-speci\256c)N
1437(commands)X
1845(such)X
2032(as)X
2131(those)X
2343(for)X
2471(the)X
2 f
2605(mx)X
1 f
2733(editor,)X
2987(the)X
3121(time)X
3305(to)X
3400(execute)X
3695(the)X
3828(command)X
720 4200(is)N
801(much)X
1019(greater)X
1285(than)X
1459(the)X
1589(time)X
1769(required)X
2084(by)X
2194(Tcl)X
2334(to)X
2425(parse)X
2632(it)X
2704(and)X
2853(call)X
3003(the)X
3133(command)X
3503(procedure.)X
920 4332(The)N
1084(Tcl)X
1229(library)X
1491(is)X
1577(small)X
1796(enough)X
2082(to)X
2178(be)X
2288(used)X
2476(in)X
2572(a)X
2638(wide)X
2836(variety)X
3108(of)X
3208(programs,)X
3589(even)X
3782(on)X
3897(systems)X
720 4431(without)N
1020(mechanisms)X
1486(for)X
1618(sharing)X
1907(libraries.)X
2270(The)X
2437(Tcl)X
2585(code)X
2781(consists)X
3090(of)X
3193(about)X
3419(7000)X
3624(lines)X
3820(of)X
3922(C)X
4010(code)X
720 4530(\(about)N
980(half)X
1152(of)X
1260(which)X
1510(is)X
1604(comments\).)X
2075(When)X
2320(compiled)X
2683(for)X
2819(a)X
2892(Motorola)X
3254(68000,)X
3530(it)X
3614(generates)X
3980(about)X
720 4629(27000)N
962(bytes)X
1170(of)X
1265(object)X
1503(code.)X
3 f
720 4923(7.)N
830(Comparisons)X
1 f
920 5055(The)N
1091(Tcl)X
1242(language)X
1593(has)X
1743(quite)X
1953(a)X
2025(bit)X
2152(of)X
2258(surface)X
2544(similarity)X
2917(to)X
3019(Lisp,)X
3231(except)X
3494(that)X
3660(Tcl)X
3811(uses)X
3995(curly)X
720 5154(braces)N
970(or)X
1069(brackets)X
1388(instead)X
1664(of)X
1763(parentheses)X
2199(and)X
2352(no)X
2466(braces)X
2716(are)X
2849(needed)X
3124(around)X
3394(the)X
3528(outermost)X
3906(level)X
4103(of)X
720 5253(a)N
790(command.)X
1213(The)X
1381(greatest)X
1686(difference)X
2073(between)X
2397(Tcl)X
2546(and)X
2704(Lisp)X
2892(is)X
2982(that)X
3146(Lisp)X
3333(evaluates)X
3691(arguments)X
4088(by)X
720 5352(default,)N
1016(whereas)X
1332(in)X
1430(Tcl)X
1577(arguments)X
1972(are)X
2107(not)X
2248(evaluated)X
2614(unless)X
2862(surrounded)X
3285(by)X
3401(brackets.)X
3766(This)X
3951(means)X
720 5451(that)N
876(more)X
1080(typing)X
1329(effort)X
1547(is)X
1629(required)X
1945(in)X
2037(Tcl)X
2178(if)X
2255(an)X
2361(argument)X
2717(is)X
2799(to)X
2891(be)X
2997(evaluated,)X
3380(and)X
3530(more)X
3733(typing)X
3981(effort)X
720 5550(is)N
813(required)X
1140(in)X
1243(Lisp)X
1434(if)X
1522(an)X
1639(argument)X
2006(is)X
2099(to)X
2202(be)X
2319(quoted)X
2593(\(not)X
2769(evaluated\).)X
3213(It)X
3300(appeared)X
3650(to)X
3752(me)X
3893(that)X
4059(no-)X
720 5649(evaluation)N
1117(is)X
1205(usually)X
1488(the)X
1624(desired)X
1906(result)X
2130(in)X
2227(arguments)X
2622(to)X
2719(a)X
2786(command)X
3162(language,)X
3530(so)X
3636(I)X
3693(made)X
3912(this)X
4068(the)X
3 f
2353 6048(-)N
2404(11)X
2514(-)X

12 p
%%Page: 12 13
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
10 f
870 812(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1 f
2827 911(Sun-3)N
3059(Time)X
3462(DS3100)X
3772(Time)X
1520 960(Tcl)N
1660(Command)X
2766 1010(\(microseconds\))N
3440(\(microseconds\))X
10 f
870 1021(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
9 s
914 1120(set)N
1086(a)X
1172(1)X
1 f
11 s
3015(225)X
3711(57)X
10 f
870 1131(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
9 s
914 1230(list)N
1129(abc)X
1301(def)X
1473(ghi)X
1645(jkl)X
1 f
11 s
3015(460)X
3667(138)X
10 f
870 1241(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
9 s
914 1340(if)N
1043({4)X
1172(>)X
1258(3})X
1387({set)X
1602(a)X
1688(1})X
1 f
11 s
3015(700)X
3667(220)X
10 f
870 1351(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
9 s
914 1450(proc)N
1129(fac)X
1301(x)X
1387({)X
1086 1549(if)N
1215({$x)X
1387(==)X
1516(1})X
1645({return)X
1989(1})X
1086 1648(return)N
1387([expr)X
1645({$x*[fac)X
2032([expr)X
2290($x-1]]}])X
914 1747(})N
1 f
11 s
2971 1598(1280)N
3667(380)X
10 f
870 1758(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
9 s
914 1857(fac)N
1086(5)X
1 f
11 s
2927(11250)X
3623(3630)X
10 f
870 1868(i)N
902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
870(c)X
1780(c)Y
1692(c)Y
1604(c)Y
1516(c)Y
1428(c)Y
1340(c)Y
1252(c)Y
1164(c)Y
1076(c)Y
988(c)Y
900(c)Y
2700 1868(c)N
1780(c)Y
1692(c)Y
1604(c)Y
1516(c)Y
1428(c)Y
1340(c)Y
1252(c)Y
1164(c)Y
1076(c)Y
988(c)Y
900(c)Y
3374 1868(c)N
1780(c)Y
1692(c)Y
1604(c)Y
1516(c)Y
1428(c)Y
1340(c)Y
1252(c)Y
1164(c)Y
1076(c)Y
988(c)Y
900(c)Y
4026 1868(c)N
1780(c)Y
1692(c)Y
1604(c)Y
1516(c)Y
1428(c)Y
1340(c)Y
1252(c)Y
1164(c)Y
1076(c)Y
988(c)Y
900(c)Y
3 f
10 s
880 2024(Table)N
1108(II)X
1 f
1170(.)X
1242(The)X
1399(cost)X
1560(of)X
1659(various)X
1927(Tcl)X
2066(commands,)X
2465(measured)X
2805(on)X
2917(a)X
2985(Sun-3/75)X
3310(workstation)X
3720(and)X
3868(on)X
3980(a)X
880 2114(DECstation)N
1279(3100.)X
1505(The)X
1655(command)X
7 f
2024(fac)X
2221(5)X
1 f
2294(executes)X
2596(a)X
2657(total)X
2824(of)X
2916(23)X
3021(Tcl)X
3153(commands,)X
3545(for)X
3664(an)X
3765(average)X
880 2204(command)N
1228(time)X
1402(of)X
1501(about)X
1711(500)X
1863(microseconds)X
2336(on)X
2448(a)X
2516(Sun-3)X
2739(or)X
2838(160)X
2990(microseconds)X
3463(on)X
3575(a)X
3643(DECstation)X
880 2294(3100.)N
11 s
720 2522(default)N
996(in)X
1096(Tcl.)X
1289(Tcl)X
1438(also)X
1611(has)X
1759(fewer)X
1989(data)X
2167(types)X
2384(than)X
2567(Lisp;)X
2802(this)X
2961(was)X
3128(done)X
3330(in)X
3429(order)X
3644(to)X
3743(simplify)X
4068(the)X
720 2621(interface)N
1050(between)X
1365(the)X
1495(Tcl)X
1635(library)X
1892(and)X
2041(an)X
2146(enclosing)X
2506(C)X
2587(application.)X
920 2753(The)N
1084(Emacs)X
1346(editor)X
1579(is)X
1665(similar)X
1938(to)X
2034(Tcl)X
2179(in)X
2275(that)X
2435(it)X
2512(provides)X
2842(a)X
2908(framework)X
3320(that)X
3480(can)X
3629(be)X
3738(used)X
3925(to)X
4020(con-)X
720 2852(trol)N
872(many)X
1097(different)X
1429(application)X
1851(programs.)X
2256(For)X
2407(example,)X
2757(subprocesses)X
3244(can)X
3395(be)X
3507(run)X
3653(in)X
3751(Emacs)X
4015(win-)X
720 2951(dows)N
929(and)X
1080(users)X
1284(can)X
1430(write)X
1635(Emacs)X
1894(command)X
2266(scripts)X
2520(that)X
2677(\(a\))X
2798(generate)X
3119(command)X
3490(sequences)X
3869(for)X
3994(input)X
720 3050(to)N
820(the)X
959(applications)X
1417(and)X
1575(\(b\))X
1708(re-format)X
2071(the)X
2210(output)X
2467(of)X
2571(applications.)X
3073(This)X
3261(allows)X
3522(users)X
3733(to)X
3832(embellish)X
720 3149(the)N
860(basic)X
1073(facilities)X
1410(of)X
1515(applications,)X
1996(edit)X
2160(their)X
2353(output,)X
2632(and)X
2790(so)X
2899(on.)X
3062(The)X
3230(difference)X
3617(between)X
3941(Emacs)X
720 3248(and)N
870(Tcl)X
1011(is)X
1093(that)X
1249(the)X
1380(programmability)X
1997(is)X
2078(centralized)X
2487(in)X
2578(Emacs:)X
2860(applications)X
3309(cannot)X
3566(talk)X
3721(to)X
3812(each)X
3995(other)X
720 3347(unless)N
967(Emacs)X
1229(acts)X
1393(as)X
1492(intermediary)X
1969(\(e.g.)X
2151(to)X
2246(set)X
2370(up)X
2484(a)X
2549(new)X
2721(communication)X
3297(mechanism)X
3725(between)X
4044(two)X
720 3446(applications,)N
1207(code)X
1411(must)X
1621(be)X
1742(written)X
2030(in)X
2137(Emacs)X
2410(to)X
2517(pass)X
2706(information)X
3161(back)X
3365(and)X
3530(forth)X
3738(between)X
4068(the)X
720 3545(applications\).)N
1250(The)X
1417(Tcl)X
1565(approach)X
1917(is)X
2006(decentralized:)X
2553(each)X
2744(application)X
3167(has)X
3314(its)X
3428(own)X
3608(command)X
3985(inter-)X
720 3644(preter)N
947(and)X
1096(applications)X
1545(may)X
1719(communicate)X
2217(directly)X
2509(with)X
2688(each)X
2871(other.)X
920 3776(Lastly,)N
1190(it)X
1267(is)X
1353(interesting)X
1753(to)X
1849(compare)X
2179(Tcl)X
2324(to)X
2420(NeWS)X
2681([9],)X
2832(a)X
2898(window)X
3208(system)X
3480(that)X
3640(is)X
3726(based)X
3953(on)X
4068(the)X
720 3875(Postscript)N
1098(language.)X
1490(NeWS)X
1754(allows)X
2014(applications)X
2470(to)X
2568(down-load)X
2973(Postscript)X
3350(programs)X
3711(into)X
3878(the)X
4015(win-)X
720 3974(dow)N
904(server)X
1151(in)X
1253(order)X
1471(to)X
1573(change)X
1855(the)X
1996(user)X
2175(interface)X
2516(and)X
2676(modify)X
2964(other)X
3178(aspects)X
3465(of)X
3571(the)X
3711(system.)X
4032(In)X
4137(a)X
720 4073(sense,)N
955(this)X
1106(is)X
1188(similar)X
1457(to)X
1549(the)X
7 f
1711(send)X
1 f
1946(command)X
2317(in)X
2409(Tcl,)X
2571(in)X
2662(that)X
2817(applications)X
3266(may)X
3440(send)X
3623(programs)X
3977(to)X
4068(the)X
720 4172(server)N
964(for)X
1096(execution.)X
1513(However,)X
1886(the)X
2023(NeWS)X
2286(mechanism)X
2717(is)X
2805(less)X
2966(general)X
3254(than)X
3435(Tcl:)X
3629(NeWS)X
3892(applica-)X
720 4271(tions)N
915(generate)X
1235(Postscript)X
1605(programs)X
1959(as)X
2054(output)X
2302(but)X
2437(they)X
2611(do)X
2721(not)X
2856(necessarily)X
3269(respond)X
3569(to)X
3660(Postscript)X
4030(pro-)X
720 4370(grams)N
959(as)X
1056(input.)X
1306(In)X
1403(other)X
1608(words,)X
1868(NeWS)X
2126(applications)X
2577(can)X
2723(affect)X
2947(each)X
3132(others')X
3399(interfaces,)X
3786(by)X
3897(control-)X
720 4469(ling)N
894(the)X
1038(server,)X
1310(but)X
1459(they)X
1647(cannot)X
1918(directly)X
2224(invoke)X
2500(each)X
2696(others')X
2975(application-speci\256c)X
3701(operations)X
4103(as)X
720 4568(they)N
894(can)X
1038(with)X
1217(Tcl.)X
920 4700(To)N
1066(summarize,)X
1523(the)X
1679(Tcl)X
1845(approach)X
2215(is)X
2322(less)X
2502(centralized)X
2937(than)X
3137(either)X
3385(the)X
3540(Emacs)X
3822(or)X
3942(NeWS)X
720 4799(approaches.)N
1187(For)X
1337(a)X
1404(windowing)X
1828(environment)X
2302(with)X
2487(large)X
2691(numbers)X
3022(of)X
3123(independent)X
3582(tools,)X
3803(I)X
3859(think)X
4068(the)X
720 4898(decentralized)N
1215(approach)X
1562(makes)X
1812(sense.)X
2071(In)X
2169(fairness)X
2467(to)X
2561(Emacs,)X
2843(it's)X
2980(important)X
3348(to)X
3441(point)X
3647(out)X
3784(that)X
3941(Emacs)X
720 4997(wasn't)N
982(designed)X
1323(for)X
1453(this)X
1609(environment,)X
2105(and)X
2260(that)X
2420(Emacs)X
2682(works)X
2923(quite)X
3127(nicely)X
3370(in)X
3466(the)X
3601(environment)X
4074(for)X
720 5096(which)N
958(it)X
1031(was)X
1189(designed)X
1524(\(ASCII)X
1804(terminals)X
2155(with)X
2334(batch-style)X
2743(applications\).)X
3265(It's)X
3404(also)X
3568(worth)X
3795(noting)X
4043(that)X
720 5195(direct)N
943(communication)X
1515(between)X
1830(applications)X
2279(was)X
2437(not)X
2572(an)X
2677(explicit)X
2965(goal)X
3139(of)X
3234(the)X
3364(NeWS)X
3620(system)X
3887(design.)X
3 f
720 5489(8.)N
830(Conclusions)X
1 f
920 5621(I)N
982(think)X
1197(that)X
1363(Tcl)X
1514(could)X
1743(improve)X
2070(our)X
2219(interactive)X
2624(environments)X
3136(in)X
3237(three)X
3445(general)X
3736(ways.)X
3992(First,)X
720 5720(Tcl)N
868(can)X
1020(be)X
1133(used)X
1324(to)X
1423(improve)X
1747(individual)X
2135(tools)X
2336(by)X
2453(providing)X
2825(them)X
3031(with)X
3217(a)X
3285(programmable)X
3828(command)X
3 f
2353 6048(-)N
2404(12)X
2514(-)X

13 p
%%Page: 13 14
11 s 11 xH 0 xS 3 f
720 483(Tcl:)N
894(An)X
1028(Embeddable)X
1525(Command)X
1942(Language)X
3466(December)X
3868(22,)X
4000(1989)X
1 f
720 771(language;)N
1117(this)X
1277(allows)X
1539(users)X
1751(to)X
1852(customize)X
2242(tools)X
2446(and)X
2605(extend)X
2872(their)X
3066(functionality.)X
3593(Second,)X
3905(Tcl)X
4054(can)X
720 870(provide)N
1020(a)X
1090(uniform)X
1405(command)X
1784(language)X
2133(across)X
2383(a)X
2453(range)X
2679(of)X
2783(tools;)X
3033(this)X
3192(makes)X
3448(it)X
3529(easier)X
3765(for)X
3897(users)X
4107(to)X
720 969(program)N
1042(the)X
1174(tools)X
1370(and)X
1521(also)X
1687(allows)X
1941(tool-independent)X
2563(facilities)X
2892(to)X
2985(be)X
3092(built,)X
3301(such)X
3486(as)X
3583(interface)X
3914(editors.)X
720 1068(Third,)N
962(Tcl)X
1104(provides)X
1431(a)X
1494(mechanism)X
1920(for)X
2046(tools)X
2242(to)X
2335(control)X
2609(each)X
2794(other;)X
3046(this)X
3198(encourages)X
3616(a)X
3678(more)X
3882(modular)X
720 1167(approach)N
1065(to)X
1157(windowing)X
1576(applications)X
2025(and)X
2174(makes)X
2421(it)X
2493(possible)X
2804(to)X
2895(re-use)X
3131(old)X
3266(applications)X
3715(in)X
3806(new)X
3974(ways.)X
720 1266(In)N
815(my)X
950(opinion)X
1242(the)X
1372(third)X
1561(bene\256t)X
1823(is)X
1904(potentially)X
2305(the)X
2435(most)X
2629(important.)X
920 1398(My)N
1067(experiences)X
1507(with)X
1688(Tcl)X
1830(so)X
1932(far)X
2053(are)X
2184(positive)X
2488(but)X
2625(limited.)X
2945(Tcl)X
3087(needs)X
3311(a)X
3374(larger)X
3603(user)X
3773(community)X
720 1497(and)N
876(a)X
944(more)X
1154(complete)X
1507(integration)X
1919(into)X
2086(a)X
2154(windowing)X
2579(toolkit)X
2840(before)X
3093(it)X
3172(can)X
3323(be)X
3434(fully)X
3629(evaluated.)X
4039(The)X
720 1596(Tcl)N
865(library)X
1127(source)X
1383(code)X
1576(is)X
1662(currently)X
2007(available)X
2353(to)X
2449(the)X
2584(public)X
2831(in)X
2926(a)X
2991(free,)X
3175(unlicensed)X
3578(form,)X
3797(and)X
3950(I)X
4005(hope)X
720 1695(to)N
811(produce)X
1116(a)X
1177(Tcl-based)X
1546(toolkit)X
1800(in)X
1891(the)X
2021(near)X
2194(future.)X
3 f
720 1989(9.)N
830(Acknowledgments)X
1 f
920 2121(The)N
1082(members)X
1430(of)X
1528(the)X
1661(Sprite)X
1897(project)X
2167(acted)X
2377(as)X
2474(guinea)X
2733(pigs)X
2904(for)X
3030(the)X
3162(editor)X
3392(and)X
3543(terminal)X
3862(emulator)X
720 2220(based)N
948(on)X
1064(Tcl;)X
1257(without)X
1555(their)X
1745(help)X
1925(the)X
2061(language)X
2407(would)X
2655(not)X
2796(have)X
2990(evolved)X
3297(to)X
3394(its)X
3506(current)X
3782(state.)X
4015(Fred)X
720 2319(Douglis,)N
1045(John)X
1235(Hartman,)X
1589(Ken)X
1759(Shirriff,)X
2064(and)X
2215(Brent)X
2434(Welch)X
2687(provided)X
3023(helpful)X
3296(comments)X
3682(that)X
3838(improved)X
720 2418(the)N
850(presentation)X
1303(of)X
1398(this)X
1548(paper.)X
3 f
720 2712(10.)N
874(References)X
1 f
720 2844([1])N
920(Abelson,)X
1265(H.)X
1380(and)X
1536(Sussman,)X
1900(G.J.)X
2 f
2092(Structure)X
2449(and)X
2610(Interpretation)X
3134(of)X
3232(Computer)X
3613(Programs)X
1 f
3964(,)X
4015(MIT)X
920 2943(Press,)N
1149(Cambridge,)X
1585(MA,)X
1770(1985.)X
720 3075([2])N
920(Adobe)X
1178(Systems,)X
1518(Inc.)X
2 f
1698(Postscript)X
2080(Language)X
2456(Tutorial)X
2770(and)X
2926(Cookbook)X
1 f
3283(,)X
3329(Addison-Wesley,)X
3966(Read-)X
920 3174(ing,)N
1077(MA,)X
1262(1985.)X
720 3306([3])N
920(Birrell,)X
1206(A.)X
1324(and)X
1484(Nelson,)X
1788(B.)X
1923(``Implementing)X
2509(Remote)X
2816(Procedure)X
3204(Calls.'')X
2 f
3498(ACM)X
3716(Transactions)X
920 3405(on)N
1030(Computer)X
1404(Systems)X
1 f
1682(,)X
1726(Vol.)X
1902(2,)X
1990(No.)X
2141(1,)X
2229(February)X
2568(1986,)X
2788(pp.)X
2920(39-59.)X
720 3537([4])N
920(Brodie,)X
1206(L.)X
2 f
1328(Starting)X
1637(FORTH:)X
1995(An)X
2117(Introduction)X
2582(to)X
2675(the)X
2807(FORTH)X
3114(Language)X
3490(and)X
3645(Operating)X
4030(Sys-)X
920 3636(tem)N
1069(for)X
1194(Beginners)X
1573(and)X
1727(Professionals)X
1 f
2207(,)X
2251(Prentice)X
2562(Hall,)X
2758(Englewood)X
3181(Cliffs,)X
3448(NJ,)X
3589(1981.)X
720 3768([5])N
920(Kernighan,)X
1337(B.W.)X
1547(and)X
1698(Pike,)X
1901(R.)X
2 f
2028(The)X
2184(UNIX)X
2413(Programming)X
2930(Environment)X
1 f
3385(,)X
3431(Prentice)X
3744(Hall,)X
3941(Engle-)X
920 3867(wood)N
1137(Cliffs,)X
1382(NJ,)X
1523(1984.)X
720 3999([6])N
920(Kernighan,)X
1338(B.W.)X
1549(and)X
1701(Ritchie,)X
2004(D.M.)X
2 f
2236(The)X
2393(C)X
2477(Programming)X
2995(Language)X
1 f
(,)S
3394(Second)X
3678(Edition,)X
3986(Pren-)X
920 4098(tice)N
1070(Hall,)X
1266(Englewood)X
1689(Cliffs,)X
1934(NJ,)X
2075(1988.)X
720 4230([7])N
920(Mackey,)X
1250(K.,)X
1382(Downs,)X
1677(M.,)X
1824(Duffy,)X
2080(J.,)X
2183(and)X
2335(Leege,)X
2597(J.)X
2699(``An)X
2888(Interactive)X
3289(Interface)X
3625(Builder)X
3914(for)X
4040(Use)X
920 4329(with)N
1099(Ada)X
1267(Programs,'')X
2 f
1706(Xhibition)X
2058(Conference)X
2486(Proceedings)X
1 f
2926(,)X
2970(1989.)X
720 4461([8])N
920(Stallman,)X
1279(R.)X
2 f
1404(GNU)X
1611(Emacs)X
1867(Manual)X
1 f
2141(,)X
2185(Fourth)X
2442(Edition,)X
2747(Version)X
3047(17,)X
3179(February)X
3518(1986.)X
720 4593([9])N
920(Sun)X
1083(Microsystems,)X
1625(Inc.)X
2 f
1807(NeWS)X
2048(Technical)X
2422(Overview)X
1 f
2759(,)X
2807(Sun)X
2970(Microsystems,)X
3512(Inc.)X
3672(PN)X
3810(800-1498-)X
920 4692(05,)N
1052(1987.)X
3 f
2353 6048(-)N
2404(13)X
2514(-)X

14 p
%%Trailer
xt

xs
0707070035050466601004440011710000040000010747330466276614600002000000024021tcl/tmac.sprite.\" This file contains a combination of the BSD -man macros and the Sprite
.\" man macro additions which are stored in tmac.sprite.  This file is
.\" useful for sending to UNIX systems with Sprite man pages, so that the
.\" man pages may be formatted correctly.
.\"
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved.  The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\"	@(#)tmac.an.new	6.3 (Berkeley) 2/2/86
.\"
'	DT, PD, SM, and B macros invoked internally.
'	# month name
.if "\nd"0" .nr m \n(mo-1
.if "\nm"0" .ds ]m January
.if "\nm"1" .ds ]m February
.if "\nm"2" .ds ]m March
.if "\nm"3" .ds ]m April
.if "\nm"4" .ds ]m May
.if "\nm"5" .ds ]m June
.if "\nm"6" .ds ]m July
.if "\nm"7" .ds ]m August
.if "\nm"8" .ds ]m September
.if "\nm"9" .ds ]m October
.if "\nm"10" .ds ]m November
.if "\nm"11" .ds ]m December
'	# set the date
.if n \{.nr m \nm+1
.	 ie \nd .ds ]W Modified \nm/\nd/\ny
.	 el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
.if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
.	 el .ds ]W \*(]m \n(dy, 19\n(yr\}
.if t .ds ]W Sprite version 1.0
.if n .ds ]W Sprite v1.0
.if t .tr *\(**
.ie n \{\
.	ds lq \&"\"
.	ds rq \&"\"
.\}
.el \{\
.	ds rq ''
.	ds lq ``
.\}
'	# reset the basic page layout
.de }E
.}f
.in \\n()Ru+\\n(INu
.ll \\n(LLu
..
'	# default tabs
.de DT
'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
..
'	# set type font and size
.de }f
.ps 10
.ft 1
..
'	# handle the head of the page
.de }H
.ev 1
.}C
.ie "\*(.T"va" 'sp .1i
.el 'sp .5i
.ft 1
.ps 10
.tl @\\*(]H@\\*(]D@\\*(]H@
'sp .5i
.ev
.ns
..
'	# handle the foot of the page
.de }F
.ev 1
.ft 1
.ps 10
'sp .5i
.tl @\\*(]W@\\*(]L@%@
'bp
.ev
..
'	# the cut mark
.if !"\*(.T"vp" .ig
.de }C
.po 0i
.lt 7.45i
.tl '__''__'
.po
.lt
..
'	# the final cut mark
.de }M
.}N
.wh -1p }C
.ll \\n(LLu
..
'	# no runout unless there was a .TH
.de }K
.}N
.pl 1
.ll \\n(LLu
..
.em }K
'	# set title and heading
.de TH
.PD
.if n .nr IN .5i
.if t .nr IN .5i
.nr LL \\n(.l
.ds ]H \\$1
.ds ]D UNKNOWN MANUAL SECTION
.if '\\$2'1' .ds ]D User Commands
.if '\\$2'1C' .ds ]D User Commands
.if '\\$2'1L' .ds ]D User Commands
.if '\\$2'6' .ds ]D Games and Demos
.if '\\$2'7' .ds ]D Tables
.if '\\$2'2' .ds ]D C Library Procedures
.if '\\$2'3' .ds ]D C Library Procedures
.if '\\$2'3C' .ds ]D C Library Procedures
.if '\\$2'3F' .ds ]D Fortran Library Procedures
.if '\\$2'3S' .ds ]D C Library Procedures
.if '\\$2'3M' .ds ]D Mathematical Library Procedures
.if '\\$2'3N' .ds ]D C Library Procedures
.if '\\$2'3R' .ds ]D RPC Services
.if '\\$2'3X' .ds ]D C Library Procedures
.if '\\$2'5' .ds ]D File Formats
.if '\\$2'4' .ds ]D Devices
.if '\\$2'8' .ds ]D User Commands
.ds ]L\"
.if !"\\$3"" .ds ]L \\$3
.if !"\\$4"" .ds ]W \\$4
.wh 0 }H
.if t .if !"\*(.T"va" .wh -1i }F
.if t .if "\*(.T"va" .wh -1.4i }F
.if n .wh -1.167i }F
.em }M
.if \\n(nl .bp 1
.}E
.DT
.nr )I .5i
.nr )R 0
.if n .na
..
'	# section heading
.de SH
.ss 12
.if "\\$1"SYNOPSIS" .ss 18
.}X 0
.nr )E 2
.SM
\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
..
'	# sub section heading
.de SS
.ne 4
.}X \\n()Ru+\\n(INu ""
\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
.br
..
'	# subroutine for section heading
.de }X
.}E
.ti \\$1
.sp \\n()Pu
.ne 2
.nr )R 0
.fi
.it 1 }N
.B
..
'	# end of SH (cf }X above and }N below)
.de }2
.nr )E 0
.}E
.nr )I .5i
.ns
..
'	# italic
.de I
.ft 2
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# bold
.de B
.ft 3
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# small
.de SM
.ps 9
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# combinations of Roman, italic, bold
.de RI
.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de RB
.}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de IR
.}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de IB
.}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de BR
.}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de BI
.}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
'	# make special case of shift out of italic
.de }S
.ds ]F
.if "\\$1"2" .if !"\\$5"" .ds ]F\^
.ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.el \\$3
.}f
..
'	# paragraph
.de LP
.PP
..
.de PP
.sp \\n()Pu
.ne 1.1v
.}E
.nr )I .5i
.ns
..
'	# synonym for .PP
.de P
.PP
..
'	# paragraph distance
.de PD
.if t .nr )P .4v
.if n .nr )P 1v
.if !"\\$1"" .nr )P \\$1v
..
'	# paragraph with hanging indent
.de HP
.sp \\n()Pu
.ne 1.1v
.if !"\\$1"" .nr )I \\$1n
.ll \\n(LLu
.in \\n()Ru+\\n(INu+\\n()Iu
.ti \\n()Ru+\\n(INu
.}f
..
'	# indented paragraph
.de IP
.TP \\$2
\&\\$1
..
'	# tagged paragraph (paragraph with hanging label)
.de TP
.if !"\\$1"" .nr )I \\$1n
.sp \\n()Pu
.ne 1.1v
.in \\n()Ru
.nr )E 1
.ns
.it 1 }N
.di ]B
..
'	# end of TP (cf }N below)
.de }1
.ds ]X \&\\*(]B\\
.nr )E 0
.if !"\\$1"" .nr )I \\$1n
.}f
.ll \\n(LLu
.in \\n()Ru+\\n(INu+\\n()Iu
.ti \\n(INu
.ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
.br\}
.el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
.}f
..
'	# handle end of 1-line features
.de }N
.if \\n()E .br
.di
.if "\\n()E"0" .}f
.if "\\n()E"1" .}1
.if "\\n()E"2" .}2
.nr )E 0
..
'	# increase relative indent
.de RS
.nr ]\\n+()p \\n()I
.nr )\\n()p \\n()R
.ie !"\\$1"" .nr )R +\\$1n
.el .nr )R +\\n()I
.nr )I .5i
.}E
..
.de DS
.RS
.nf
.sp
..
'	# decrease relative indent
.de RE
.if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
.		el .nr )p \\$1 1\}
.ds ]i \\*(]I\\n()p
.ds ]r \\*(]R\\n()p
.nr )I \\*(]i
.nr )R \\*(]r
.if \\n()p .nr )p -1
.}E
..
.de DE
.fi
.RE
.sp.5
..
.nr )p 0 1
.ds ]I \\\\n(]
.ds ]R \\\\n()
.bd S B 3
.if t .ds R \(rg
.if n .ds R (Reg.)
.ds S \s10
.hy 14
.if "\*(.T"va" .po -0.4i
.\" This file contains extra Ditroff macros used in Sprite man pages:
.\"
.\" .HS name section [date [version]]
.\"	Replacement for .TH in other man pages.  See below for valid
.\"	section names.
.\"
.\" .LG
.\"	Increase font size;  opposite of .SM
.\"
.\" .AP type name in/out [indent]
.\"	Start paragraph describing an argument to a library procedure.
.\"	type is type of argument (int, etc.), in/out is either "in", "out",
.\"	or "in/out" to describe whether procedure reads or modifies arg,
.\"	and indent is equivalent to second arg of .IP (shouldn't ever be
.\"	needed;  use .AS below instead)
.\"
.\" .AS [type [name]]
.\"	Give maximum sizes of arguments for setting tab stops.  Type and
.\"	name are examples of largest possible arguments that will be passed
.\"	to .AP later.  If args are omitted, default tab stops are used.
.\"
.\" .BS
.\"	Start box enclosure.  From here until next .BE, everything will be
.\"	enclosed in one large box.
.\"
.\" .BE
.\"	End of box enclosure.
.\"
.\" .VS
.\"	Begin vertical sidebar, for use in marking newly-changed parts
.\"	of man pages.
.\"
.\" .VE
.\"	End of vertical sidebar.
.\"
'	# Heading for Sprite man pages
.de HS
.PD
.DT
.AS
.if n .nr IN .5i
.if t .nr IN .5i
.nr LL \\n(.l
.ds ]S UNKNOWN SECTION (\\$2)
.if '\\$2'cmds'       .ds ]S User Commands
.if '\\$2'lib'        .ds ]S C Library Procedures
.if '\\$2'dev'        .ds ]S Devices
.if '\\$2'tcl'        .ds ]S Tcl Command Language Library
.if '\\$2'admin'      .ds ]S Administrative Commands
.if '\\$2'daemons'    .ds ]S Daemons
.if '\\$2'files'      .ds ]S File Formats
.ds ]H \\$1
.ds ]D \\*(]S
.ie '\\$3'' .ds ]L  Printed:\\ \\ \\*(DY
.el         .ds ]L  Modified:\\ \\ \\$3
.if t .ie '\\$4'' .ds ]W Sprite version 1.0
.if t .el         .ds ]W Sprite version \\$4
.if n .ie '\\$4'' .ds ]W Sprite v.1.0
.if n .el         .ds ]W Sprite v.\\$4
.if !"\\$3"" .ds ]L \\$3
.wh 0 }H
.if t .wh -1i }B
.if n .wh -1.167i }F
.if \\n(nl .bp 1
.em }M
.}E
.DT
.nr )I .5i
.nr )R 0
..
'	# Increase point size 1 tick
.de LG
.ps +1
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
.   ie !"\\$2"" .TP \\n()Cu
.   el          .TP 15
.\}
.ie !"\\$3"" \{\
.ta \\n()Au \\n()Bu
\&\\$1	\\fI\\$2\\fP	(\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1	\\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
.DT
..
'	# define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
'	# BS - start boxed text
.de BS
.br
.mk )a
.ds )b 1
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
'	# Special macro to handle page bottom:  finish off current
'	# box/sidebar if in box/sidebar mode, then invoked standard
'	# page bottom macro.
.de }B
.if '\\*()b'1' \{\
.ev 1
'ti 0
'nf
.if t \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
'sp -1
.ev
'fi
.\}
.if '\\*()v'2' \{\
.if t \{\
.ev 1
'ti 0
'nf
\h'|\\n(.lu+2n'\v'-1v'\L'|\\n()au-1v\(br'\v'-|\\n()au+2v'\h'-|\\n(.lu+2n'
'sp -1
'fi
.ev
.\}
.\}
.}F
..
'	# What to do when the head of the page occurs during boxed text
'	# or vertical sidebar: update starting position for box/sidebar.
.am }H
.mk )a
..
'	# BE - end boxed text (draw box now)
.de BE
.sp -1
.nf
.ti 0
.ie n \l'\\n(.lu\(ul'
.el \{
\h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
.\"   \h = move left 1.5n
.\"   \L = draw up,   len=  )a units + 1.5v 
.\"	\L draws a line, arg = distance. if negative, draws up.
.\"	The position in reg. )a is used to draw the vertical lines.
.\"	  |\\n)au = distance from current loc. to )a (negative distance)
.\"	  -1.5v   = distance above )a since there is text at )a's location
.\"   \l = draw right, len= cur. line length + 3n using underrule
.\"   \L = draw down, len=  )a units + 1.5v 
.\"   \l = draw left, back to original spot
.\}
.fi
.br
.ds )b 0
..
'	# VS - start vertical sidebar
.de VS
.if n 'mc \s12\(br\s0
.if t \{\
.mk )a
.ds )v 2
.\}
..
'	# VE - end of vertical sidebar
.de VE
.ev 1
.if n 'mc
.if t \{\
.nf
.ti 0
\h'|\\n(.lu+2n'\L'|\\n()au-1v\(br'\v'-|\\n()au+1v'\h'-|\\n(.lu+2n'
.sp -1
.fi
.\}
.ds )v 0
.ev
..
.\"
.\"  Define the string DY to be the current date
.\"  format:  month day, year
.\"
.if \n(mo-0 .ds MO January
.if \n(mo-1 .ds MO February
.if \n(mo-2 .ds MO March
.if \n(mo-3 .ds MO April
.if \n(mo-4 .ds MO May
.if \n(mo-5 .ds MO June
.if \n(mo-6 .ds MO July
.if \n(mo-7 .ds MO August
.if \n(mo-8 .ds MO September
.if \n(mo-9 .ds MO October
.if \n(mo-10 .ds MO November
.if \n(mo-11 .ds MO December
.ds DY \*(MO \n(dy, 19\n(yr
0707070035050466570407750011710000040000020747430466276614700001200000000000tcl/tests0707070035050466521004440011710000040000010747450466276614600002500000003455tcl/tests/error.test# This file contains contains a collection of tests for the "error"
# and "catch" commands in Tcl.  If everything is OK then it finishes
# silently.  If a problem is detected then it generates a Tcl error
# with a cryptic message.  To trace the error you'll have to read
# through the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Catch/error error %s: wanted "%s", got "%s"} $num $b $a]}
}

proc foo {} {
    global errorInfo
    set a [catch {format [error glorp2]} b]
    error {Human-generated}
}

proc foo2 {} {
    global errorInfo
    set a [catch {format [error glorp2]} b]
    error {Human-generated} $errorInfo
}

# Catch command-generated errors and errors from "error command"

set a [catch {format [string compare]} b]
check $a 1 1.1
check $b {wrong # args: should be "string option a b"} 1.2
check $errorInfo {wrong # args: should be "string option a b", while executing
"string compare]", invoked from within
"format [string compare]"} 1.3

# Catch nested errors from procedure

set a [catch {error glorp}]
check $a 1 2.1
check [catch {catch a b c} b] 1 2.2
check $b {wrong # args: should be "catch command [varName]"} 2.3
check [catch catch] 1 2.4

# Catch an error in a procedure, and use the optional arg to "error"
# to generate a new error trace

check [catch foo b] 1 3.1
check $b {Human-generated} 3.2
check $errorInfo {Human-generated, while executing
"error {Human-generated}" (procedure "foo" line 4), invoked from within
"foo"} 3.3

check [catch foo2 b] 1 4.1
check $b {Human-generated} 4.2
check $errorInfo {glorp2, while executing
"error glorp2]", invoked from within
"format [error glorp2]" (procedure "foo2" line 1), invoked from within
"foo2"} 4.3
0707070035050466501004440011710000040000010747470466276614600002400000002233tcl/tests/exec.test# This file contains contains a collection of tests for the "exec"
# command in Tcl.  If everything is OK then it finishes silently.
# If a problem is detected then it generates a Tcl error with a
# cryptic message.  To trace the error you'll have to read through
# the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Exec error %s: wanted "%s", got "%s"} $num $b $a]}
}

# Basic operations.

set a [exec echo a b c]
check $a "a b c\n" 1.1
set a [exec wc < "a b c d" -w]
scan $a %d b
check $b 4 1.2
set a [exec cat < foo]
check $a foo 1.3

# Long input to test using file instead of pipe.  This also tests
# the ability to collect output in several steps.

set a "0123456789 xxxxxxxxx abcdefghi ABCDEFGHIJK\n"
set a [concat $a $a $a $a]
set a [concat $a $a $a $a]
set a [concat $a $a $a $a]
set a [concat $a $a $a $a]
set b [exec cat < $a]
check $a $b 1.4

# Error conditions.

check [catch {exec cat <} b] 1 2.1
check $b {specified "<" but no input in "exec" command} 2.2
check [catch {exec false} b] 1 2.3
check $b {} 2.4
0707070035050466471004440011710000040000010747510466276614600002400000011172tcl/tests/expr.test# This file contains contains a collection of tests for the "expr"
# command in Tcl.  If everything is OK then it finishes silently.
# If a problem is detected then it generates a Tcl error with a
# cryptic message.  To trace the error you'll have to read through
# the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {$a != $b} {
	error [format {Expr error %s: wanted "%s", got "%s"} $num $b $a]}
}
proc checkstr {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Expr error %s: wanted "%s", got "%s"} $num $b $a]}
}

# First, test all of the operators individually.

check [expr -4] -4 1.1
check [expr -(1+4)] -5 1.2
check [expr ~3] 0xfffffffc 1.3
check [expr !2] 0 1.3
check [expr !0] 1 1.4
check [expr 4*6] 24 1.5
check [expr 36/12] 3 1.6
check [expr 27/4] 6 1.7
check [expr 27%4] 3 1.8
check [expr 2+2] 4 1.9
check [expr 2-6] -4 1.10
check [expr 1<<3] 8 1.11
check [expr 0xff>>2] 0x3f 1.12
check [expr -1>>2] -1 1.13
check [expr 3>2] 1 1.14
check [expr 2>2] 0 1.15
check [expr 1>2] 0 1.16
check [expr 3<2] 0 1.17
check [expr 2<2] 0 1.18
check [expr 1<2] 1 1.19
check [expr 3>=2] 1 1.20
check [expr 2>=2] 1 1.21
check [expr 1>=2] 0 1.22
check [expr 3<=2] 0 1.23
check [expr 2<=2] 1 1.24
check [expr 1<=2] 1 1.25
check [expr 3==2] 0 1.26
check [expr 2==2] 1 1.27
check [expr 3!=2] 1 1.28
check [expr 2!=2] 0 1.29
check [expr 7&0x13] 3 1.30
check [expr 7^0x13] 0x14 1.31
check [expr 7|0x13] 0x17 1.32
check [expr 0&&1] 0 1.33
check [expr 0&&0] 0 1.34
check [expr 1&&3] 1 1.35
check [expr 0||1] 1 1.36
check [expr 3||0] 1 1.37
check [expr 0||0] 0 1.38
check [expr 3>2?44:66] 44 1.39
check [expr 2>3?44:66] 66 1.40

# Check precedence pairwise.

check [expr -~3] 4 2.1
check [expr -!3] 0 2.2
check [expr -~0] 1 2.3

check [expr 2*4/6] 1 3.1
check [expr 24/6*3] 12 3.2
check [expr 24/6/2] 2 3.3

check [expr -2+4] 2 4.1
check [expr -2-4] -6 4.2

check [expr 2*3+4] 10 5.1
check [expr 8/2+4] 8 5.2
check [expr 8%3+4] 6 5.3
check [expr 2*3-1] 5 5.4
check [expr 8/2-1] 3 5.5
check [expr 8%3-1] 1 5.6

check [expr 6-3-2] 1 6.1

check [expr 7+1>>2] 2 7.1
check [expr 7+1<<2] 32 7.2
check [expr 7>>3-2] 3 7.3
check [expr 7<<3-2] 14 7.4

check [expr 6>>1>4] 0 8.1
check [expr 6>>1<2] 0 8.2
check [expr 6>>1>=3] 1 8.3
check [expr 6>>1<=2] 0 8.4
check [expr 6<<1>5] 1 8.5
check [expr 6<<1<5] 0 8.6
check [expr 5<=6<<1] 1 8.7
check [expr 5>=6<<1] 0 8.8

check [expr 2<3<4] 1 9.1
check [expr 0<4>2] 0 9.2
check [expr 4>2<1] 0 9.3
check [expr 4>3>2] 0 9.4
check [expr 4>3>=2] 0 9.5
check [expr 4>=3>2] 0 9.6
check [expr 4>=3>=2] 0 9.7
check [expr 0<=4>=2] 0 9.8
check [expr 4>=2<=0] 0 9.9
check [expr 2<=3<=4] 1 9.10

check [expr 1==4>3] 1 10.1
check [expr 0!=4>3] 1 10.2
check [expr 1==3<4] 1 10.3
check [expr 0!=3<4] 1 10.4
check [expr 1==4>=3] 1 10.5
check [expr 0!=4>=3] 1 10.6
check [expr 1==3<=4] 1 10.7
check [expr 0!=3<=4] 1 10.8

check [expr 1==3==3] 0 11.1
check [expr 3==3!=2] 1 11.2
check [expr 2!=3==3] 0 11.3
check [expr 2!=1!=1] 0 11.3

check [expr 2&3==2] 0 12.1
check [expr 1&3!=3] 0 12.2

check [expr 7&3^0x10] 0x13 13.1
check [expr 7^0x10&3] 7 13.2

check [expr 7^0x10|3] 0x17 14.1
check [expr 7|0x10^3] 0x17 14.2

check [expr 7|3&&1] 1 15.1
check [expr 1&&3|7] 1 15.2

check [expr 0&&1||1] 1 15.3
check [expr 1||1&&0] 1 15.4

check [expr 1||0?3:4] 3 16.1
check [expr 1?0:4||1] 0 16.2

# Parentheses.

check [expr (2+4)*6] 36 17.1
check [expr (1?0:4)||1] 1 17.2

# Embedded commands and variable names.

set a 16
check [expr {2*$a}] 32 18.1
check [expr {[set a] - 14}] 2 18.2

# Numbers in various bases.

check [expr 0x20] 32 19.1
check [expr 015] 13 19.2

# Various error conditions.

check [catch {expr 2+a} msg] 1 20.1
checkstr $msg {syntax error in expression "2+a"} 20.2
check [catch {expr 2+4*} msg] 1 20.3
check [catch {expr 2+4*(} msg] 1 20.4
check [catch {expr 2+$_non_existent_} msg] 1 20.5
checkstr $msg {couldn't find variable "_non_existent_"} 20.6
set a xx
check [catch {expr {2+$a}} msg] 1 20.7
checkstr $msg {variable "$a" contained non-numeric value "xx"} 20.8
check [catch {expr {2+[set a]}} msg] 1 20.9
checkstr $msg {command "set a" returned non-numeric result "xx"} 20.10
check [catch {expr {2+(4}} msg] 1 20.11
checkstr $msg {unmatched parentheses in expression "2+(4"} 20.12
check [catch {expr 2/0} msg] 1 20.13
checkstr $msg {divide by zero} 20.14
check [catch {expr 2%0} msg] 1 20.15
checkstr $msg {divide by zero} 20.16
check [catch {expr 2#} msg] 1 20.17
checkstr $msg {syntax error in expression "2#"} 20.18
check [catch {expr 2?foo:1} msg] 1 20.19
check [catch {expr 0?foo:1} msg] 1 20.20
check [catch {expr 2?1:foo} msg] 1 20.21
check [catch {expr 0?1:foo} msg] 1 20.22
0707070035050466461004440011710000040000010747550466276614600002300000005277tcl/tests/for.test# This file contains contains a collection of tests for the "for",
# "foreach", "break", and "continue" commands in Tcl.  If everything
# is OK then it finishes silently.  If a problem is detected then
# it generates a Tcl error with a cryptic message.  To trace the error
# you'll have to read through the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {For error %s: wanted "%s", got "%s"} $num $b $a]}
}

# Basic "foreach" operation.

set a {}
foreach i {a b c d} {
    set a [concat $a $i]
}
check $a { a b c d} 1.1
set a {}
foreach i {a b {{c d} e} {123 {{x}}}} {
    set a [concat $a $i]
}
check $a { a b {c d} e 123 {{x}}} 1.2
check [catch {foreach} msg] 1 1.3
check $msg {wrong # args: should be "foreach varName list command"} 1.4
check [catch {foreach i} msg] 1 1.5
check $msg {wrong # args: should be "foreach varName list command"} 1.6
check [catch {foreach i j} msg] 1 1.7
check $msg {wrong # args: should be "foreach varName list command"} 1.8
check [catch {foreach i j k l} msg] 1 1.9
check $msg {wrong # args: should be "foreach varName list command"} 1.10
set a {}
foreach i {} {
    set a [concat $a $i]
}
check $a {} 1.11

# Check "continue".

check [catch continue] 4 2.1
set a {}
foreach i {a b c d} {
    if {[string compare $i "b"] == 0} continue
    set a [concat $a $i]
}
check $a { a c d} 2.2
set a {}
foreach i {a b c d} {
    if {[string compare $i "b"] != 0} continue
    set a [concat $a $i]
}
check $a { b} 2.3
check [catch {continue foo} msg] 1 2.4
check $msg {too many args: should be "continue"} 2.5

# Check "break".

check [catch break] 3 3.1
set a {}
foreach i {a b c d} {
    if {[string compare $i "c"] == 0} break
    set a [concat $a $i]
}
check $a { a b} 3.2
check [catch {break foo} msg] 1 3.3

check $msg {too many args: should be "break"} 3.4

# Check "for" and its use of continue and break.

set a {}
for {set i 1} {$i<6} {set i [expr $i+1]} {
    set a [concat $a $i]
}
check $a { 1 2 3 4 5} 4.1
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]} {
    if $i==4 continue
    set a [concat $a $i]
}
check $a { 1 2 3 5} 4.2
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]} {
    if $i==4 break
    set a [concat $a $i]
}
check $a { 1 2 3} 4.3
check [catch {for 1 2 3} msg] 1 4.4
check $msg {wrong # args: should be "for start test next command"} 4.5
check [catch {for 1 2 3 4 5} msg] 1 4.5
check $msg {wrong # args: should be "for start test next command"} 4.6
set a {xyz}
for {set i 1} {$i<6} {set i [expr $i+1]} {}
check $a xyz 4.6
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]; if $i==4 break} {
    set a [concat $a $i]
}
check $a { 1 2 3} 4.7
0707070035050466441004440011710000040000010747560466276614600002400000004074tcl/tests/glob.test# This file contains contains a collection of tests for the "glob"
# command in Tcl.  If everything is OK then it finishes silently.
# If a problem is detected then it generates a Tcl error with a
# cryptic message.  To trace the error you'll have to read through
# the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Glob error %s: wanted "%s", got "%s"} $num $b $a]}
}

# First, create some subdirectories to use for testing.

exec rm -rf globTest
exec mkdir globTest globTest/a1 globTest/a2 globTest/a3
exec mkdir globTest/a1/b1 globTest/a1/b2 globTest/a2/b3
print abc globTest/x1.c
print abc globTest/y1.c
print abc globTest/z1.c
print abc globTest/.1
print abc globTest/a1/b1/x2.c
print abc globTest/a1/b2/y2.c

check [glob a] a 1.1
check [glob aaa bbb ccc] "aaa bbb ccc" 1.2

check [glob "{a1,a2}"] "a1 a2" 2.1
check [glob a/{x,y}{123,456}/z] "a/x123/z a/x456/z a/y123/z a/y456/z" 2.2

check [glob g*/*.c] "globTest/x1.c globTest/y1.c globTest/z1.c" 3.1
check [glob globTest/?1.c] "globTest/x1.c globTest/y1.c globTest/z1.c" 3.2
check [glob */*/*/*.c] "globTest/a1/b1/x2.c globTest/a1/b2/y2.c" 3.3
check [glob globTest/*] "globTest/a1 globTest/a2 globTest/a3 globTest/x1.c globTest/y1.c globTest/z1.c" 3.4
check [glob globTest/.*] "globTest/. globTest/.. globTest/.1" 3.5
check [glob globTest/*/*] "globTest/a1/b1 globTest/a1/b2 globTest/a2/b3" 3.6
check [glob {globTest/[xy]1.*}] "globTest/x1.c globTest/y1.c" 3.7

set myHome [file ~ tail]
if [string compare $myHome ouster] {
    check [glob ~/.csh*] "/users/ouster/.cshrc" 4.1
    check [glob ~ouster] "/users/ouster" 4.2
}

check [catch {glob} msg] 1 5.1
check $msg "no files matched glob pattern(s)" 5.2
check [catch {glob a/{b,c,d}/\{} msg] 1 5.3
check $msg "unmatched open-brace in file name" 5.4
check [catch {glob goo/*} msg] 1 5.5
check $msg {no files matched glob pattern(s)} 5.6
check [catch {glob ~no-one} msg] 1 5.7
check $msg {user "no-one" doesn't exist} 5.8

exec rm -rf globTest
0707070035050466431004440011710000040000010747570466276614600002700000013061tcl/tests/history.test# This file contains contains a collection of tests for the history
# operations in Tcl.  If everything is OK then it finishes silently.
# If a problem is detected then it generates a Tcl error with a cryptic
# message.  To trace the error you'll have to read through the commands
# in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {History error %s: wanted "%s", got "%s"} $num $b $a]}
}

set num [history nextid]
history keep 3
history add {set a 12345}
history add {set b [format {A test %s} string]}
history add {Another test}

# "history event"

check [history event -1] {set b [format {A test %s} string]} 1.1
check [history event $num] {set a 12345} 1.2
check [history event [expr $num+2]] {Another test} 1.3
check [history event set] {set b [format {A test %s} string]} 1.4
check [history e "* a*"] {set a 12345} 1.5
check [catch {history event *gorp} a] 1 1.6
check $a {no event matches "*gorp"} 1.7
check [history event] {set b [format {A test %s} string]} 1.8
check [catch {history event 123 456}] 1 1.9

# "history redo"

set a 0
history redo -2
check $a 12345 2.1
set b 0
history
check $b {A test string} 2.2
history redo
check $b {A test string} 2.3
check [catch {history redo -3 -4}] 1 2.4

# "history add"

history add "set a 444" exec
check $a 444 3.1
check [catch {history add "set a 444" execGorp}] 1 3.2
check [catch {history add "set a 444" a}] 1 3.3
history add "set a 555" e
check $a 555 3.4
history add "set a 666"
check $a 555 3.5
check [catch {history add "set a 666" e f}] 1 3.6

# "history change"

history change "A test value"
check [history event [expr {[history n]-1}]] "A test value" 4.1
history c "Another test" -1
check [history e] "Another test" 4.2
check [history event [expr {[history n]-1}]] "A test value" 4.3
check [catch {history change Foo 4 10}] 1 4.4
check [catch {history change Foo [expr {[history n]-4}]}] 1 4.5

# "history info"

set num [history n]
history add set\ a\ {b\nc\ d\ e}
history add {set b 1234}
history add set\ c\ {a\nb\nc}
check [history info] [format {%6d  set a {b
	c d e}
%6d  set b 1234
%6d  set c {a
	b
	c}} $num [expr $num+1] [expr $num+2]] 5.1
check [history i 2] [format {%6d  set b 1234
%6d  set c {a
	b
	c}} [expr $num+1] [expr $num+2]] 5.2
check [catch {history i 2 3}] 1 5.3

# "history keep"

history add "foo1"
history add "foo2"
history add "foo3"
history keep 2
check [history event [expr [history n]-1]] foo3 6.1
check [history event -1] foo2 6.2
check [catch {history event -3}] 1 6.3
history k 5
check [history event -1] foo2 6.4
check [history event -2] "" 6.5
check [history event -3] "" 6.6
check [history event -4] "" 6.7
check [catch {history event -5}] 1 6.8
check [catch {history keep 4 6}] 1 6.9
check [catch {history keep}] 1 6.10
check [catch {history keep -3}] 1 6.11

# "history nextid"

set num [history n]
history add "Testing"
history add "Testing2"
check [history event] "Testing" 7.1
check [history next] [expr $num+2] 7.2
check [catch {history nextid garbage}] 1 7.3

# "history substitute"

history add "set a {test foo test b c test}"
history add "Test command 2"
set a 0
history substitute foo bar -1
check $a {test bar test b c test} 8.1
history s test gorp
check $a {gorp foo gorp b c gorp} 8.2
history sub " te" to
check $a {test footost b ctost} 8.3
check [catch {history sub xxx yyy}] 1 8.4
check [catch {history s a b -10}] 1 8.5
check [catch {history s a b -1 20}] 1 8.6

# "history words"

history add {word0 word1 word2 a b c word6}
history add foo
check [history words 0-$] {word0 word1 word2 a b c word6} 9.1
check [history w 2 -1] word2 9.2
check [history wo $] word6 9.3
check [catch {history w 1--1}] 1 9.4
check [history w w] "" 9.5
check [history w *2] word2 9.5
check [history w *or*] {word0 word1 word2 word6} 9.6
check [catch {history words 10}] 1 9.7
check [catch {history words 1 -1 20}] 1 9.8

# history revision

set a 0
history a {set a 12345}
history a {set a [history e]} exec
check $a {set a 12345} 10.1
history a foo
check [history ev -1] {set a {set a 12345}} 10.2
set a 0
history a {history r -2} exec
history a {set a 12345}
check [history ev -1] {set a {set a 12345}} 10.3
history a {history s 123 999} exec
history a foo
check [history ev -1] {set a 99945} 10.4
history add {word0 word1 word2 a b c word6}
history add {set [history w 3] [list [history w 0] [history w {[ab]}]]} exec
check $a {word0 {a b}} 10.5
history add {format b}
check [history ev] {set a [list word0 {a b}]} 10.6
history add {word0 word1 word2 a b c word6}
set a 0
history add {set [history subs b a -2] [list abc [history r -2] [history w 1-3]]} exec
history add {format set}
check [history ev] {set [format a] [list abc [format b] {word1 word2 a}]} 10.7
history add {set a 12345}
concat a b c
history add {history redo; set b 44} exec
history add foo
check [history ev] {set a 12345; set b 44} 10.8
history add {set a 12345}
history add {history redo; history change "A simple test"; history subs 45 xx} exec
check $a 123xx 10.9
history add foo
check [history e] {A simple test} 10.10
history add {word0 word1 $ a b c word6}
history add {set a [history w 4-[history word 2]]} exec
history add foo
check $a {b c word6} 10.11
check [history e] {set a {b c word6}} 10.12
history add {history word 0} exec
history add foo
check [history e] {history word 0} 10.13
history add {set a [history word 0; format c]} exec
history add foo
check [history e] {set a [history word 0; format c]} 10.14

# miscellaneous

check [catch {history gorp} a] 1 11.1
set a [range $a 0 35 chars]
check $a {bad "history" option "gorp": must be} 11.2
0707070035050466421004440011710000040000010750760466276614700002500000002652tcl/tests/index.test# This file contains contains a collection of tests for the "index"
# command in Tcl.  If everything is OK then it finishes silently.
# If a problem is detected then it generates a Tcl error with a
# cryptic message.  To trace the error you'll have to read through
# the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Index error %s: wanted "%s", got "%s"} $num $b $a]}
}

check [index {a b c} 0] a 1.1
check [index {a {b c d} x} 1] {b c d} 1.2
check [index {a b\ c\ d x} 1] {b c d} 1.3
check [index {a b c} 3] {} 1.4
check [catch {index {a b c} -1} msg] 1 1.5
check $msg {bad index "-1"} 1.6

check [index abcde 0 chars] a 2.1
check [index abcde 4 c] e 2.2
check [index abcde 5 chars] {} 2.3
check [catch {index abcde -10 chars} msg] 1 2.4
check $msg {bad index "-10"} 2.5

check [catch index msg] 1 3.1
check $msg {wrong # args:  should be "index value index [chars]"} 3.2
check [catch {index 1 2 3 4} msg] 1 3.3
check $msg {wrong # args:  should be "index value index [chars]"} 3.4
check [catch {index 1 2 foo} msg] 1 3.5
check $msg {bad argument "foo":  must be "chars"} 3.6
check [catch "index \"a b {c\" 2" msg] 1 3.7
check $msg {unmatched open brace in list} 3.8
check [catch "index \"a b {c}d e\" 2" msg] 1 3.9
check $msg {list element in braces followed by "d" instead of space} 3.10
0707070035050466411004440011710000040000010750770466276614700002500000007103tcl/tests/parse.test# This file contains contains a collection of tests for the basic
# command-parsing mechanisms of Tcl (such as how braces and brackets
# and variable substitutions are handled)..  If everything is OK
# then it finishes silently.  If a problem is detected then it
# generates a Tcl error with a cryptic message.  To trace the error
# you'll have to read through the commands in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Parse error %s: wanted "%s", got "%s"} $num $b $a]}
}

proc fourArgs {a b c d} {
    global arg1 arg2 arg3 arg4
    set arg1 $a
    set arg2 $b
    set arg3 $c
    set arg4 $d
}

proc getArgs args {
    global argv
    set argv $args
}

# Basic argument parsing.

fourArgs a b	c 		 d
check $arg1 a 1.1
check $arg2 b 1.2
check $arg3 c 1.3
check $arg4 d 1.4

# Quotes.

getArgs "a b c" d
check $argv {{a b c} d} 2.1
set a 101
getArgs "a$a b c"
check $argv {{a101 b c}} 2.2
set argv "xy[format xabc]"
check $argv {xyxabc} 2.3
set argv "xy\t"
check $argv xy\t 2.4
set argv "a b	c
d e f"
check $argv a\ b\tc\nd\ e\ f 2.5
set argv a"bcd"e
check $argv {a"bcd"e} 2.6

# Braces.

getArgs {a b c} d
check $argv "{a b c} d" 3.1
set a 101
set argv {a$a b c}
set b [index $argv 1 chars]
check $b {$} 3.2
set argv {a[format xyz] b}
check [length $argv chars] 15 3.3
set argv {a\nb\}}
check [length $argv chars] 6 3.4
set argv {{{{}}}}
check $argv "{{{}}}" 3.5
set argv a{{}}b
check $argv "a{{}}b" 3.6

# Command substitution.

set a [format xyz]
check $a xyz 4.1
set a a[format xyz]b[format q]
check $a axyzbq 4.2
set a a[
format
xyz
]b
check $a axyzb 4.3

# Variable substitution.

set a 123
set _123z xx
check $a 123 5.1
check x$a.b x123.b 5.2
check $_123z^ xx^ 5.3
check a${a}b a123b 5.4
check [catch {$_non_existent_} msg] 1 5.5
check $msg {couldn't find variable "_non_existent_"} 5.6

# Backslash substitution.

proc bsCheck {char num errNum} {
    scan $char %c value
    if {$value != $num} {
	error [format {History error %s: wanted "%s", got "%s"}
		$errNum $num $value]
    }
}

bsCheck \b	0x8	6.1
bsCheck \e	0x1b	6.2
bsCheck \n	0xa	6.3
bsCheck \r	0xd	6.4
bsCheck \t	0x9	6.5
bsCheck \{	0x7b	6.6
bsCheck \}	0x7d	6.7
bsCheck \[	0x5b	6.8
bsCheck \]	0x5d	6.9
bsCheck \$	0x24	6.10
bsCheck \ 	0x20	6.11
bsCheck \;	0x3b	6.12
bsCheck \\	0x5c	6.13
bsCheck \Ca	0x1	6.14
bsCheck \Ma	0xe1	6.15
bsCheck \CMa	0x81	6.16
bsCheck \14	0xc	6.17
bsCheck \x	0x5c	6.18
set a "\a\c\n\]\}"
check [length $a chars] 7 6.19
set a {\a\c\n\]\}}
check [length $a chars] 10 6.20

# Semi-colon.

set b 0
getArgs a;set b 2
check $argv a 7.1
check $b 2 7.2
getArgs a b ; set b 1
check $argv {a b} 7.3
check $b 1 7.4

# The following checks are to ensure that the interpreter's result
# gets re-initialized by Tcl_Eval in all the right places.

check [concat abc] abc 8.1
check [concat abc; set a 2] {} 8.2
check [concat abc; set a $a] {} 8.3
check [set a [concat abc]] {} 8.4

# Syntax errors.

check [catch "set a {bcd" msg] 1 9.1
check $msg "unmatched brace: 'set a  => {bcd'" 9.2
check [catch {set a "bcd} msg] 1 9.3
check $msg {unmatched quote: 'set a  => "bcd'} 9.4
check [catch {set a "bcd"xy} msg] 1 9.5
check $msg {extra characters after close-quote: 'set a "bcd => "xy'} 9.6
check [catch "set a {bcd}xy" msg] 1 9.7
check $msg "extra characters after close-brace: 'set a {bcd => }xy'" 9.8
check [catch {set a [format abc} msg] 1 9.9
check $msg "missing close-bracket: ' => format abc'" 9.10
check [catch gorp-a-lot msg] 1 9.11
check $msg {"gorp-a-lot" is an invalid command name or ambiguous abbreviation} 9.12
0707070035050466401004440011710000040000010751000466276614700002700000003003tcl/tests/uplevel.test# This file contains contains a collection of tests for the "uplevel"
# command in Tcl.  If everything is OK then it finishes silently.
# If a problem is detected then it generates a Tcl error with a cryptic
# message.  To trace the error you'll have to read through the commands
# in this file.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

proc check {a b num} {
    if {[string compare $a $b] != 0} {
	error [format {Uplevel error %s: wanted "%s", got "%s"} $num $b $a]}
}

proc a {x y} {
    newset z [expr $x+$y]
    return $z
}
proc newset {name value} {
    uplevel set $name $value
    uplevel 1 {uplevel 1 {set xyz 22}}
}
set xyz 0
set x [a 22 33]
check $x 55 1
check $xyz 22 2

proc a1 {} {
    b1
    global a a1
    set a $x
    set a1 $y
}
proc b1 {} {
    c1
    global b b1
    set b $x
    set b1 $y
}
proc c1 {} {
    uplevel 1 set x 111
    uplevel #2 set y 222
    uplevel 2 set x 333
    uplevel #1 set y 444
    uplevel 3 set x 555
    uplevel #0 set y 666
}
a1
check $a 333 3
check $a1 444 4
check $b 111 5
check $b1 222 6
check $x 555 7
check $y 666 8

check [catch c1 foo] 1 9
check $foo {bad level "#2"} 10
check [catch {uplevel gorp}] 1 11
check [catch {uplevel 1 gorp} foo] 1 12
check $foo {bad level "1"} 13

proc a2 {} {
    uplevel a3
}
proc a3 {} {
    global x y
    set x [info level]
    set y [info level 1]
}
a2
check $x 1 14
check $y a3 15

check [catch uplevel foo] 1 16
check $foo {too few args:  should be "uplevel [level] command ..."} 17
0707070035050466371004440011710000040000010751010466276614700002100000001256tcl/tests/READMEThis directory contains a set of tests for Tcl commands.  Each of
the files *.test is intended to fully exercise one or a few Tcl
commands.  Eventually these files should cover all of the Tcl
commands, but currently there are only tests for a few of the Tcl
commands.  To run a particular test, "source" the file from tclTest.
If all goes well the file will produce no errors and no result.  If
the test detects problem, it will exit with a Tcl error message
that includes an error number;  this error number can be used along
with the text of the test file to pinpoint the problem.

To run the entire comprehensive test suite, type "source all" when
running tclTest in this directory.
0707070035050466361004440011710000040000010751340466276614700001600000000472tcl/tests/all# This file contains a top-level script to run all of the Tcl
# tests.  Execute it by invoking "source all" when running tclTest
# in this directory.
#
# $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ (Berkeley)

foreach i [glob *.test] {
    print $i
    print \n
    source $i
}
0707070035050536761006660011710000040000011166370466276620700001300000001517tcl/mkfileNPROC=4
LDFLAGS=-lbsd
#
# This Makefile is for use when distributing Tcl to the outside world.
# It is simplified so that it doesn't include any Sprite-specific stuff.
# For HP-UX systems, use the second, commented-out, form of LIBS below.
#

LIBS =
#LIBS = -lBSD

CFLAGS = -g -I. -DTCL_VERSION=\"3.3\" -I/usr/include/bsd

OBJS = tclAssem.o tclBasic.o tclCmdAH.o tclCmdIZ.o tclExpr.o \
	tclGlob.o tclHistory.o tclProc.o tclUtil.o

LIBOBJS = panic.o strerror.o strtol.o strtoul.o strspn.o \
	strpbrk.o strchr.o strstr.o

CSRCS = tclAssem.c tclBasic.c tclCmdAH.c tclCmdIZ.c tclExpr.c \
	tclGlob.c tclHistory.c tclProc.c tclUtil.c

tcl.a: ${OBJS} ${LIBOBJS}
	rm -f tcl.a
	ar cr tcl.a ${OBJS} ${LIBOBJS}
	#ranlib tcl.a

tclTest: tclTest.o tcl.a
	cc tclTest.o tcl.a ${LIBS} -o tclTest $LDFLAGS

clean:
	rm -f ${OBJS} ${LIBOBJS} tcl.a tclTest.o tclTest
0707070035050536561007770011710000040000011170040466276621400001400000624754tcl/tclTest`&�ڳ�`8pPW`@p@P����
7��P.text@p@pl@p .initAm�Am� m��.rdata�p.data��7pt�@.sdata<`<`p�`�.sbss@�@���.bssAPAPf���'�<'��P$���0!'��诠���������![o����>< !���ď��ȏ���>x@ !
�'�� �!�'��௿�� ��$��(��,$������,Ȁ�@!�	 ����(K��$��,<����A0$�\����(�* ������,@��H!�$<AL$�3��(��%l��L* A'����%��ί�A'��!��'� �'��诿��<��A$����'��'��௿�� ��$��(��,����($�
��$��,<���A0$��$��,�$A�����4@�!� !��%*������`��!�����'� '��诿��4����<@%�����<@$��'��'�� <@%�����<@$�8��'��('��0����ԯ�$<�3<3Ϡ93��$<$�3AL'��8<?N$�3<$�3'�0>�$�@�!��$ >x !��0�����'�0��,��,@$��$����$���Џ�,	�0!��(��(��������������'��<�A��($!A'��@<��(A$�쏈���	�*@����'��H�eAA'��P�������'�'��د�����B0$@�!B0$d@�!�$d��!�������'�('��௿�� ���� �B�B� !�����'� '�������@��D������@��DCt��8��8���i��DCt��8���8��!'(��4��4�
I* �`@��,��,��4�+ ��4��,��,B0��(��(�CH�B���(���,���	��DCH	 !�
��8K`!����$�-<�p!��0�1���8$
$��$&1�(<	(H!�)0�1*@���+`��$���	!  !1(!@�!���������'�@'�����$�� ��������B0$ @�!&X�������� �$�(�,�0�4�8�@�<�D�H�L�P�T�X<<&Rp&1	`�/��$Ct@�!B0&�@�!�X�x�`�`��y��%CH&d&1&R�(��!��$���������� �'�@'��௿�� ��$��(���� ��B0$@�!��$���(����(T����0T�����'� '��Я���0��������0��,��,��L7��L��,�	 `��,�RT@�K�D��0`�	B�@ !�R@����,���
�����	B� !�����,���,���,�/(���,�(B���,�*4@��,�d4B���,��4����4��,�4 ����,��P B�  !�1 ����,B����������'�0'��Я���0��4��8��<������0��,��0��4O��4Ct@�!B0&$@�!��8���<���@���,�	�	��,�P��4CH&�������'�0'��௿�� ��$�� ������$	!0!�������� ���	� �	�����K����B���'� �'��8��<��ȯ�̯�Я�ԯ�4��8��,��0��$��('����$ȯ��'�ȯ��$
����������������H�DB��@&IX�I�@X�J%K�K�L)�e <
%�T�M�$���������1��$]��������� '����ԏ���1�*���Kh�,<
�h!��0�1���/$;�&1�8<8�!�90�3(���)$;!���*$#A&1�+`
�,$
�&1&1�-���0��������������!'�������������������4����@���`������
p��x!�����$���/${�&��� ���%K���"���$�����,<�p!��0�1���8����(�)$;!���<
%J�����$}�&�������%��������������	������H�)P!�K$
"�
&����$�������.<�x!��0�1��(����) �*$;A���<%k����������$[�&c��Џ��0�4�&%y'��������������DCt��x�����x��#* B��x���H!*X#%m
������B0��t�����t� !C�0#��t�����#��p��p�!���������9* ������h�M`!����p��!�����%���������i* �����'�M���B���t�����t����`!%�������D��xC�(!��x�!N��� $$�&��� (!�'����l��l@$
����N��DB��@��l�O���&1����&������$]�c$]�&��� ��� T�+�&���@��������@��������,�&I���(&9����&)����&���%j���������%����* ,���`@������B0 ���h���������* ������P���h*p!����!�
���%����������+* �����'��.���B���h������
��X`!�����($
���1���%i���&1�  !�'�d@�!�������d�
�-�
��d&1%X����d&��d���&1����d(�!&1��&o��� <%kЯ��,��� <%�௮�#���$]�	������<
%J����8�&I$;��0.�< &$
��H.� $	��B.�
 �����$
��*��$"��9.�# $ ��-��$$�����${���.�| $\��u.�] $[��U��$]�����$}�������&1���+ @����@������B0��`�����`` !C�0#��`���.x#��\��\
�!���������
* ������Ȁ�X!�i��\.x!�o���%����������* �����'�����B���`�����`����X!%m������t�JL1X����(����%������� �NH�y������h��P!�@���@ !�	!$���������(!�0!��ĎD<<��$�0A0$�$���b������%.�n�SP`$�o�M�* �*��[� ����d�F���������į������n��ȏ����	��[�+�s`�����1������J<�Q@�@<�HD%�XD�LL$����$�YL�I �DB��@&NX�N�@X�����ȍo�����čd��	�������	����Q�(��������'�����B����'��.���B��K%o���O�M�4���$A������#$ ���(!�0!���$<%�L�L���$!<	%)p�I&NX�N<���$��A0&DX$����OL1���������$A��HL1�$�L���������$
!�N%��K&���������<
MP!�J0�1H��$;��$
��Y')�I&���<nX!�k0�1o�����$;���'��`��L���C�$
@�!����Ct��T�����#��T���'��d��L��T)!) $(��T'��l��L�OL1�� �DCt@�!*�2 
�F�����L<��T$��'���A0���F�����L<��T$��'���A0��	��L<��T���$��'�A0������'��IL$��!p$�NL�KL$��ax$�OL���k���(!�0!�����H��H���H�X��$
��H%�����H��H���.�+��$
a�������D��D��$
��D%X��D��D�� $
!�������H�X#)a= ���%��į�H��D��H
�#+G ��H%�F��D��D��H��D���A0'��t����D��H��D<����@#��$�	��o8#A0��$
�������<��$��(��,��0��4��8�'��'��د���(��,��0��4������(B0$@�!��,���0���4��9P��0P!�������'�('��Я���0��4��������0��4�P��/�PB�  !�P@�X�9�YB�  !�R@�����������'�0'��ȯ���8��<������8�L1��+��8<$�	0�$��(��('��x��(��(Ct��0��<Ct��0@�! !B0$���,��,��(CH��,��0��<CH* !��8<��,$�	<9$�L5l�L��8<��<$�	H9$�������'�8'�����$��H��L��P���� ������L����H�!�� �8��LC|&$@�!`�9���H�	�)��H�QC ! �!�1 ����P`8!��H<$�	T�$��0��0���$1�(!��LCt��4��8��H�!�� �/���L��4C�&$@�!`��8!��8 �!�1 ����8��$�������� �'�H'��ȯ���8��<��@������8�$� !
�$N !��<<��8�!�90�3(��<%*��<��<<
�l�h!��0�1������<����8(!�0!U!�0'(�0�	,%*�
,�,�$l* �,�,�
(x���!��<Ct��(��<��($
@!�	��!
��(%K����(��<��($
�h!���������(  !)$��$��<��(D��8��(@!���@$��!!�
8��,��<�8��@��8��<8!y4���$��,�8��$�������'�8'�����$��x��|���������� ������|���$� !�'���@�! �$�%� !��|�%0!y8!���������k����Ct��l��k$a!@�����l�DC�'���@�!@8���$a$a	����<��A0$�	�m$���$������Ct���@�!��@0!C�'��`@�!`	����<�A0$�
$S$�����|�%	�0!L�����|�	�$��E��k$c!>�����l�DC�'��h@�!@6���$a$a	����<��A0$�
�*$���$�	�,�(��؈!� !��� !�%�@�! $����Ct@�!&E)  !����$�%CH!��k$eA1�����l�dC�'��p@�!@)���)� 	����<��A0$�
��$���$�'��x����� !�@(!@�! �$�%� !��|�%�$�!��k$i�����l�$C�'��|@�!@���$$	����<�&A0$��$���$A!���'�L�d7�0!@�!��X�����L���	����<��A0$�L�$��X�$8* �$��X�	$��X��l��P�$�
,��XKh!�x#%���T��P��X* G��T�	$	* ��T�$Kh#��T��T�(p���!���\��\Ct��l@�!H!%*	��l��\C�$
��\��\`��l%���l��\%���\����T�(@�H!�$Ct��l@�!RX!%m	��l��P��T%�%���T��P��P��X* ����lB0$���\��\�	$
�
��P�
$�,��Xmx!�p#%���T��P��X* n��T�
$** ��T�
$mx#��T��T�(����!���H��H�*@H��X��P�0mx#��\�0#$�A0'�����\%���\��HC�$
��D��D��D��H	P#%K��@��\��H��@D���H��@�x!��H��\��@��!��\��\$	�(��\%K��\����\��HCH��\Ct��\@�!�p!��\��\$
����\'8��\��P��T%	%K��T��P��P��X�* ����\�����!��k$k�������l�$C�'���@�!@����$	����<�A0$�`�$���'�0�$7�0!@�!��<�����0�mM��<)�� �	����<��A0$��|$��<B0 ���,��<�$�* �,��<H#%+��4��4A��4�$�x!��4�,%���4��8��8��<* B��4�$+* ��4��8�
$M* ��4�(��8H���,	X!`��a�j��!�!�*��4�
(p��`!��B0$(��8��,H�@�!	P!�R��8��,x�/h!������8��,H�$(	P!�L��8��4%y%���4��8��8��<�* ����8��8�	$	* ��8�(
X���!�/���8�
(@���!�B���8%*��8��8�$�* ���(B���,�(��<�$�* ��<%����,�$'	���	,��<�
$�!��k$n������l�dC�'���@�!@���$!	����<��A0$���$�0�'���A0$��!��k$r�2�����l��C�'���@�!@*���) 	����<�A0$���$���$!'�������R !�@(!@�! �$�%� !��|�%0!y8!���k$s�4���<��l�dC�$��@�!@+���+! +! 	����<��A0$�i$���$�'�������� !�@(!@�! W$����%��� !O��k$w@�����l�$C�'���@�!@8���$A$A	����<��A0$�D4$���$a'�������2 !�@(!@�! "$����%�� !��(��(�$��(� !��(�
$�!����<��A0$��$��$�������� �'�x'��Я���!��$��0��4�� ��4�$��4B0 �@�!�(��,��,��4�*  B0$(��,�(H�@�!)P!�Q��,�(h�mp!������,�(H�$(	P!�X��,%���,��,��4�* ���,�0<@$�(� !'���8!����$���� �'�0'��௿�� ��$���� ��$���* �� �$B���$B0�� @�!���$�� �I�����'� '��د���!����(��,������(�!��4 @��8* ��((* �	�)�
�*��+�$B���,B� !3�
�.�* ��8* �B�B� ! ��((*  �!�1 ��@��(�*4�
��(�p4�L��P���������'�('��د���!����(��,�����<��8�"B0$@�!�<�8@#�(�	@�
8*X#%l���,��,Ct@�!�2�$B0$�@�!�2�$��,CH !J (!���������'�('��ȯ���!����8��<�����<��8�O�<��0�@��,��0�	8	B��0%K����0��0$[�����0<���!�0�3 *����,$]�	! B0$@�!��0�8K`#�,��,�8�x#�/��<��$$u'�$@�!�2�$Ct@�!�2 !J (!���������'�8'�������!��$��H���� ���4�f�,�(����!�DCt@�!��4�4 �(�)��4	P#j`#%�����4��4�8�x!��4�1 ����4B0��<��<��8��0�4 ,�(��0	X#��,��,@�L��0��8��,D��(!��8��,�x!��8��8�%�&D���8�((H!��8�+%j��0�$B�B�  !�1 ���L��0��8CH�(!�DB���<�N��4�X�4��$�������� �'�H'��诰��!�����8�4��4��B��4B��4��4�4�������'�'��ȯ���!����8��<������<<���!�0�3 $-�M��<'�,7D0!��4��,�	 �<��<A0$��u!��4A��4�0lh!��4��4�0* �<��<A0$�
_!�0�$��4�H#9*  �<��<A0$�
(O!��4�0�
,K`#�p!��0��0��0�$�H!��0��0�(
X�;+!��<Ct��$�
,%�����0��0���0�$@!��0��0�
,*��0�(h�-�!�$��<��$C�@�!@�$��<}@ !��0%����د�0�<��<A0$�
P!���������'�8'�������!����H��L��P��T����PCt��4��TCt��0��L��D��8��D��P88��D��D���D��4@!��D��8%*��8����8`�<��PA0$�
lP$��LCt��0��4��8�p#�@�!�8�!��,��,B0$���<��<��@��L��P88��D��D ��@��LCH��L��D��@@(!D�j0#��D��L��@�x#��!��@��@��TCH��@��0(H!��@��D��4j`!��L����<� !��< !0!y8!��(��<B���(�������'�H'�������!����P��T��X������,��8$����4��X$$��
��X�($	����8^��X<�K�`!��0�1��Q��X'�H7�0!@�!��8��H�����8��43��H$-�(-��H%*��H��H$$�l���H%���H��H<��8�!�90�3(	��H'�H7�0!@�!��4���H�*@���8��4�* $������X��,��TCt@�!B0&D��L��L��@��T�/<�!�0�3 
&1�(<	(H!�)0�1*@����0�+`n��H  !1(!��D��D�,<
�h!��0�1��
&1�/<�!�0�3 ����8��0(* $���*@?��4$��a��0l* 4��,���D����#��D���H��,}��$��#��D�9��$��@��LK��@$ ����@%���@��H��D��@(!D�80#��D��H��@(P#j`!��@��0%���0�/�����@� ��4��0	* ��8	* ��LB��<��XA0$�
�
!��L
�<��XA0$�
�!���������'�P'��ȯ���!����8��<��@��D������0�<�x!��0�1�
&�<@!�0�1	 ���
${A$��0&��L���0��L���!�2���0���0'��0���0$G0H#��,&1�*<jX!�k0�1l��-�y��$��$���!<�!�0�3 &(�+ ��$%*��$��$�l�<
�h!��0�1��&8x+ ����8(!�0!��8��$<�$$�� 8!A0�0#g$��0��0%*����07  !�'� �� ,�!&1��.��0�0x#��,)$��0`��8<$���0!?$0�#��,@��$	A��$
A��$ A��$\A��${A�p$}A�w&1�g�9<�p!��0�1�
&1�)<
IP!�J0�1L�����@����D����H`��,��H�8!���������'�8'��ȯ�����!��!��$��8��<��@���� ���8� $\A !�'�0@�!�3��0�!&����8��0@#%	��8�2��8�&%K����8&1��8���� ��$�������� �'�8'��P��$���������� �������)� '�`��\���B0 ���\��X��D��D���* ���4��8��<��@�!��,��0��D���	P�
X!�p�${�6R�
�6R��J��@%���@��<'��<v��@%(��@��<%K����<l6R��0%���0e6R��,%���,^6R��4'��4W&�	 R�${
�
$}A	�$[a�$]�6R��8%���899$\a��.a] !$ a��.a! $	a��.a
 `��!$
a��$[a��.a\ $$a��${a��.a| $]a��$}a���}&��D���Ȁ�H!�(��XP#j`!��X��<���@��8��4��0�x!��,�H!��X(X!j`!�p!��X$2X��X%���X��X%(��X��D��\
h�m`!����D%���D��D����* �0��XB0$���T��T��D��D���(* ���D��\h�M`!��2N�${�8&1��D���H��@!��`u2J@i�5$
\�-&1a$\�,&1$n�.]$\�8&1$t�9V$\�/&1&�	${!
�$}	�$[a�
$]A$
\�-&1��=2$\a��.a] $$a��.a% $
a��.a $	a��$ a��$[a��${a��.a| $]a��$}a����.&1&���2Y $}�/&1$	 �)&1��D%��D��D���M* �d��T,� � ����\'�`���\B���T��$�������� �'��'��ȯ���8��<����$��4��0��0��8�* ��0��<H�)P!�DCt��4@�!q`!%���4��0%���0��0��8* ����4B0��(��(��0��0��8)* ��0��<`�Lh!��CH !��0��<���@!�Ct@�!�!$ �&��0%+��0��0��8L* �������(�������'�8'��ȯ���8��<��@������8���,���(��<�X&X��/��@��<�	�%��@$A��<�$���<Ct��0��0)�� 
��0B0$�@�!�$�&X�����<CH��,��(B��������'�8'���$�$�����$��$���$
���$
���$		���$���<jX!�k0�1l����$C��$���$����$M!$���<	(H!�)0�1*@��`$
���$
����1�5�����$����1	���$���<jX!�k0�1l����$M��$���$����'(�����������<jX!�k0�1l�-��%���$���<�!�0�3 ~$������	P�K`!%���$���<�x!��0�1�k$������H�*X!%l��a$
\��$��[$]���,�^ -$C��c,�D $$���,�% $"���,�# ��$ �����$;�����$[���,�\ $M��|��$\�����$r��/,�s $e��!,�f $b����$n���${��w,�| $t���t$}��l�o�m��������'�'�������@��D��H��L��$��D��4���<8�!�90�3(��4%*��4&�`����4��Dh�x#� !B0$���<��4��<@���0�!��D�*@P��@��D'�('�$����'� L'�D��,��,���<B���,H�� ���4��0��48* ��@<$�d�0!3$��0��<	P�
X!�p��$��� ��(D� !��(�!�&	��(�� ;0!��(
�!&��0%���0��D�	 ����<��L�H��0��H��!�����'�@'��د�����!��!����(��,�.�	���$�!��9$*!�!�($*&1�) �$�
@
 !} (!@|$&�`��u!�,$?�i�-$[�S&1�.$]��/�`!�8�.�($-'�)��'��'@L!�+��+ 	��'��+ �/��+ 	��'�+ &1&1���)$]!�*@
&1�+$]a�,����-$\�&1�.�!�/��!&1&�\�������'�('��د���(��,����(�<�x!��0�1�
&�<@!�0�1	 ���
$"A&�$\a !�'� �� �!�
$\����$"���8�${�4$���� .&�$\ !�'� �� 	�!�
$\A���$}a��%������${���%���� k!�����	$[!$&�
$]A�` !1$@�!�$;�&�
$]������$]�&�$[���$\!�$
& !�'� �� 	�!�
$\A���$;a��(&�
<�p!��0�1����$]!��,&��!�����'�('�����,��h��l��p��t��(�� ��$������l��p$�	��t�<��A0$��$B0$@�!�0��t�Ct@�!B0&D@�!�3��t�$�%CH� ��t<	@�%)w���l<@$�s௩ 8!��t��l�E'�X�'�P��\��\`��\���T��T��X�* ���T��P����!�%��l'�D�'�8��\��\���D)! ��T��P`�Lh!���<A0$�D$��\o��D�	��8��(��t�<�&A0$�t$��\Y��8�DCt��@��D$�	��8��Ct��<��<�/���@��<� !B0$�@�!�4��@��<( !B0$�@�!������8&��%CH��D$a
��@�`!%�����8����CH����<��������8B���T'��T��T��X	* �v��PB�	!��PB���\��,������ ��$��(�'�h'��௿�� ��$��(�� ����(����  ����$
$�������$� 
���� !���K1l�����������3 !�����'� �'�����$��@��D��H��L���� ������@��L��O �&Q�Q ��D
  !@�!��D��HE@�!�8��0.�3(���HCt��0��0�
I* �1l��B���0B0$�@�!��
5����0����HCH�$���$���$�������� �'�@'��د���!����(��,��0&�${�&&��$�$}��
&�$}!�����0 
�
@��0&����0��(��$�<�x!��0�1��$_!&�<	(H!�)0�1*@���$_a����0���0����$ '��В��#���(��$�0!������((!�0!��(<��$�$A0$�D��#��������'�('��௰��!���� ��$��(��,��($���, !���0!����	��,�<�&A0$�d$���!��($!	��, !�E�F98!!��,�<�fA0$��$�����'� '��Я���0��4��8��<������4��8)� 	��<�$<��A0$��Q$�8 K!��8��<'(��%*��<��8��8`=��<&$��
��$��$���<'��ԍ�E��$�/��$���$�9��$�	5*�
��<'��؍dE@�!�5��
��$��/ ����9 �0��8��<%*��%��<��8��8���!�������'�0'���������������������������)� 	����<��A0$���$������l��l$#�	!��l'�p$
7�$�@�!��x��l��p%lL�M�����%���������'���F��l<�	iX!�k0�1l�(��l'�p7�$
@�!��x��p��lM�N��� ��� ��x�(H#��x���%l��������%����� �k� ��'����x���%	��������%l����
 ��h��x@� "��h��d��d���d��x�(
��d�+��d��d�����d�5��d�
 �����\���$�
�������0!y8!��t������(��\�����\0!y8!��t��t$!
���<�$�(A0'� ����'� ��h�	 ��t
�<��lA0$�D$�������'��'��௿�� ��$�� ��$	!0!�����!��<@��'9s�!�����'� ���<@%�s����!�'��௿�� ���� ���1��B�B� !��������'� '��8����!��$��ȯ�̯�Я�ԯ� ��������������n �	�o ��'���$����������������k����l ���'���m'���n ��ԏ�Ў%�'(����Я�� S�) &$C|'���@�!����A��Џ�Џ��u������E&$@�!���B�����K������1�������������/��8�����Ԏd<�'$�XA0&&$���Q���E&$@�!����I�����ď�Ў1%K%�����Я�� ��������Ԏd<��A0$��$���2��̎0!y'��������$!���%���$
���<�g�&$��A0'�,����'�,���$A<%kȮk$���
���$�<%��n$������@�X3 �DB�B�@ !�R@������h����i �����$���������� �'��'��د���!����(���B�� �.1���$B�B�  !�1 ��B� !�������'�('��ȯ�$��8��<���� ������<����8�!�� �8��<C|&$@�!`�9���8�	�)��8�Q
 ! �!�1 ��!��$�������� �'�8'��د���(��,����(Ct�� ��,Ct����)� $���� �� !B0$�@�!��(CH&�� H!%*�
���,CH������!�����'�('��诿������ ��$�� $�
����$<���A0$��$$��'��'��X���������������������)� ������<<���$��A0$���$����(���������'���$C|@�!$
���$����������* �������%��
������<�$�A0$�8�$������
X�+`!���-��.<�x!��0�1��9$\!&1�(���*@'������`�,h!��$d���� !C|'��@�!���'���������
X�H!�%���}@���%����J>����������!�%���'���'��������@���^���������* ������h�-p!�����}@���%�������'*���������* �����B��������* ���%�����������* �e���  ������X�K`!�����0!y8!������$!���������x���!�<�'$�`A0'� ����'� ���!�������'��'��௿�� ��$��(��,��($�
$�
��$��,<���A0$�x $��,��$�%0!y8!����($��$��,�&�E8!9  !��$(!�0!��$���dA0'��!��'� �'��௿�� ��$��(��,����($�
��$��,<���A0$��$��(��,$���($���$@�!�0��$$�(!�����'� '��诿������ ��$�� $�
����$<���A0$��$$��'��'��௿�� ��$��(��,��$����($�
$�
��$��,<��&A0$�$��($��,��$�%����KL5l�LL��,��$���$$��'� �'�������`��d��h��l��h)� 
��d��l<���A0$�8/$��h$!
��l��d�0!y8!��\��h��l$���($���X��d��X0!y8!��\��XB���\$!
��d<�F$�lA0'���d�'���\��'�`�'��������������������'����쯠�$������������$���������** Z������h�mp!������������@�H!�*$<�L��K`9���%�����������* 	���<����A0$��$������	`�P!�K��쏭�%�����������* ������	@�`!�������%m����������* �����')��������'���������L* �����%m�����������Ȁ�H!� ���	���<����A0$���$������E*���������$$��$
��$��$����ԯ�د�̯�Џ��Ct��菹�+! 3E4'��@�!����8l���@�!<����$$��A08!$���@��؏�쏦�E@���@�!����8l���@�!<�D$�A00!$���)���EH$�����R<$�TCH'��D�'��'��$EP0!��ԏ�������8l���@�!<�����$�dA08!$�����ԏ�쏦�E@���@�!����8l���@�!<�$$��A00!$�������(!D�0!@�!$��EX'��@�!$��!����8l���@�!<�$��A00!$
����E4'��@�!���<�����A0$�$����E`������$�������8l���@�!<�����$�4A08!$������� ?���=�(!@�!$�����=�$@�!$��!���=�$@�!$��A<	%)d��(��(Ct@�!��Џ�(E@0!El$���EH���EH���EH������E{���<�$��A0'�0Ct'�0@�!0!$E@'�0El$���EH$����ԏ��EH$
����Я�௠�$����ď�܏��mp#)�d  ����$ȯ�����	�@��܏��B0��$���	��䏥$���C����B���$��䏫���܏�䏤��0#$���F�(!��ȏ�����������8l���@�!<����$$��A08!$	���������P!�������䏭��X!�`��䏯������$�9���$��+F '���� �� $��
���<�DA0$��$���
�� ���������$�1�����<�$A0$�$	��ē����ď��$�����EH���$��A���EH���$������EH���$������EH������������'��'��௿�� ��$��(��,��($�
��$��,<���A0$�($��,��$�%=n'�������
��$���$A0'��!��'� �'�������X��\��`��d����`$�
��\��d<���A0$�T�$��d�$Ct��P��d��\�*���$��d$d�*�Ka+��P@ !C�'�� @�!$��$D�$/��T��T���\'��(����T��$���\'��,���T� ��\��$�$��T$/�K�!��d$r�����(��P)� #<$��� !C��0!@�!��$D�$.��T��T��\��$�$��T� ��\��$�$��T$.�(S!��d$e�j�L�'��P)� "<$��@ !C��0!@�!��$D�$.��T��$D�$/����T�����+ ��\��T�$%!��d$t��(��P  !C�'��0@�!��$D�$/��T��T ��T��\$�$���\��$�$!��$`�$��d$r���N�"��P)� <$��@ !C��0!@�!$
��L��$��LF,@�!$����\'��8���\'��<�9�!��d$w�l���
<��P$��C�� !@�!$
��L����d$e������P) 
<$��� !C�0!@�!$��L����d$e�+�n���P)� ` !'��@C��0!@�!��L����d$o�O����P� !C�'��H@�!��H<��d$i���!��P)!  !'��PC� 0!@�!$��H$��d$i�l��A��P+ 
<$��� !C�0!@�!$��H��d��\<�&�'��A0$��A$��$F4'�(@�!$����\'���(5!��HF<��2@�!X&-k��L��.1L�9��/��L��.1��9�@/9��L	��$��$����L��\'�������\'����K!�����'�X'�������`��d��h��l��h$�
��d��l<���A0$��{$��l��d�%0!y8!��\��\��\$!��d<�$�ԏ�\e��l��d�E=n'�X��\��\`��\X��X�@��l��d��0!y8!��\��\$���\��\���\$
��d<�&$��A0'���d�'���l��d�0!y8!��\��\$!��\@��\$a��d<�$���\����\$���\��\���d(!�0!��\��'�`�'��p�����������������$�
������<���A0$�$d$�������%'���'�����������V���������** ?���������
p��x!������e98!�������0!y8!������  ���$������$!������$A���<�f$�\A0'�����'�
���%�����������* �����B�������(!�0!�����'���'��X��$���������������� �����������X��T$ǯ�P���+! 
������<��&A0$�xo$���%K��H���%�������������A'�|��L��\��t��x�$%.��l�!�$%! ��	$\! !�'�<@�!�S��<
�!��K&&R�$%��
�����lNx#��p$��L��$%!	��l$��p$	��L&�$
%�*&1&�$-a$-�,&1&�
$0�$0�.&1&�<�!�0�3 A� !��x&�<	(H!�)0�1*@���$*a�������H��A���x���%��������H'��H&��x��x  !A0'����) &1�*@���$.a$.�,&1&�
<�p!��0�1��A� !��t&�<8�!�90�3(���	$*!���@���H�dA���t���%��������H%���H&��t��t  !A0'���9 &1�(���	$#!$
#�*&1&�$la&��,&1� ����W�|��H'�4��7D0!��l��H����4�(
�����H<�$�FA0$��@$(��p���H����l��H��Ct��p���H'�0��7D0!��l��H� ��0�	 
�����H<�D�fA0$�$��p���H'����D�'�`@�!$a
�����H<����A0$�0�$��\$@��p��t) ��p��t*X!��pm���<%�h������<���A0$���$da��.ae 1$Oa�}.aP $Fa��.aG $Da�q.aE `����$Ea����$Ga����$Xa�].aY $Ua�W��$ca�~��$oa�M.ap $fa��.ag $ea����$ga����$ua�7.av $sa�P��$xa�,�������%��������H'(��H&��x��pI* ��x��p��T��p��P�p!�* !��T��p@!H@��(��(B0$���,��T@��X��,��TC���P$�a��XB���,��X��(��P��L���X��T��l��pC��(!��T��p(H!��T��X��TK`!����\�
��X��T��`��d'�|A0� !��X��T��l'�|A0 !��X��TCt	 !��T@�!SX!��T������X�������P���9��//�!������<�$�FA0$���P$�a��XB�$��$�������� �'��'�����!����0��4��8��<��0Ct��,���,��8��!@!%	��(��(�j* &�h@������(�* ��(����B0�� ��� �C�� �B��� ����	$
�
��lh!��$����$$ ���$'(��$�	%*�
��$��0CH��$��,lh!��$��$��4��8D���$��8��!���8��,�
(H!IX!������'�0'��H������������������������������ $/!!${!�������$}!�������$*!
$[!$\!$?!$�����&��� p������<	%)$�I_$���Ct@�!&K������)�� '�̯�����B0��ď�������#�����ď�����D��������$}!7&��ȏ���	$}!�
$,A
&�$}a�$,������
p#�����ď����ȏ��D�� !��ď��������(H!* !CH$���������ď��(�@�!@$�$}a�����)�� ���B��!��������F4'��@�!@���$@1����!���=�����������8l���@�!<����$$�HA0@8!�$���Ct������H#������)A� '�������B0$�������������D��������p!��������=��������Q���$.�!	���$.�	!��������}$�@;�
@	��������ąf(|%e/���������x!%�+� '�௹�	�������*
 !B0$�������������'��`A0$����������(�&������'��m���B����������'�����B����P�	��������� (!(|0#@���Ct�������P#*X!%m������)�� '�$������B0��쏤쏥�CH�����쏸� (!0#D�� !��쏪�$/*X!�h����쏬��p!���������쏧�(�&������'�$����B���� $!���������'��'�������@��D��������4��D$~�����D���D$/�! Fd'��p��<��<	��@<��D�$A0$�p{!��D&E��D&�
@�$/a
&���
$/�����Dx#%�����8��8���h(* ���h%*����8��D���l��8C�$����l��8lh!�����lF@��,��,�	��@<���l��A0$��9!��,���<$��4��<Ct@�!Ct !@�!2H!��8��8���hK* ���l<
%�AP����lB���8%����h���hB0���l���l��<CH���lF�(!��4F����l���������'�@'������������'�)���$ǯ��������$��$��$��(* >��$��
X�+`!������$~�������*�����S$��$/�(
����'��x'��(�$��� ����'��|(�'�� �� @,��$%+��$��$���* ������
��<��A0$��$�� ��� 
������H��$	�i�������CH
!�������B��� ��'��'����������������������������l���+ 	���<��l�$A0$�X�$����	��|���%K��������%�������$t����Ct� !���@�!�$0!C�'���@�! 	���%	��������%K����������������x���'������'(�������� '��ԯ�t'���$e�l���Ct� !���@�!��0!C�'���@�! 	���'��������'(������$!������K��t��x��p�����|=n'�d��h��h���h ��d���t��p�����p0!y8!��h��h$�
���<�&$��A0'� ����'� ��h�������'��'�����$��H��L��P��T���� ��P)� 
��L��T<���A0$�H�$��T�(��D��T�$A���<��T<
�K�l�h!��0�1����<�
��L��T<��&A0$���$��P$F��< ��L��D'�8'�4����'�@L'�D��0��0���0k��<%�����<��<�����8+� 
��8B0$���L@�!�0��L$�(��4@��L��@��8�eC���L��8���x!����L��8��@�;7��P$!1��T�Ct��T@�!�$0!C�'���@�! 
��L��T<�D�fA0$�� $��DCt��8��<��8�* ��D��<��L��!��	�9��L�K�`�U!��$���� �'�H'��P������������������������)� 	����<��A0$��/$�����(�������$Ct������$aA0�������dC�'���@�! (���$�	����<��A0$�(
$��� !����������	����<�A0$�X�$�������(������=���$b!(�������DC�'���@�!  ���$a	����<��A0$���$��� !�������������������!���$c!!���<����C�$��@�! ���)! ���$A	����<�fA0$���$��DA0'����!���$c�#���<�����C�$��@�! ���)� ���)� 	����<�A0$���$$�����������$d![�������DC�'��@�! S���$a	����<��A0$�0b$��� !�����������W����������� 
����<��A0$�pD$�������$C|$�@�! ����K`���������� !98!'���	��� !��'��98!'���!!����(�̯�����$e!,�������DC�'��@�! $���$a	����<��A0$��$��� !���0!��4��4��$1��$0��	� �!���$gA�������dC�'��@�! ���)� 	����<��A0$���$����������$l�+�������C�'��$@�! #���+! ���) 	����<�&A0$� �$$
���� `���� ���������$l����������C�'��,@�! }���+ x���$!� '��4�	�
 ��FA0'��8|!���$aY���'�,��7D$
��0�����,�����	����<�&A0$� 8`$��0
�	  ��� ��0�lLp!��0��0�J!�
 ��(��(��(��0�(	
��(�j��(��(�����(�����(����u@�!�$
�
 !����<�A0$� L$���$p!�������C�'��<@�! ���)! 	����<�fA0$� |�$$
�������F���$t����<�����C�$� �@�! �CH'��D�!���$v�'�������C�'��H@�! ���+! 	����<�A0$� ��$����	  �����
 �L���
����<����A0$� ��$���$��������<��<'�D���$��@��������@+��@
`@��@��@B0 ���$��������$C�0����'�D����B���$������$$-���$!�������@
����+������@������N���������Ȁ%��@!�����+���-���$A���������3
�
����/�����������  �����������%j�h!������/�����<
������p�.`!��}(!@���'
����s������u@�!�$
�
���'�D/���B�!�������'��'�����$��@��D��H��L���� ��H)� 
��D��L<���A0$�!pW$��L�(��8��H$!+��<��8�K`"��D��8'�4'�8��L����0��0���08��4�����<%���<��8�(����H$!��L�DCt��L@�!�d0!C�'��P@�! ��8Ct��<����D��<��A0'��X!��$���� �'�@'��௿�� ��$��(��,����()� 
��$��,<���A0$�!�$��(��,$���u$���$@�!�0��$$�(!�����'� '�����0��4��8��<������8)� )� 
��4��<<���A0$�!�l$��8$!<%3��,<��8$! ��<�DCt��<@�!�d0!C�'��\@�! 
��4��<<����A0$�"H$��<'��d��H ��,��<'��h��H ��,��,����8l��4��<@�!<�$�$�"4A08!($��<��,�$AL��8$A<?N$�3��(��,?��(��($��a
����8l��4@�!<��$�"TA00!$!�������'�0'�����$��P��T��X��\���� ��X)� 
��T��\<���A0$�"tI$��\�$A���L��\<�	�*jX!�k0�1l���L�
��T��\<����A0$�"�*$��\$e��(Ct  !��\@�!�$0!C�'��l@�! $
����H ��\�dA���H��\<�����x!��0�1���H
��T��\<�$�&A0$�"��$��X$AN��\�dCt��0��0�	��\'��p��C��0!@�!����\��Ct��0��L��0�* ��T'��x�(�!��\��L�*Kh!��@��H$�����0�* ��0��H��H��L* ��T'��|�9�!��\��H�Km`!%���<���X$��L��\��0���@��0��L)* "��T��@'�4'�@��L����D��D@��D���@�m���0%���0��0��L�* ����H$����T��@�$g!��H��L)* ��T'����j\!��L��@��0��<��0��H�* &��<� ��T��<'�4'�<��L����D��D ��D=��0%*��0��0��H�* ��<�������<<����@!�0�1 ��<%*����<��<<�m���`!��0�1������<����;��<���T��@�$��;��<�9!��$���� �'�P'�����0��4��8��<��������4��$��8$�
��4��<<��&A0$�"�[$��<�	�*@��<��4�eOL!��<��$��	!0!@�! 
��4��<<����A0$�# ;$��<��$��	!0!@�!
��4��<<��&A0$�#H*$���$�(��<�DCt@�!B0&D@�!��+��,�
�-��$���/��$���<&$�%CHB� !!���������'�0'��诿������ ��$�� )� 
����$<���A0$�#x$�� $!��$����$$��'��'�����,��h��l��p��t��(�� ��$��l��d��p)� 
��l��t<���A0$�#��$��t�$Ct@�!&H$��H$��d��t�Q�+`��,$%��&1�-$*�$��h&1��h�/<�!�0�3 
&1�(<	(H!�)0�1*@����h`���l$���l��t<����$�#�A0$W$��l'�t���#���!��l%	��l�24$
d�
$�w$s���d�
p$c�$�j$F�$�d$f�$	�	^$
s�
��d�&1�,$]���R��l<�&��A0$�$$$dA��.Ae '$OA��.AP $EA��.AF $DA����$FA����$[A��.A\ $XA����$cA����$sA��.At $fA��.Ag $eA����$oA����$xA��������d���!��d&1�9 �8��l��p%	*��l<%k��$��dB0��`��T��d'�t��T��l�* ��`��d��!���d�		P!��d��T&%l��T��T��l�* ����t���������������|�������D�����\��\��l** ��\��l��T'�t��T��l�* n�R�'�2��A0'�����T��tȀ�@!���l'�298!Q�	'�2�&'���A00����T��t`�Lh!����l'�298!@��T��tx���!�%��l�98!5�'�2��A0'�����T��tP�*`!����l'�298!$�
'�2Ť'���F!�D0D8A0��T��tx��!�%��l'�298!$FA��$cA��$dA��$fA��$sA����T&%��T��T��l** ����`B���l��\��A0'���!��,�� ��$��(�'�h'��H�������������į����$�
������<���A0$��u$����%*�������i$���(!EP0!������!
������<�D�fA0$��W$���H�'��@�!$��
������<����A0$�؏��EHD$���B0$�������������F���@�!
������<���A0$���EH+$���EH������(H!� ������0!y'��������$A������$a��ď��<����$�A0'�����'����B���������'��'��ȯ���8��<��@��D��������@$�
��<��D<���A0$�,�$��D�$Ct��4��D��4�C�'���@�!@��D�$�%C|��(��(@��<'�����
��(���<'�������<'����8{!��D��4�C�'���@�!@$	��$1��D��4�DC�'���@�!@��$&��D��4�dC�'���@�!@��D����}@�!@��<'�������<'��įI!��D��<<���$A0$��?$$	����(��D�K�q��D��Ct��4��D���� ����D��4�C�(!@�!@
��D�(H#��(��$@&�`����<��(��A0'���!���������'�8'��x�������������������$�$���#���$���'����$D�'��@�!$������<�&�'�A0$��j$
������<�D�fA0$�_$'�tH�'�d����������$��������0!y8!��|��|���|$
���<�&$��A0'�����'���|:���%	��������@��'�lH�'�d��l��t��plh#
q�p#p��p!q@�p!��xp��p!q���#�@!��`��`D� F�!��\�X���(!�0!���ǩXD�PǨ\F�T!���<F0D��D$��D�D�A0!�����'��'��Я���0��4��8������0�<�x!��0�1�
&�<@!�0�1	 ���
$-A&��4��87� !@�!X#��(�$+�&��4��87� !@�!��(��(�
��4�	�����0��4�8��(�������'�0'���@!���8!��<�x!��0�1�
$���<
YP!�J0�1K`�����$0�$���$x�$�$$��$$

$�
��$0���$x$�$���%)��-! ��)@!$
����$�K$
���%)��-!
 	X�hX!X@i@!$����$�6$���%)��-!K <)!�)%-! i�@!$����$���%)��-!K <)!�)%&+ 	x�@!$����$��� �8!���!�'�'����0!�@!��&�!�������8!�`�!�	��%I$����@!$������!�'�'��诿���������* 
���<ȀY!�B&8<<��$�.�A0$�A�<$BA���'��'������0!�8!����$-$����$���$��$0Q$���$x4$���-0 -: 	���(H!%*�Я�-a -g 	��a�h!%�����-A -G 	����!')�ɯ���-0 -8 ��
X�h`!%���$���-0 -8 ��-0 -: ��x��x!x@��!'��$���-0 -: ���������*�'�'�������!��$�������� ����2<�p!��0�1��&1�2<�!�0�3 ��&(�$��AH$ $
�
�!7@�!�  !8�&@�!��!�� (!�&������`�$���H���!���8�'��@�!������������2����(!�0!��<����$$�/�A0 0!�
�R�$�!��&%$y&����`�����%��
���H����(!�0!|!��'���8�@�!�������	)�*@��`����<��$�0'�(A0&&�
������'�(�$X$��(!�0!R!$�N!$�J!$�F!$	�B!$	
�	>!$�:!$
�
6!$�2!$�.!�3&-�
$
�&.�$�
$�	$<a��$=a����!�3&)�	$�&*�
$�
$�	$=a��$>a�����!�-$=�&/�$�$��!�($=&)�	$�$
�
�!�+$&a&,�$
�
$��!$��!�8$|&(�$	�	$��!$
�
�!$���!&,�$
�
�!$4a��.a5 R$*a�W.a+ &$%a�Y.a& $!a��.a" `����$$a����$(a�4.a) $&a����$)a�-��$0a��.a1 $-a�6.a. $+a�,��$/a���$2a��.a3 $1a�{��$3a�v��$=a�\.a> '$8a�k.a9 $6a�e.a7 $5a�_��$7a�Z��$:a�.a; $9a�O�}$<a���x$^a�Z.a_ $?a��.a@ $>a��g$[a�x�b$~a�V.a �\$|a�B�W�U��$�������� �'�'��ȯ���!����8��<��@����8��4��$��89(!��0��0���0(�$��8(!;+$����0��0 ��0�$
��8(!�0!��8<��$A0$�0L$G�
$A$��)� 6�
��,�<x��0!��/d��8;+(!��0��0��0���,�@#��	-*�
�``'�
$!��$!��$!��$
��$�����$���89(!��0��0��0����(���,��,)! )! ��,$A$A�!���,<
`��h!��/d��@�* �!��,$���(	��,$!��(��4�*H%K�+H��,<h��0!��/d��8;+(!��0��4��H%�����Hu��,$!h��(1��,<
X��0!��/d��8;+(!��0�	��(��0���0J�
$�6��4��H'��H��,<@��0!��/d��8;+(!��0��4�KH%i���IH/��4��H%���H��,<x��0!��/d��8;+(!��0��4�(H%���+H��0 ��0�
$A���,<
���0!��/d��8;+(!��0���(��(�
��,<@��0!��/d��8;+(!��0��0`��0��+! �	 �
$A�
$����,���(�p������8<$�0x�0!�$��(�`
$��a<�
����	 ��8<$�0��0!�$��(�
M�
$���<�A
�����(��x!�z��(��#�s��(�
Ih�
l��(��p�e��(��X*�^��(�	9P*�
W��(�
`*9��O��(��@*9�G��(�yH&-)�	?��(�
M�&�+�7��(��x$�0��(��&�)��(�
*h%�
"��(�+ ��+���(�+ ��+�&8��/ ��<8!�8�_��8(!�0!��8<���A0$�0�$�������'�8'�����0��4��8��0����4�� ��4��$��0'�;+$������ ����($
��0(!�0!��0<��4�$A0$�0�	$��,��8�j!��'�0�'��诤������ !!� !EH������H�(!A@ !�!��O!EH$����$��!��'��'�����EP(!A@ ! !'� H���@@��&��&$@1�����&B0$@
@!��&$@3�!��@$���̏�@EH!��@�`�``!�i��'�H�'��Я��8!��@!�	�����!�N$B`@!x!����* �����������$��0$�H�$��0��$@���� ��!��$��!$B�J$K
�j��(��Ct` !��(�b��CH$d��($���l`!%��p$�n��'�0�'��X�!$����`��<Fd$�2�@@!�O�����#!'���<$�2𣀃�'�(CH������'�6CH`(!'�(EP(!@@ !'�&$F�� $A�� <$�0�'�&H�$���� EH����'���'��诿?����El��'��'���������!��!����!��@@���1���&R��c!&R��@]�� <��$$��&�9@��,��(�@I� !U��@��,��,��(��$�� G!��,��(��$�� ?���	�%*�
�'(����B* @�!@�!@�!� !$
J 8!@@�!T�#��
q`#���p!�A��!!@!�
�	����!�(	P#C* @� !`Q�#��,��(��$�� 
��Q�#@����,��(��$�� ����@���������'�H<����$B3'��诰N+@�! ��<��@@�?N !? !����&+ �������'�'��௰��!��$��&$���0N��0Y0O�!?N !@!�
EH����A$����$���0Y �B���������`!������'� '��诰��!���0b@0n�)!0n� 0i @0i �@0i �O+ 0i @ !�0x0i 0y 0i �@0i �H+ ��0i  !$��!`!�����'�'�������!��$���� ����H�$B$$0nR�"0j�
<��8�!�99@�Y+ L��K$
�C�%	a�	��K`��$@ !$��A��K$����KT`!0jR0n��K'�G��G�
�E@$$A��KE��$�$��5� ?�
0n��@���0yD !@X !@!!`$$���0bD@��0nR@ !�$B��A���K?�(!
���K���	%*�
�1l ���K$����K`!��$�������� �'�H'��௿�!�e�n�8!�x#���x�g3D �h
<
%J9@H�*0!
�`�k
<
%�9@`��0!���#�b�d��!!�!���x��#"* 	��` !�� @��� ����!�d
�� �(!E@0!���� "!�j$��5K �k!��'� �'��诿��$0N�
0O��$��2$��$��A�$7����`@��������� !��1*D@!��
<
%�9@`��(!���x#����A@!!@!����@#* !@�!��'��'����!���n�e
1���0!<'9�0��!H�<)!�b$H4�(9@(� $ �<$�d �d�!<$��(�d�!�k
<`�,!$J �*9@$ �� B0���� ��@�b�m�y
�o<5�@�(!�n%� �89@<�l
%k�0H�+!<h�-!�b$J�*9@�n� !�nJ�� �� @	���b0O���4Y@�y��'� ���
<x�o!�c9@��x#A����Y* ���<�c3'���0n������ �
��$0o��4c0c�<�#3<�#3$��<$�3J�'�<�c30x @!$��@!`!��'��'���4��<��4�!<�5�������8$$d��)��('����� ��$'�8J�� !�� � ��'�0�'�������!�������C$0n�!���!�B@�O��X0yD !@X@ !@!!`m$����4�H
��0�J<H�i�!�s9@1K`W��,��(��$�B$��@�!p�#  !@@ !T��0��,��4��(��$N$���Pp�# �� !�(!0!J 8!@@�!P�#&1���L�N�h#�M�B�x!A�O!@!�X
<Ȁ@!�9@�I	P#C* @�@ !��!�K1l@�
��0@@ !T	��0��0��,��4��(��$$����0��,��4��(��$�!�B��Ѱ!Ct� !�D
@�!�(!E@@0!!��0��4���������'�`�!F!��<$�0��p!��0��!$00�$+��$���!�%0���	$+$��$��H!�%0�$+a��$-a��0�@$0!$0c(#��$��`!��1���!(��(!(@�(#��$��x!��$�03 ���!@#�!#`!�'��ȏ�����,�!��0��4��(�� ��$�������������'���'���'���6��0!4O����������������@(!����$�<�7����$����!�!�#`!0Y  �!`�!� �0H 0!������" (!�#`�!�0I ��$!+ Q+ e`! �!U�$+ ������
����6&R����f!&R.A ����! !O���������@�!%l�&r���0C`�@$
��#W�!
W�!���������x#��!$!��x�#&R���@�!0+ �+=!�+ 
@�!<�O�4��$��A^�#2!^�#O�@ !$��AO� !(!�����H#	P!�%K�������(!%��6���5�������������|�"@0!�+ 4���������4���)���������(!��������&"��4���������� ��$��(��,��0�'�8$��������N$���x$�O�����X�����'��Я���!����4���0N�P#B� !���P#a`!$!���4B0����@@ !P��4"�!��4$�8��+ (!�!(!0���,Hܯ� ��,�� P+ x�O!p+ 
p�#! !$!@�����H�IP!�X�!�����'�0�!��4�$�p"���x  ��@������`��!�����!� ����� ����@	��������`�������������$����C B`���D#����
 �	
������@ �I�����I#�	#�	#�$�!$��������$�C@!`$�!$��������$�C��@!�!������$����#`!���$������!�$�����8!��* (�� �* (�](�(� 0�0�C��!��$�$����������!@(� $A$A��$�$�$���������$�$�$�����������$�$�$�����������(�  (�����������������$� $� $��ଢ�ଣ�䬨�謩�쬪���������ꬭ��(� (���������$�$�$���������������(� ����$�$�$���������(��   �( 0�0�C
���$����#$�����$���$����������!@(� $A$A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌋�茌�䌍��$���$���$��ଢ�������������ꬭ(� (���������������$���$���$���������(� ������$���$���$�������$�$�����!��$�$�@	����$������$�$�@�������$����$��������$��`!'��诤����<���� '�$�3O���$��'��'��诿�� '� O���$��'��'��Я�$��(��4��8��<��$Ct�� $d��4��)��'�O�'�8��'�0�!��$��$�������$��T\�'��د���!���� �!T`!@!�� Ct  !"�!���&���� $X�$,A $
a&��x%�0��$$B,A ��$
�&  !$	a�	  !F,(!@ !�$B0B�,A{ ��   !F,(!@�� !  !F,(!@ !�  !�������'�($�T\��!���$��T\�$��T\�!$��T\�$��T\�!$��T\`!�$��'��诿��'��� E{��$��'��'��(��0��4��(�����'���$��!�!��,�� ��$����Fd��@@�!<&1:����Th$/@ �!'��� �!$$$$
$���� !E�'�T@�!'�TU�(!*'���'�T��X��T��$@��\(�� $�$����.$��$����!�"�@!@��X'���U'�T"$��&. $��Tx !��'�T'�$������1��2��3��4��5���������$��$

����$����4���������� ��$��(��,��0�'�ؐ��!`$:g�C��$�`$Bg���$/�N$B��`�C��$�`��$B�@���!$��!!�`!$��T\�$��T\����$	�T\�$��T\�!$�`!'��௿����!F���F�@@�!�  !C�$@F�@@�!�  !C�$@��F�!�������'� '�������������!��@@�!!�������!�  !F�&@@!`!����  !!�������'� ����$�b$=$=$=`!F$��!����$�b��`!`!�����!�!!����!@$���$�@����$���$�$�@������$�$�@�������`!����'������<$�;H '������䏄��U��'������'������?� !���䏿'����@$
$:C$
$
$
E	��$�@CE��E��@��$���!����'����	��<$�;H '���@����!����G��'��'����� <��0��(��,��$�����!��!$
$�$:$+&�A�4����� !$ >�@0!@@�!�!Ct� !W<�p!�����7<�@@U>@ !0C��B$B��A�BI�@ !@ !�B�D$Y�Y0��u��� !<�@@U>@ !0C��B$B��A�BI�@ !@ !�B�D$I�I0��u����� !G�  !@��� !�*^$<�1a�F�  !<�"a�F�@ !`@�!@��� !�Kv��� !  !'�\7D$
`@�!Ct  !  !$:U(@0!��\���� !F�  !`@�!<�0a�$
u1*u1 $
u1<�-a�<�0a�`  !@�|� !�N��x� !  !'�\7D$
`@�!Ct  !  !$:U(@0!��\��h� !F�  !`@�!<�0a�$u1*u1 $u1<�8a�<�0a�<�1a�<�1a�F�  !<�"a�F�@ !<�"a�F�@ !<�9a��" �!@
$,C�"&1@C���(� &1<<$Baج1a菿4���������� ��$��(��,��0�'�h��<$c0�nx!���!3 	�H$BhH!�*1K`���C$
a`$#a!$!�'��诿��Uh������H=@0!��'��'��诤�� �� ��?�������� H=��'��'����!��`�@!����X!��8�+,��$$$4E�$$$4E�$(!=!$aA��$rA��$wA����$���(��EP��$��(����$A@ !&!�`��b
$�	�o�$r$$$�b�$a!�
(!$D௣(��(A	!�i
<	P�*!�`�`� 9@`!��'� �$�T\�!'��诿���Vg�����P$<���x�����X���� !W�  !@!!��'��`!$&�T\�$9�T\���8!��* (�� �* (�](�(� 0�0�C��!��$�$����������!@(� $A$A��$�$�$���������$�$�$�����������$�$�$�����������(�  (�����������������$� $� $��ଂ�ଃ�䬈�謉�쬊���������ꬍ��(� (���������$�$�$���������������(� ����$�$�$���������(��(  �  0�0�C
���$����#$�����$���$����������!@(� $A$A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌫�茬�䌭��$���$���$��ଂ�������������ꬍ(� (���������������$���$���$���������(� ������$���$���$�������'��௱��!�����.�@�  !�#0o�0hD0x�4y�9J$���#0hD<����$B3I+ @�!�
1K@`?N !����&+ ���#�%0m��%�$
$�$
<p��x!��9@�#F0!$P���"�0�#�b$x�8�9$��!�(5	 �)�*5K�+�#0l��0m��-� $���������'� $����!��$�$�F�����!$������!�����'�����'� $TW���A$��!����$��'�H�'��د���0��4��$��$BA$���@���A���@!��,�$F W�� ǡ Ǡ$D� D�(��<��,F$2x!E��$��@$A�@$��4'��Ct� ��0<$�c�'��CH�"<o$Bc�$A$A��8<Ct$�; ��0<<$�;,$�c�CH�B<\$Bc���8`E)  <DD$�c�$��Xd��,��,��0<$�c�$L)Q�! ��$P!<%�c�N !�$0$cd���b���`<DD$�c�$Xd����0$O<�� c�<DD$�c�(!Xd����0$Y�9<
�Jc���49K--k<$Bc���<DD$
��$�c�Xd(!��0$N��<�c���4;-/9<$Bc��9��'�(���<�4!��0C�0$$�0�x�@p!$B0���'��@��<��8��!��@��D��0��4��(��,�� ��$�����
�����!�p $%��$B��A��2�?��(!	�����2�����%������&s'(����p$%����1* @���$�����`�!�������p&s�!�!P&s�p��61�p��61�p��61�p��61�p61@���!2+@`
���$��%��p$��č�����#:1���$��%��$��ď6����!�p��2(D&��61 &�Вp<	0H!�)0�22@1*@<$c0�X�bX!X@p!�p&sp`!��$B��1����@��@�!��@�!61�p��'�28�!�!	22@���$��'(H$��č*��	������$��%l�h$��č����������'��$<�������@#���'�J�'����2) 2,'��$�����2,����'��$��������+
 	!@$Y0&�����$
A@!&���x��x!x@o@#%	0(A
 ����$J0&�����@
2-'�t`#�#@2-������612-���P'�28��!��!	22@���$��'/�@$��č	��	������$��%Ka`$��č���������<���$�����'�J�'������'� �! �!$$22@'��!�!$$22@2(
��ď��$��%*AX$��čl��	������$��%���$��ď�����$X<$c;h<$c;|����
�!@$$	6122@������DP$<�4!��jX!hC�l�p$�&���@����@
2/'��#�#@2/������612/�$29��� 29$X2) 29$
$������61'��$
�����'��$���
��$X��$o��$x��29��P2/@�&�$&�(A $@(!$'��'�䯩��'��'��'��J0��@�!���$A@
$'��Ct��!'��2+��P�J�!$A$2,�<&�;�<&�;�Ct� !2-��P���!$A���<$�;�Ct��!<%�;�28��P�N�!���� ! 2)'�� $�����2) 2,'��$$�����2,�'��($�������`$00b���'�&�$0��'��29 $.��&����`
$�����&��&���`�����䯤����61���'���'� �����$B��A(A
#(A
 ����$
A$c��P(A
%K0 ���k����$L0$c���l����'��+ 
��쏢$0'�$B���+ ���C�������� ����$	+%�����������$-%K�����L��<
�h!��0�1����$E'���������$e%/�����+�������'�61�L#29�p!�����P9���2(@*�<$*�< $<�(!$<$'��'�䯫����'��'��J0'��@�!���$A@
$'��,Ct��!'��,2*��PI�!$A$2,�<&�;�<&�;�Ct� !2-��P��!$A���<$�;�Ct��!<%�;�29��P�N�!���2%2,���x#�* 2,��$0a2,'��0$
�����2,�'��4$�����29 ���'��8$��������'�����$0��`$0���)� ���$0��&����0b�%*��ܢ�&�&�$�������$.�*�<$.��&�*�< $<� !$<�* �h#������61$����2)���%� 
��쒃`$0���) $0��&����0b�%���ܢ�&�&�$�����揮�2)��P�'�2*@@$�*�$*� $�(!$'��'�䯭��'��'��'��J0�����@�!�2($���2(��!Ct� !V* @�!@����!�X��$0	���&R��@$B���O��$0������)a�� �* ����E&V������ I�#��'�
'����$��%L�h$����'�'���293��P���$��%x$�����2+@$��!�$'��<2+@`Ct� !��!��&��$U��&����	$U���E$B�$U��&������$U��2)��P�z&s��&
��-AY ��
P�<*!�*P@�������#lh!�!^*��� ��ȏ����܏��(�!7���������2) �X! �����P@���612.�h#�����P������>@!x#������2+`������<�B;8ɀ#���0R���$B��A��@ !?��(!	&����2B��B��%���&����������P��!�����$B��A��0d�?��(!	�����0b��"��%�����&RO* ��&��P`���<�B;P  �!0R���$B��A��@ !?��(!	&����2B��B��%���&�����28���!��!���$B��A��0d�?��(!	&R��0b�����'(��&RU* ��&28���2/�24���<�B;P``�!0R���$B��A��@ !?��(!	&����2B��"��%L��&����2-������!������$B��A��0d�?��(!	�����0b��"��%�����&1/* ��&������~* ��<�B;8ˀ#��0Q���$B��A��  !?��(!	&����2"��"��%L��&�����s�p��D�� ��$��(��,��0��4��8��<��@�'��<�c;�$�� !�<�$;��`!T\<�B;��+ @ !$����<�$;��!'�����,<��0��(����!��!$d&�0௿<��4��8��$�� ��x��|��h���������q&s �p!��ht��<�p!��1�O$%���� ������%	�����

�U$b��`$b��$��$b��A�I� !@!��C$K�` !�`!��1�� ����%������
�5$b��`$b��$��$b��A�I� !@!��C$H�` !�H!�*1K`������(!%���Y(����$��A��$������$%!�q$%!'&s����%������
�5$b��`$b��$��$b��A�I� !@!��C$H�` !�������(!%*��Y(����$��Ah��h�<$*!�!�q�!&s$�X!�l1��
p��p!p@ѐ!�q&R���x!��&s3 ��p�@$l<�6R��$l! �!$h!�q&s 	$[!	�!` !T'�p@@�!�$���!�H1	 $n�Q$l$n!�$[����@�$[$c!�$[$[!$[����%l�����

��$b��`$b��$��$b��A�I� !@!��C$N�` !�x!��3  ����%	�����

�U$b��`$b��$��$b��A�I� !@!��C$K�` !�`!��1��������(!%���Y(����$��A9$[]��h'�x��� ! (!@0!'�pS^��=$h�$l��x$��%	!P$��x�L�������ե�$l���x��x$��%��x$��x���������ɯ8��x$��%	!P$��x�L����������'�x��� ! (!@0!�8!Q@��$[!��'�x$c!��'�x$i!��'�x$n!��$h$s!��'�x��'�x@��h�x!����h������h��h ��h$����h	�!��h$�� !$���!��<���� ��$��(��,��0��4��8�'�p'��P����'�p��!���������������\��X��T��P��L��H$��P$
��`$��`$��`�!���%	��-! ��	H�<)!�)� �������%K�����
$d��
�$���$B��A�I� !@ !��D$N��!�`8!$��L&R��@�����$d'�����
�$b��`$b��$��$b��A�I� !@ !��D$I�	�!$0a�`8!���$iA�*A �����$d%l�����

��$b��`$b��$��$b��A� !I���d��d@ !��D$N��!0d�$x���o$X�Y�
�$d�`����$d%������`$b��$��$b��A� !I���d��d@ !��D$Y��!0d�'�p$F��d��d$A$���p$�����%	����<
DP!�J0�1K�`$*A 
��`����(!%�������Y(��d��d(&R���8!%&R������(!%�������Y(��d������d��o'(������Y((!��d&R������$%*��������`(!Y(��d��d&R��$+a�S$-a�O$$0a�m���&R��@����'���+ $
"����!<G!�B0�0C`��`$�)��P0O��&��P`0X$00X$W$7$W�!��`�#Y* �������
��\��P 	��\��`��HK`�h!��H��\%�L��\��Pj���$.�$e��X !'(`?��X$e���\$E�[�����\ W�����T@!%K`P��T�'����$d%������
&1���$���$B��A�I� !@ !��D$X��!<C!�B0�`8!0Y 
$+a$-a0H#����'����$d%*�����
&1a��$���$B��A�I� !@ !��D$M�
�!&R��A�[`8!����_��\�[��P%��L� ��dY`'�p��L��d F �F ����$l���$���C$ca$�C�i���#>�"���$���CF  $ca$�C�j��4�D��L`�����H<�����h#��H���$l�
������$���C$ca$�C�x����H����$h!
��ď��$���C$ca$�C�i����H�(���$���C$ca$�C�k����H�j����� !%�������Y((!$��A��\$������\���������'��'��ȯ�8��8�� ����!��!��$�������D��L$���D$�� $�D������,�!��,$ca<�4!��!$������H%������
$d!�$���$B��A�I� !@!��C$I�	` !$���M$sa	$[<
DP!�J0�1K`C$[a	��8��D�h!���9��8��D&1�� 1&R����$d'�����
�$b��`$b��� !$b��A�I� !@!$����C$I�	` !�$sa	$[<
DP!�J0�1K`$[a�я�8��D�h!����ʏ�8�����$'������
���� ��,����(!%	��Y(����$��A��,$
������,K��8
!��8�$$ca$�@$��$�������� �'�8'��د���!��$�� �������$^��!��!$&` !.EY�$�$]�$-$-$-�dx!���&�&�!�d�!�qd�!���C* 	d�!b0#$�b !Y�@(!&d�!��&���!��$���������� �'�(<�"A�$��$��T\�0����E�!@!`��$�!�'�����X��X$��(����� y!<$�;� !Z`'�4A��Xp��<A$�S�Z0$��<��X��T��P��H`��D��@)$�* 	��$d��@��@��P(* ��@d#��<��L��@�#��<@��L$B��'�4����'�D�a���m���a�m��T�� ��<��@Z0$��(��<��L��$Y�$ !'�DZ`0!Z"$<$�;� !Z`'�D��(���$��TZ0$��$���L��@��P<@!��<��L4!B@*��@ d!��<��@<��4!��$c!P!��@��< !'�4Z`0!��L�� �!��'�X��'���<��A��Zh��'��'��诿�!` !?N����(!�d
D�0!���o�n1�Ϡx�b�`0Y� �n0H��h��'��$����0����$�E$���$����!$������!����'��诿��$B��A��I�@!���C$N����'��`!'��诿���0!$B��A��?�0��@!��0������@!%�����'��`!<��3<1���
$c3����$cx+ !�y3(���`!�'��Я�Vg��0��0���P��'� ��#Uկ� ���X@0!A�!�I�K	P�IP!
P�IP!
P�`��NIP!�`#a@
P�IP#�`!ya
Q��x#�Y����x�Lh!��!!���� 
'�('�$��W���,����,��(����������(��$��(l* �!��$n* �!��0���T��'� ��#Uկ� $�H @0!�!��'�0���<4�Q�f�
$���<�a
(A$<F!$���$<A<p�.c�$<Aa<x�/c�$<a<�#c�<p4!��!$<��#�9d(�m $Fa0d�$����$n$m$n$ca0d�$�����(#$m$n�* ��a0d�$����$F$d���0�%��$n$m$n�(!����!a0d�$���<�#d<�%d��0!$m$n$nA$	<�)<<
�J<!�* <%k<�d`!�0#�D$B�* ��$c<$�,<<$��-c�<�#d<<$Bc��� d'��诿��Fd'��l@.@�!���\V� !@)@�! !'��PV�$@#@�!���P���`%��𯏄T�����������XV� !@@�!$���X�C`��$;a& !'��TV�$@	@�!�Y$;!��&'���W>'��������'���<$�0��p!��$1�$B��&!$B����@	$���$���!�(1	 �����X!�c0c`	��$��h!��1����$B��@$ $B����A��$��!�'��Я����!��!����4��(�!�8C-,c`$+A !& !'�(W��$@ @�!��(�N !��!�#�@!�!$:��&W'�(@@�!��(�Y��#��$:!	�!&W'�(@@�!��((�!��$ ��4��4P#�j��4��!�������'�0��<$B0�Nx!��3 !����$�H�(H!	H@��������K`!%��Ь���Nx!��3 ���!�'��د���!����,'�$ !��0��W��@@�!A!��$$/%�����$�X	&'�V�0!@@�!1!�Y$,!��$&W'� @@�!&!�� $/%	���� �JA
��$&'�V�0!@��$!��$<4cQ�c����,$`�p!���� �����P���T��0�(H!*X#lh!�������'�('��诿<��<���@!�*�H! !<$B<�O$B�* ��$c���#<'9<��!�J� !�
�K�+�����W� �� ������%W�� !����<�"�4cQ��h%� ��/��'�9��'��(�: ���1��%����$n$m$n�(!$���������#(H!%*�$AX��#$h�T\�$�T\�Dh<-4!��� !�0$$�0��D`�0��
<�<��$�$<� $��$�$��	���$�$	��$�$��$�$D`<-�4!��� !�0$$�0���0��<@��$�$<@� $��$�$����$�$	��$�$��$�$��!�$	 $	-h@G��h%��<��H#`@$�!$
h%J
�B�*$��
j�
j�< �h%Zp@"'���!�"��08�
gX#,�
�`#�(#$��(�$(� ,�
$,�
 �(!$
�$�$B8$�00�	����,� =,� <.$�0$��&����h��p'�p+��`!
@!	h��p'�p+	��x!-H!�p'�p+,H!�`!
h��p'�p+
��x!MP!�p'�p+LP!h�mX!�`!lX!'��08$�0$��������gX#'��8���@ 	%g���8$�0�� $����($9-0 % �($0�(��%)��$1�($0���� $B��
��$0�(!��(!$���������� $$�<
 G�
h@�h%�@$`@��'��M-H!*H#$
�*'��h<%)��(!
J� <% �	$� �������% <�'����0!$�����.$����1������X+ ����Y��$I��$����@� !��@����������!$c�����f��%K����'��'�������<$c0�bp!��$�1�
$+��$�b�!�,1����$+KP!��$�$-A'�'��$
$�'�'!0!'�8$��'�'$B��,A
 �8n�0!@���$��0#H$5`$5$����$�$5A$A$��(!!K$�$ A$-��$�$-A$B�А�$$�$B��,A
 x��x!x@�!��$�$B��,A
 ��x��#�0!�(���D�D���(��� (�5D�D�(�5   !ǃ�pǂ�t  !�(#Zį�`��`F �@F �F ��'�h�$���0����!$��������$��`!�V(� S4�$�T\��H(� E4�$�T\��:(� 74�$�T\��,(� )4�$�T\��(� <A$�iD4�$�T\��(� <A$�iD$�T\�T\$'�����	����$@$e�T\�$f�T\�$#�T\�%��@@<h!@�<(!�.p�/t�c�[LYX�<+!�+ '���P@KX_�������1��$	4%����%)@@<<
HP!i!	H�@��c��J�<<<<
�h!�`!�x!�p!��������x��|j![L$c`
��
G�X@hX%	G�
P@HP%	H@$c����	O�����Ip!'�`x![L�p!$	%��%)����%����!�(!$
$
H� p'�p+��`!
H��h!�@!�h!���X'jX+�`!�h!
h@�$��h%���`@��gZp�@!`4@X! P!H!$$c��4�$%����0�%�%����0�%�%����0�%�%����08��p#n!$c`%����p#%�)�4 $ @!@H!`P!$%���%�����x#�0�@@%�0�H&H%�0�PFP%�X�0�XfX%�0�PFP%�0�H&H%�@!,a�	H@ 1H,a�%J@,a�%k:��,a�$cXB,a� $c��cX!D�D� <�!�D� D�D� �H@ 8'�P0�8+&H!�GP  8'X0�8+GP �&H!@0'�0+KP!@8'XfX 0�8+gX �FP!�@�X@�|@��@�d@�@�@�@��@��@�@�,@�L@�l@�@��@��@��@�A,�A9�A9�A,�A9�A9A9�A9�A9�A9�A,�A,�A9�A,�A,�A9�A-TA-dA-dA-dA-dA-dA-dA-dA-dA-dA9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A1�A9�A8A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A0A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9A-�A1�A5,A8A-�A-�A9�A9�A-�A9�A9�A/�A9�A9�A9�A9DA9�A/lA9�A9�A0AELAEDAEDAEDAEpAELAEpAEpAEpAEpAEpAEXAEpAEpAEpAEpAEpAELAEpAEpAEdInfinityNaN��Mnᯡ:M�����zD=E����\"��X�$#���"wJ1N���<�*���4
��?��񈙱���&�����e�}�C5��t}���_Ͼ�/��������������@�P�$����� �k(���C�@�ԥ���*��� ���_�1�ɿ����.v@�k:����#�b�x��z���&�n����x2
W��h?������@���YQa��ȥo��� :�ˏ'��f��KP*��,��
�������͒�����P(�������ij�.Q�k�u�P�4,��x䲻�dQ�8Sc��������E��0D�<<�0��PD03<0�0<0U@D@��0�0�DA@@�F����]����t���.�����E��	
!$'+.158;?BEILOSVY�p�*��A���$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)argument list wasn't properly NULL-terminated in "%s" commandDeleting command with clientData "%s".
wrong # args:  should be "%.50s count"Error %d$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)@y�@z\@~D@(@�@�0@�@�@�T@�@�d@��@��@��@mD@�@��@��@�@��@�l@d @Ɛ@�@�@Δ@lP@Ո@׸@��@n�$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)too many nested calls to Tcl_Eval (infinite loop?)extra characters after close-braceextra characters after close-quoteunmatched quoteunmatched bracemissing close-bracket"%.50s" is an invalid command name %sor ambiguous abbreviationinvoked "break" outside of a loopinvoked "continue" outside of a loopcommand returned bad code: %d%s, while executing
"%.*s%s"%.50s..., while executing
"%.*s%s", invoked from within
"%.*s%s"%s: '%.*s => %.*s'errorInfoerrorInfoerrorInfonoAbbrev<�<�<�<�	�<�<�<�===== =(=0=8=<=D=L=T=\=d=l=t=|=�=�=�=�=�=�continuewrong # args:  should be "%.50s add event [exec]"bad arg "%.50s":  should be "exec"$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)wrong # args:  should be "%.50s change newValue [event]"too many args:  should be "%.50s event [event]"wrong # args:  should be "%.50s info [count]"bad count "%.50s"wrong # args:  should be "%.50s keep number"bad number "%.50s"wrong # args:  should be "%.50s nextid"too many args:  should be "%.50s redo [event]"substitutewrong # args:  should be "%.50s substitute old new [event]"wrong # args:  should be "%.50s words num-num/pat [event]"bad "%.50s" option "%.50s": must be add, change, event, info, keep, nextid, redo, substitute, or wordsbad event number "%.50s"event "%.50s" hasn't occurred yetevent "%.50s" is too far in the pastno event matches "%.50s""%.50s" doesn't appear in eventword selector "%.50s" specified non-existent wordsbad word selector "%.50s":  should be num-num or pattern$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)internal error in Tcl_SplitListlist element in braces followed by "%.*s" instead of spaceunmatched open brace in list$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)couldn't find variable "%.50s"couldn't find variable "%.50s"wrong # args: should be "%.50s varName [newValue]"too few args:  should be "%.50s varName varName ..."too few args:  should be "%.50s [level] command ..." ("uplevel" body line %d)bad level "%.50s"no value given for parameter "%s" to "%s"called "%s" with too many arguments (procedure "%.50s" line %d)invoked "break" outside of a loopinvoked "continue" outside of a loopwrong # args: should be "%.50s name args body"too many fields in argument specifier "%.50s"procedure "%.50s" has argument with no nameisdirectorybad "%.30s" option "%.30s": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writable$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s start test next command" ("for" initial command) ("for" body line %d) ("for" loop-end command)wrong # args: should be "%.50s varName list command" ("foreach" body line %d)too few args: should be "%.50s formatString [arg arg ...]"too many args: should be "%.50s"expected integer but got "%.50s" insteadexpected integer but got "%.50s" insteadexpected floating-point number but got "%.50s" insteadformat string ended in middle of field specifierbad field specifier "%c"%s "%.50s string [in] patList body ... [default body]"not enough args:  should beinvoked "%.50s" without enough argumentsextra pattern with no body in "%.50s" ("%.50s" arm line %d)wrong # args: should be "%.50s command [varName]"not enough args:  should be "%.50s arg [arg ...]"too many args: should be "%.50s"wrong # args: should be "%.50s message [errorInfo]"not enough args:  should be "%.50s arg [arg ...]" ("eval" body line %d)specified "<" but no input in "%.50s" commandnot enough arguments to "%.50s" commandcouldn't create input pipe for "%.50s" command: %.50scouldn't write pipe input for command: %.50s/tmp/tcl.XXXXXX/tmp/tcl.XXXXXXcouldn't create input file for "%.50s" command: %.50scouldn't write file input for command: %.50scouldn't reset or close input file for command: %.50scouldn't create output pipe for "%.50s" commandcouldn't fork child for "%.50s" command: %.50sforked process couldn't set up input/outputcouldn't find a "%.50s" to executeerror reading stdout during "%.50s": %.50schild process disappeared mysteriouslycommand terminated abnormallywrong # args: should be "%.50s expression"wrong # args: should be "%.50s name option"rootnameextensionreadablewritableexecutable$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)unmatched open-brace in file namecouldn't read directory "%.50s": %.50scouldn't find HOME env. variable to expand "%.100s"user "%.50s" doesn't existno files matched glob pattern(s)different numbers of variable names and field specifiers$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s fileName"couldn't read file "%.50s"couldn't stat file "%.50s"error in reading file "%.50s" (file "%.50s" line %d)wrong # args: should be "%.50s option a b"wrong # args:  should be "%.50s bool [then] command [[else] command]"bad "%.50s" option "%.50s": must be compare, first, or last ("if" body line %d)bad count "%.50s" given to "%.50s"wrong # args: should be "%.50s command [count]"wrong # args:  should be "%.50s value index [chars]"bad index "%.50s" ("time" body line %d)%.0f microseconds per iterationbad argument "%s":  must be "chars"too few args:  should be "%.50s option [arg arg ...]"wrong # args: should be "%.50s args procname"info requested on "%s", which isn't a procedurewrong # args: should be "%.50s body procname"cmdcountwrong # args: should be "%.50s cmdcount"commandswrong # args: should be "%.50s commands [pattern]"wrong # args: should be "%.50s default procname arg varname"procedure "%s" doesn't have an argument "%s"wrong # args: should be "%.50s exists varName"wrong # args: should be "%.50s globals [pattern]"wrong # args: should be "%.50s locals [pattern]"bad level "%.50s"wrong # args: should be "%.50s level [number]"wrong # args: should be "%.50s procs [pattern]"tclversionwrong # args: should be "%.50s vars [pattern]"bad "%.50s" option "%.50s": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or varswrong # args: should be "%.50s value [chars]"not enough args:  should be "%.50s arg [arg ...]"wrong # args: should be "%.50s string [file [append]]"bad option "%.50s":  must be "append"couldn't open "%.50s": %.80sI/O error while writing: %.50swrong #/type of args: should be "%.50s value first last [chars]"bad range specifier "%.50s"bad range specifier "%.50s"wrong # args: should be "%.50s oldName newName"can't rename to "%.50s": already existscan't rename "%.50s":  command doesn't existtoo many args: should be "%.50s [value]"too few args: should be "%.50s string format varName ..."can't have more than %d fields in "%.50s"bad scan conversion character "%c"$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)	ddddddd

 !"#dddddd

 !"#$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)'p'�'�'�'�'�'�(( (4(D(P(d(x(�(�(�(�(�)))$)H)\)p)�)�)�)�)�** *0*<*X*t*�*�*�*�+++<+P+h+�+�+�+�,,0,@,X,|,�,�,�,�--,-D-\-p-�-�-�-�-�-�...4.T.l.�.�.�.�no error (operation succeedednot ownerno such file or directoryno such processinterrupted system callI/O errorno such device or addressargument list too longexec format errorbad file numberno childrenno more processesnot enough memorypermission deniedbad address in system call argumentblock device requiredmount device busyfile already existscross-domain linkno such devicenot a directoryillegal operation on a directoryinvalid argumentfile table overflowtoo many open filesinappropriate device for ioctltext file or pseudo-device busyfile too largeno space left in file system domainillegal seekread-only file systemtoo many linksbroken pipemath argument out of rangemath result unrepresentableoperation would blockoperation now in progressoperation already in progresssocket operation on non-socketdestination address requiredmessage too longprotocol wrong type for socketbad proocol optionprotocol not supporedsocket type not supportedoperation not supported on socketprotocol family not supportedaddress family not supported by protocol familyaddress already in usecan't assign requested addressnetwork is downnetwork is unreachablenetwork dropped connection on resetsoftware caused connection abortconnection reset by peerno buffer space availablesocket is already connectedsocket is not connectedcan't send afer socket shutdownundefined error (59)connection timed outconnection refusedtoo many levels of symbolic linksfile name too longhost is downhost is unreachabledirectory not emptytoo many processestoo many usersdisk quota exceededstale remote file handlepathname hit remote file systemundefined error (72)undefined error (73)undefined error (74)undefined error (75)undefined error (76)identifier removedunknown error (%d)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)

		variable "%.50s" contained non-numeric value "%.50s"command "%.50s" returned non-numeric result "%.50s"unmatched parentheses in expression "%.50s"divide by zerodivide by zerosyntax error in expression "%.50s"syntax error in expression "%.50s"         (((((                  H���������������������� 	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~CHRCLASS/lib/chrclass/�@�@�H:/usr/sbin:/usr/bsd:/usr/bin:/bin/etc/passwdInfinityInfinity                    000000000000000000000123456789ABCDEF0123456789abcdef+InfinityInfinity-Infinity+InfinityInfinity-Infinity�`�`W`/Lw/K:/JMFw/ 
echoechocreatecreate% %s
Error: %s

 ... ...%sbreakcasecatchconcaterrorevalexecexprfileforforeachformatglobglobalifindexinfolengthlistprintprocrangerenamereturnscansetsourcestringtimeuplevelexecchangeevent-1info%6d  keepnextid%dredo-1-1words-1history-1add$args010%d%d%Findefault%d%ddirname./tail01existsownedisfile%s%s/2APHOME/%d%d%g%g%dcompare1-10firstlastmatch10then%delse%dcharsargsbody%ddefault10existsglobalslocalslevel0%dprocs3.3varschars%dappendawendcharsNascii9@/bin/shPATHshrrNaNNaN-+ 0x0XNaN-+ NaN-+ (null)@�@�GMT   TZ�p	Z���`���	:�
#v�7��<����+@��0�0@� 0�����0`�P!  1F!%'$#&%B(( $' #0!'12"�	�	C#$a ' !#b�	!""�	�$u#!%!34$%��! �!�!�1#�	h$�	��"!C(!1C (1�
W�E"#!Ct#"!G"G#�wc�
!�3#"$!� �!�##!C(�	C"1�	#'$%7�cE"(d�!'s##&$!$�	�	$(�44v88!'""�	8(&$(!1!"!3##'$E#&��!$%�
( $S!h3#c#r�	"6(5#%&&%#85("F5#6%! (&##(E&(�%S5&�	!&%(v("%$5("%('6%(%"F2$&%E�85$a'7"W�$#(!2s�	#$b�
#%$8$%$�$#($$�
$$$(c$%"�!%8!�	(((#$"4%h4"T w# ��!�1(87!�
�!s$!(7!E(�/ 4#"##0 @ (!!8("#c(q!!!(!" "!3"X"##�	&A"!!!!! !!! !�
'!!!!"�
$'(%%$(#�	!7�	# s�'$#((  s�0Ac !#�'#s#s!('0S52(v&�
$8(%%#$""2"(#&&$!7##$#(�1#B"5%"E%!45#8%TE�##%%�%("s#4#%r44%$!5!1�	"��
$6#%u��!2!Cu(!$C&!T8$%T&�$(!�&((38"a66&#67!&&#$D6#u#%"PA�
#5&#%%�
8(8"#8(8(8�	5"8#H""�&3#"8##8$t3B$$!"####"3&5tc&%e!(!(3!!�8'!(((x'&"&%%!366"5#&%!&"!#"C6�&&%!8"�0!�6##s@(3�	#' %##' %###""�6!4E6!�6!!#%�&E#"#'##F#!�C#"t#�&&(!�
S%$(#!��	#8#$#�%%%#A"�	S##1p5w5"8($$�#�"Q�5#(#!3"D5$#$#$2#%%"DF$#('#%&#!!�5&5%E 5%$(5#(5!%%$6'!$#5%"5 5!!!U%#%#&%('E5!r5 !&�!t3"6(#&(#&(!%!D6$F'%($6'G636%#(4#(!T6%(Cu%&x'%(%(7(h$"#6'%&%6#&#!�@t6� '#7%q11AA1 E$#s(�e'D5858c&%$&#"#w"c6%!'!G!'4s'!6"%"'(�c%("  `q#q!g�	"!"#"#!"##s11�# #$!7%A""!!!&�!�0%$6!0%#&2&#1111111112!!!2!!!3!3!3!13!111�#d#5!$b"###�B!8�
"#H"&#(#($$$$$$%%%%$$$((3%B##0�1reS4SX0 �3P�!0� �$H0P�`P�V�1P�����	1�&T"%�"0�D0��6 � ��80�2Є
10�1!�1@� �8R'2 � ���h1(D ���4#$@�1�H�2(7 ���8 �8P�P�r!!5(Q�p�0�B"R�@�X!�'##� �� �4"1 �"@�1� !(�p�@�p�t  �P� 1�1@� (!@�Q!�!0� #A�% $@A�A�r �@"  �%Q31t�P`00   �A  �!  �@��	�!2�
q  �@��
0 �p �p0���	���@�rP�@�r Ѐ�@�@q �0 �@��
0 �p �p0���	���@�rP�@�r �0�4@�B�CA�CQ�`� ��& @� � � � �4 !�!!!���	Рp��	����	!H4" �#&#0�H!@�!!0�H0�1@� ���%"��!#0�0�E&P�P�T���!!8!C# �%C�A �2('C �(1 �2(!!��@�A����(0�5��4�4�3�8( �6F!`�q�8@�!2�
q  �@��
0 �p �p0���	���@�rP�@�r Ѐ�@�@q �0 �@��
0 �p �p0���	���@�rP�@�r �3$#S�'!�(�# @�R� �4f��	!��"����"%�"C(2�8 �!� �8$���P!�A����7P����Q ���
��QA�A�A�A�p� �B0�5"B�
 ��"0�`2�G'c`�`��2��"�P�#�A� ��"QBE'D ���R�B'G@�!�0�P!� �!�0�qV"0�@�@�(2�HU ��2!�4 ��C�"�"�h4E���@�"788B�0�2�HU ��2!�4 ��H�"�"�p�PH35"�2(R��H�1�!7 �0�P825!�26"`�T� ���`�s � �$ �2C31""26(! � "�! P�Q�@�	#( �F('20� �0%(0�6(w"&�G!8 �D �a@�0�0�8 �(1"(6(f7 & !�F �@0�U�!88#!(8�'0�S(( ��H7@�� &�W((P�P�X �(#!�80��81�0�@#�! �!!$ �1#�
���
�1VTP�``�c��	��!�0�!�d##!��1��!"�& !�!1��1�1�#��
���
5`�r�� �( � �#0�("��!�4`�hD�F0�G!0�5�cH0`�C!S"#0�1�"@���@�H ��4 ��4S"0�50 �A�0��$�0�2 ���������!0�(�0��@�00���
�Q �@�1 �0�A �0�! �0�A �0�0p�@�00�P�Q �@�1 �0�A �0�! �0�A �0�0�����
0Q�0P�0 �2@0�@� ��P�P �"A�a����  ���2 ���@0�P� 0�P� 0�@   � ���Q �0�0�!1000�  �0 �A  �0 �P0�  � ��A�0 �0�0��!# ��
���
0� �" �   �3A@�3P�50� ��" �# !2%!$0�0�3!!!!!!� !  � !�1P�`����	����	 ������	�������	��
������
��	����	 �  � A�P�@�p �@�0@ �P�P �P0 0����	0�Q`�a0 �  �  �  �  ! 1�0@ �@�  �  �  �@�  �  � 1 " �!!000� !0� 0� 0��0  �����/[`����uwh������t������ ��������� "9E���������>@HR��������� HT���������W����������(GO\
��������� fk�(���������@�����������@{�8
N��������� ��%�n���������0�-����������0UaLl'��������� y�W/E�?���t������Z`DsQ���������(����}t���������0���������������8��������������HL���������8��<����������x��!02L���������0�D9���������� ,2��?����������(Kw\G���������(��@NP���������8��*�X����������H�(D�d0���������?FcDiQ���������8`�k�t���������H�����|���������P
w����������8N�����������8��E�)����t������Rp8܀��������8����B5���������83�(M�����Q���V����������@�?�f1���������(�b�n���������(�����������h<����������� ��>�!1���������@��MD-����������( Sf07��������� m��	$BI���������0���
�M������������7��d���������� P[�k�����rw�HpҀ�������� ����v�����\������%�x�ހ��������(<GG����������8byP��=���������(��]���������@Fl
����t�����`�T ��������� ��A8)N��������� �L�1u��������� &T@9���������� @NZBŀ��������`h�e,O����,�������tduY��������� ������������X�Vt�]���������`p������������������h����|����� �	���������0Ky�q����d������dh?���������@���O€�������������������9m�����������H��)�$x����l������OC€��������@=�R3��������� Wa,lZ[���������0{�4�d���������P�"RuG���������0<a������������{�������������h�S�&��	�����\�����m�$(��
.���������8��C+��
�����������3m���������0;Y����L�����-I�����������
������0�����������#
l!����������8���x.ހ��������0��@���������.���������H*���������0<����l�����_�������������������H9���������*=t��������� M`8N���������mu����������H��*<	��������� ��J`X�����������\d
���������� �h����������������/���������0+����������`"D����"8����������8X��������SL
Ӏ��������0��W����e���������!5����#��������&1����%���������"<���������+/d���������08A
�����������������("8�������������������������������������$%,�����\�����+[�����bm4����������������������������� #��������� &�#����39	����#���������%*D���������.3p
����8?�<���������DK<O����������hQ�B������g���������4
���������&(t��������� /Q
�������������������������+1��������� ?�������������H(���������(5k��������8���������������@����"4����(2����������p%`�����l������R�����������8$@��	l���������(Ga���������!���������Xz������E�������������$���������������������������������h	������������������������0#>TU����Do#�	���������s�L|������]D
Q���������0��nl�������������������(���D�����������	8N�����������������H�5����N~.��������������!���������hu��������8����'p����)1�
*����3;�
8����=F H����HP$dW����bi+���� ������������Y���������7, ���@p `  @�   (@� 
(  0@� 0    ,   ,   ,   , #�@@� �$�+�0� 5�����7@D �    A@ #L�%   A4  W@8 &a�(l�)s�x�, }������  W�  �@ - !�����/�����5�����������  �    , `%`  %`%@%`+`%`1h%`!`7)`<)`  , `!%`( %`!`0`	9%`H %`!`S`
]%`i@%`!`	  , 
$`%` %`&@%`.`%`6�%`=�%`E�%`M�%`U%`!`  , 	`%` %`@%`!`')`2)`<)`G)`  , %@`%` %`&@%`!`0)`7@   H�@  	7\  N@| _�  f�!,  ND  
l@� $|�&��' #��(��������������+� ������
������,  8 "�������  �  l    , W`%` %`$@%`/`%`7�%`!`<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`	w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T`.
%`Z %`@%``%`]!�%`^+�%`a!`&8)`dB`3G%`jO %`!`/X)`ke`;p%`{ %`�@%`�`%`q��%`r!`4�)`u� `U�%`x� %`�@%`�`%`y��%`|��%`��%`��%`��%`� %`@%`�`%` �%`,�%`�3�%`�@�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`�  ,   , `%` %`!`)`*`
0%`5 %`!`9)`?`D%`I %`!`M)`  ,   , ��@@�  	#�(�0�8�  8  ?@
 O� V�#[�$ f�%l�����(h  ?�  
q@
� +��- ������0��3��6��9�  q�  �@x <��>��A��B��C��D  &������E��H�  "��  �@
< K��M�P .
�����Q�����T�  *��  '@
� W"�Y)�\-�3�]0 r;���8�^G���4�dL���0�U�eY���(�f_����gj�����mo�����t�����|�������������n������������o��������������p������s������v������w������x������y������z��{� U�������@� ~� T�������������  P  M< X�������  U� [�������  X� ^�����	�  [d b"������*�����`  ^0@L �
l f<�����
�  cB@� � lG�����P��R������@  g[@ H �d qg������m���|���  m  40  /r@" ������������  |������p  xr�  s�@"� ������� �����������  ���  }�@#d ������� ���4 �������������������  �  ��   �@$� �'��,��4�$ �=��B��F�H������N�����U�������  ��  �  , Y`%` %`$@%`/`%`7�%`!`<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`	w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T`.
%`Z %`@%``%`]!�%`^+�%`a!`&8)`dB`3G%`jO %`!`/X)`ke`;p%`{ %`�@%`�`%`q��%`r!`4�)`u� `U�%`x� %`�@%`�`%`y��%`|��%`��%`��%`��%`� %`@%`�`%` �%`,�%`�3�%`�@�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`��	`@��p@�  , �
H@@&` &�-�1� 
7�<�E�����P�����W�����   <  ^@(� m�!s�"z��%( 1��&��)������������� &������,������������������  ������-�  T %������.������/�������     L -������������������������0������1t  &
� 0������4�  -�  ^�  �@7�8 5��7�� 8�������  5�  2�@8�8 :�<� >l  <��  9@9(8 ?�A�D  F"�G)�Jt  B�  ?1@:�8 M<�OA�R  MH�S�  J1�  GO@;�8 VY�X^�[  We�\l�����_v�����`�����ax  QO�  N�@=88 g��i  c��l��o������r������s������
�������������  Z��  X�@? 8 t��v hl  f��  d�@?�8 y��}���  s���������������������������d  l��  i@B(8 ����� ��$��$ �(������,������0������7�����=�����G�����Q�����X�����  y(  t_@DP8 �h��m��u��$ �{�������������������������������������������������������P ��������������  ��@H� ��  �_�  �  , z@@I0  �'�,�7�?�G�( P�R�����]������ b�����  
4 e�����X  j@LH �  	�  o@L� $����&��', ���������  o�  �@M� (����*  7������+������1������������2��3��4��������t 4�������������������������������|�!@P� 5�  +-@S� ;8@S� A�  "��  I@T� GT�Y�I A^�����h�����j�Jl�����KH  ;Id  8s@V L~�N��Q�� L��R������������������U8  FsT  B�@WX V��X��Y U��Z������������H  P�X  M�@[� [��]��`��a��b e�����c�d��������������������#�����)�����e,  [�D  V1@]� fA�hH�i  mP�����S@`� j�  i1�  f^@`� pi�ro� xv�sx������ w~������  t@  q^X  n  , ��@@d  �#�*�/�, 4�9�A�����H�����Q�����S�����0 \�����g�����r�����~����� ��!4  �@g� $�  �  �@g� *��,��/��  ������0������3�  �  �@h� 6��8��;��<��( ,��=��@�C	�����\  &��  !@jd F"�H)�K0�L 68�����M=�����?�����N�  1�  -F@lP OQ�QW�R^�c�U  A0 @h�����V�  =�  <F�  7n@mD W|�Y��Z����]  L��^��a������d�  Gn�  B�@n� g��i��j����m  c��n������������������q������r������s������v@o0 y ^�����0  [@ a������d  ^@rp ��  R��  M'@r� �3��8�� jA������p  g'�  dH@s0 �R�� o(  mH8  kY@sh �g�� ul��`  rYx  ps@s� �~����������0 ��������������������������������������������� �����d���  ��@w ��  {s�  v�@w� ���� ����t  ���  ��@x( ������  �������  ���  �@y �!��&�� �,��3�����>������  ��  �  , �8@@y� �%�,�1� 	T  l  6@z\ B�H�O�T�  Y�����[�����b�����g����� � n�����v�����x�����!��"  �@}� #� ����x�)�  �  6�  
�@~D /��1��2����5 (�������  %��   �@( 6��8��9����< 0�  .��  )�@� =��?��@����C 8T  6�l  1@�0 D�F�G�"�J A'�����K�  >�  9,@� N8�P>�QE�J�T NO�����V�����U� MZ�����V�  J  G,  B^@� \j�^p�_w�|�b$ t������c������������d������������������e������k������������������������������q������t������u` f������v�  cH l����@�|� k����8���  h@  f� o����4��  l@� �� s
���0�P  p	  T^	8  O@�T ���"��)�.�� ~3�����:������  z�  u@@� �L��R��Y�^�� �c������e�����l�����q�����x�������������X ���������  ��@�� �D  �@\  �@�d ������������ �������������H ��������l  �,  ��D  ��@�� ������������ �����������������
������< �������h  ��  ���  �@�� �%��+��2�7��( �<��C������M�����S�����]�����b������o�����|�������������������������������������� ����� �����������  �� ��������   �T ���������  ��@�� �l ���������������  �	�  ��@�� ��@�� �
0  �
T  �  ,   ,   , 4`&%`1 %`9@%`?`%`G`%`R�%`\�%`g�%`r�%`z�%`�	%`�	 %`�	@%`�	`%`�	�%`!`  , 	)`	$)`	*)`
2 `9%`!`B)`  , (`-%`!`/)`7)`?)`G)`N)`	U)`
Z)`
`)`
f)`l)`s)`{)`�)`�)`
�)`�)`�)`�)`�)`
�)`
�)`�)`	�)`
�)`
  ,   ,   , 
(`	.%`5%`> %`F@%`L`%`Tp%`!`  , '`,%`3%`;`	@)`F%`O%`!`W %`\@%`!`e)`  ,   ,  `%`
% %`,0%`	4@%`=P%`	D`%`	Kp%`S�%`[�%`d�%`m�%`!`  , H`$%`-@%`6�%`@�%`I�%`R�%`[%`e %`o@%`x`%`��%`��%`��%`��%`�%`� %`!`�`�%`� %`!`  ,   , `%`'`	,%`	5%`?%`J%`!`T%`X`]%`	f%`p%`!`
z%`!`  , `�@`%` %`(@%`2`%`!`:)`E@��8 R�V�[�f�  m�����w����������� d ������!�������  �  E�  	�@��8 "��$��'��(��)$ >��,��������-������.������������� ,�����������������������/�����5�����6�  $� 7����7����:���������������=�����>%���(�?-���`�E5���@�KP  ,� ==���<�@���8�C���4�NJ���l�O|  7�  ��  R@�X Ua�Wh�Z NmAP`[w>�	�>�	�a������b��������������c� M������d�  J�  BR�  ?�@�� g��i��j����m ^������n����)�q����$����� �P \�����w  Y�@�� x�  T�  O  , $`%`# %`-@%`4`%`;�%`B�%`M�%`V�%`]%`!`f`n%`u %`|@%`�`%`!`  , `#%`
) %`20%`;@%`!`B`K%`Q %`X@%```%`g`%`!`q)`!  , �,@@� �"�)�.�  3�����=�����D�����M�����Q�����V�����]�����c@�H � l�����$�  �  �  p@�� *}�,��-����0  #������1������2�������������������������@� 3�  p  �@�� 9��;��<����?  B��@������C������F�����I��������������������L�����'�����R/@�� S� 8>�����Yd  58 >@�����F���|�ZJ���x�[S@�X ^�  8
� A^���t�d  >
  )�
(  $f@� et�gz�h����k  Q������������l�@�< m| P������s������  L�  Hf�  C�@�� t��v��w����z Y�  W��  R�@�l {��}��~�����  c�������������  _�$  Z@Ɛ ������"��  t'�����-�����2�����9������?������C�����E������K�����Q@�� �p  i�  d]@� �k��q��x�}��$ ��������������  z]�  u�@� ������������ �|  ���  ��@Δ ������������$ ��������`��%`� %`�@%`�!`�)`������
������ ����)�����3������;�����F��J����� �L������H  ��  ���  �S@Ո �a��g��n�s�� �x��������������������������������������� �����d��  �  �S0  ��@׸ ������������$ �������������������������  ��  ��@�� ����������� ����������������������������"������%�����,�����( �4������L  �4  ��L  �  , 
$0@@� ��%� 
*�,�����  4    , $�@@�P � �'� ,�.�
5	�
;�����|  �    , )`)`!)`))`
  , `%` %`!`)`*`
0%`5 %`!`9)`?`D%`I %`!`M)`T%@  , 
%P@@�� �� 	(�*��  �    , 	%�@@� � !A�`l  �    , 8/@`	%` %`*@%`/`%`5�%`!`<)`E@�@ #P�%W�& _�����f�����k�   
E0  
m@�p 'u�)|�,$  ��/��������0������1������x ���� �2�    m<  �@� 8��:��=��  -������@�������������������������@�l C�  %�	  !�@�� I��K��N�O 6�����P������  2��  .  , @�� �    , @�  �    , @��     , 	?�	���@�� �    , @�� ,    ,   , 	@� 	�    , 
@� 
t  @�t �  @�8 �  !@� !$  )A< )$  	2A` 2  :Ad :d  
CA� CP    , 
A  
�    , A� l    , 	A0 	X    , A� ,    , 

@�	���@�	���@�	���@�	���&@�	���/A� /  6A� 68  ;A ;  
  , 	
A
  A
h/��A
�/��%A
�/��,A
�/��3A
�/��
�    , 
A
� A
�/��
    , 
A
� A
�/��A$/��+A,/��
D    , A@ �    , 	A� A�/��A�/��	(    , 	A A4/��AP/��,A\/��:Ap/��>Ax/��LA�/��WA�/��bA�/��kA�/��wA@/���A|/���A�/���A�/���A�/���A�/���A(/���A@/���A\/���A\/���A�/��A�/��	    , A  p    , 	A� 	<  A� (  A� T    , 
AP AT/��Ah/��
(    , 	A� A�/��	     ,   ,   , 
A� 
0    , ���A� A�/��(    , 	A A/��	     , 	A  A8/��	     , A@ 
AX/��     , 
A` Ax/��
     , A� 
A�/��A�/��,    , A�     , 	
@	���A� ,  A� �  A�8 �    , A` 
Ax/��     , A� 
A�/��A�/��,    , 
A� A�/��
     , A� 
A�/��     , A�     , A �    , 
A� 
�  A8 t    , 
A� 
T    , ;O��@0	���@4	���A�o��"a�o��)A� )D  2A4 2,  ;A`8 ;�  
BA� BL  KA, K�  UA�8 U|    , 	A � 	4  A � @  A �8 �    , 	A"� A"�/��	     , A"� p    , 	A#0 A#H/��	     , A#P A#h/��     , 
A#p A#�/��A#�/��.A#�/��<A#�/��@A#�/��NA$ /��YA$8/��dA$T/��mA$T/��yA$�/���A$�/���A%/���A%0/���A%D/���A%`/���A%�/���A%�/���A%�/���A%�/���A&(/��A&d/��
    , 
A&� 
�    , A(0 @    ,   , 
A(p 
H    , 
c�o��A(�8 �  bo��A+D8 <  'A+� /;8O��7;PO��'�    , A>0 ,  
A>\/��A>d A>�/��<    , 
@�	���@�	���A>� `  #AE8 #x  *AMx8 *�  1APP8 1  	  ,   , 
AQ� AQ�/��
     , 
AQ� 
4    , 	;�O��AQ�   AS�8     , 	���AT (    , AT0 p    , 
AT� 
@    , AT�   AT�   AT�   (AT� (P  1AUH 1X  	  , AU� T    , 
A	���A	���<O��*AV *T  4AWT ;c�o��4H  AAY� A�  	GAZ|8 G�  PA[D8 P(  
XA\l8 X�  aA\�8 aL  hA^D8 o<O��h�  vA_88  vp    , A_� A_�/��     , 	A_� A_�/��	     , A_� A`</��$A`D/��1A`\/��>A`d/��KA`�/��XA`�/��eA`�/��rA`�/��A`�/���  �A`� �Aa/���Aa/���Aa$/���Aa,/���AaL/���AaT/���Aad/���Aal/���Aa|/����    ,   ,   , Aa� Aa�/��Aa�/��(Aa�/��6Ab@/��DAbP/��RAb�/��_Ab�/��lAcD/��yAcT/���Ac|/���Ac�/���Ac�/���Ac�/���Ac�/���Ac�/���Ac�/���Ad/���Ad/��Ad/��Ad8/��Ad\/��+Ad�/��9Ad�/��  G 	���P)	���  , 
Ad� 
�    , @�	���Ae� $    , 
Ag� 
(    , 
Ag� Ah/��
8  Ah (AhH/��8  5AhP 
?Ah�/��58  LAh� UAh�/��L8  
bAh� iAh�/��b@  
vAi }Ai4/��v<  �Ai</���AiD �    ,   ,   , 
Ai` Aix/��
   !Ai� +Ai�/��!     , 
Ai� Ai�/��
     , 
Ai� Aj/��$Aj</��2AjH/��@Aj�/��NAj�/��\Aj�/��P  j�	���p 	���{�	���  , Ak Ak$/��AkH/��*Ak�/��8Ak�/��FAk�/��TAk�/��bAk�/��pAk�/��~Al,/���All/���Al�/���Al�/���Al�/���Am/���Am/��  ��	���  , Am0 x    ,   ����������������

	0����������0������ ��"0���
	��������������������	0����c�������
	����������������������������
	��������������
	����������
	0����������������
����$��
	��������!!��0��������������	��	0����	����������<����	����������!������������!�� �� ����������	��&��&��&����������/����������4��4����	��	��&��&��/��4���� 0�����<
	0������
	������������������������������
	
	0������
����<!����!�� ��<����<������ '��!!��<��/����<��s��0�����	��<����0������ 0������ 0������ 0������ }��!����<�����<���������<�����<������
	��������!!��0��������������	��	0����	����������<����	����������!������������!�� �� ����������	��&��&��&����������/����������4��4����	��	��&��&��/��4���� 0�����<������!0������
	0����������<��/2����<��/��/9��<?��/G��<��4��4��4N��<��4X��<��4��d��<��4��/i��<t��/��<��/���<���<0������ 
	0��������0������ 80�� 0������ 0������ 0������ BM����<Vf��n0������ y
	0����������<����	0������ !����	��<-����	��	��<7��B��M����	��<��	d����<��&��&0������ 0��;0������ k����<��p����v��<��	�������	��	��<��&0��c0������ �����	���	��	��	��	���	��	
	0������
�� ��0������ 0��c)��1��9��B����<O��0��;u��0�� 0�� 
��0��0��c0������ �������0������ ���0��;���0��c���0��'0������ 0������ 0������ 
	
	
	��������0�� 0�� 
	��������0��	 ��	
	��������0��
 ��
0��
 
	
	
	��������
	��������
��������������������
����
	
	��������
	��������������������
	
	
������������������������������

	0������������������?����0�����	��	0���0�����
0���O��0��1��_����0���0������ 
	����������������
	��������0��	���������0��	���	��	
	0��������0������ 0��;$��0������ C����<����	����0������ ��&0������ R��0������ Z��d����u��0������ ���������<�����������������0�����`���0�������0��c������������0��;
	0������
	0������

	
	������������������������������0������
	0������

	0������������0��1
	0������������������0������ !����0���.������<0������ 7����
	
	��
	��
	
	
	
	
		

	
	
	
	
	
������������
	��������
	
	��������
	����������������������������
	��������������������
	��
	
	
	
����
	����������
	������������
	
	
	
	
	��������
		����
	
	����
	
	
		
	��
	��	��
��������������������
	
	
	������������
����
����������������������������	��������crt1text.sSTARTFRM__startmoncontrol_mcount_sprocmonstart/net/siouxsie/d2/3.2A/usr/include/regdef.h/net/siouxsie/d2/3.2A/usr/include/asm.hcrt1tinit.stclTest.crcsidcmdEchoclientDatainterpargcargviechoErrordeleteProcclientDatacmdCreateclientDatainterpargcargvcountmainlinecmdresultgotPartial/usr/include/stdio.h.F11_cnt_ptr_base_flag_fileFILEusptr_s/usr/include/sys/time.htimevaltv_sectv_usectimezonetz_minuteswesttz_dsttimeitimervalit_intervalit_value/usr/include/time.htmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdst./tcl.h.F12resultdynamicerrorLineTcl_InterpTcl_TraceTcl_CmdBufClientDatatclAssem.crcsid.F16bufferbufSizebytesUsedCmdBufTcl_CreateCmdBufcbPtrTcl_DeleteCmdBufbuffercbPtrTcl_AssembleCmdbufferstringcbPtrlengthtotalLengthpnewSizenewBufgotNewLine./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F12commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterp/usr/include/ctype.h./stdlib.h.F14sizeflagsMem_TraceInfodiv_tquotremdiv_t.F15quotremldiv_t./string.htclBasic.crcsidTcl_CreateInterpiPtrnamePtrprocPtrcmdPtrTcl_WatchInterpinterpprocclientDataicPtriPtrTcl_DeleteInterpinterpiPtrcmdPtrtracePtricPtrTcl_CreateCommandinterpcmdNameprocclientDatadeleteProciPtrcmdPtrTcl_DeleteCommandinterpcmdNameiPtrcmdPtrTcl_EvalinterpcmdflagstermPtrcopyStoragecopycopySizedstlimitargStorageargvargcargSizeopenBracesopenQuotesrctermCharargStartresultiiPtrcmdPtrtmpdummysyntaxMsgsyntaxPtrcmdStarttracePtrlengthcopyResultnewCopydeltavaluenewArgsnumReadnewCopydeltacmdCompletesaveddonenumCharspellipsissyntaxErrorfirstlastTcl_CreateTraceinterplevelprocclientDatatracePtriPtrTcl_DeleteTraceinterptraceiPtrtracePtrtracePtr2Tcl_AddErrorInfointerpmessageiPtrlengthbufferoldVarTclFindCmdiPtrcmdNameabbrevOKprevcurcmatchlengthvarValue./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F15commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterpbuiltInCmdsbuiltInProcstclHistory.crcsidTcl_RecordAndEvalinterpcmdflagsiPtreventPtrsavedFirstlengthresultTcl_HistoryCmddummyinterpargcargviPtreventPtrlengthcpcountindxiendcurnextlengthcountisrcendeventswordsHistoryInitiPtrnumEventsiMakeSpacehPtrsizeInsertReviPtrrevPtrcurPtrprevPtrRevCommandiPtrstringrevPtrRevResultiPtrstringrevPtrevalFirstevalLastargvDoRevsiPtrrevPtreventPtrnewCommandpsizebytesSeencountDisableRevsiPtrGetEventiPtrstringeventNumindexendeventPtrlengthSubsAndEvaliPtrcmdoldnewsrcdstnewCmdcountoldLengthnewLengthlengthresultGetWordsiPtrcommandwordsresultstartenddstnextfirstlastindexpatternmatchsavedCharerrortclUtil.crcsidTclFindElementinterplistelementPtrnextPtrsizePtrbracePtrpopenBracessizep2sizedoneTclCopyAndCollapsecountsrcdstcnumReadTcl_MergeargcargvlocalFlagsflagPtrnumCharsresultsrcdstcurFlagsibraceCountnestingLevelnestedBSwhiteSpacebracketsdollarselementDoneloopBottompass2ElementDoneTcl_ConcatargcargvtotalSizeipresultTcl_ReturninterpstringstatusiPtrlengthwasDynamicoldResultTcl_BackslashsrcreadPtrpresultcountTcl_SplitListinterplistargcPtrargvPtrargvpsizeiresultelSizebraceelementTcl_StringMatchstringpatternc2thisCharOKTclWordEndstartnestedpcountbracestclProc.crcsidTcl_ProcCmddummyinterpargcargviPtrprocPtrresultargCountiargArrayfieldCountnameLengthvalueLengthfieldValuesargPtrprocErrorTcl_GetVarinterpvarNameglobalvarPtriPtrTcl_SetVarinterpvarNamenewValueglobalvarPtrvarListPtriPtrvalueLengthTcl_ParseVarinterpstringtermPtrnamecresultTcl_SetCmddummyinterpargcargvvalueTcl_GlobalCmddummyinterpargcargvvarPtriPtrgVarPtrTcl_UplevelCmddummyinterpargcargviPtrlevelresultendlevelArgsavedVarFramePtrframePtruplevelSyntaxcmdmsglevelErrorTclFindProciPtrprocNamecmdPtrTclIsProccmdPtrTclDeleteVarsiPtrvarPtrInterpProcprocPtrinterpargcargvargsformalPtrargPtriPtrframevalueendresultmsgprocDoneProcDeleteProcprocPtrargPtrFindVarvarListPtrvarNameprevcurcNewVarnamevaluevarPtrnameLengthvalueLengthtclCmdAH.crcsidTcl_BreakCmddummyinterpargcargvTcl_CaseCmddummyinterpargcargviresultbodystringpatArgcjpatArgvpmatchmsgTcl_CatchCmddummyinterpargcargvresultTcl_ConcatCmddummyinterpargcargvTcl_ContinueCmddummyinterpargcargvTcl_ErrorCmddummyinterpargcargviPtrTcl_EvalCmddummyinterpargcargvresultcmdmsgTcl_ExecCmddummyinterpargcargvinputinputSizeoutputoutputSizeoutputSpacestdInstdOutcountresultipidstatuscmdNameexecNametmperrSpaceerrnewOutputcleanupchildTcl_ExprCmddummyinterpargcargvresultvalueTcl_FileCmddummyinterpargcargvplengthmodestatOpstatBuffileNamelastSlashcheckAccessTcl_ForCmddummyinterpargcargvresultvaluemsgTcl_ForeachCmddummyinterpargcargvlistArgciresultlistArgvmsgTcl_FormatCmddummyinterpargcargvformatnewFormatwidthprecisionsizeoneWordValuetwoWordValueuseTwoWordsdstdstSizedstSpacenoPercentcurArgnewPtrpbsSizeendenddoFieldnewDstnewSpacenotEnoughArgsfmtError/usr/include/errno.h/usr/include/signal.h/usr/include/sys/signal.hsigcontextsc_regmasksc_masksc_pcsc_regssc_ownedfpsc_fpregssc_fpc_csrsc_fpc_eirsc_mdhisc_mdlosc_causesc_badvaddrsc_badpaddris_sigsetsc_triggersave/usr/include/bsd/sys/types.huid_tgid_tfd_maskfd_setfds_bitsfd_set/usr/include/bsd/sys/../../sys/types.h.F14rphysadrdaddr_tcaddr_tuncharushortuintulongino_tcnt_ttime_tlabel_tdev_toff_tpaddr_tkey_tuse_tsysid_tindex_tlock_tsize_tu_charu_shortu_intu_long/usr/include/bsd/sys/file.h/usr/include/bsd/sys/../../sys/types.h/usr/include/bsd/sys/../../sys/fcntl.hflockl_typel_whencel_startl_lenl_sysidl_pid/usr/include/bsd/sys/../../sys/file.hfilef_flagf_count.F15inodef_uinodef_unextf_upf_offsetfile_t/usr/include/sys/fcntl.h/usr/include/sys/stat.hstatst_inost_devst_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctime/usr/include/sys/resource.hrusageru_utimeru_stimeru_maxrssru_ixrssru_idrssru_isrssru_minfltru_majfltru_nswapru_inblockru_oublockru_msgsndru_msgrcvru_nsignalsru_nvcswru_nivcswrlimitrlim_currlim_max/usr/include/sys/time.h/usr/include/sys/wait.hwaitw_status.F16w_Fillerw_Retcodew_Coredumpw_Termsigw_T.F17w_Fillerw_Stopsigw_Stopvalw_StclGlob.crcsid.F16resulttotalSpacespaceUseddynamicGlobResultAppendResultdirnamenameLengthresPtrdirLengthtotalLengthpnewSpacenewSizeDoGlobinterpdirremresPtrpcopenBracecloseBracegotSpecialresultremLengthl1l2static1elementnewRemdentryPtrl1l2patternnewDirstatic1static2statBufl1l2newDirstatic1Tcl_TildeSubstinterpnamestaticBufcurSizecurBufdirlengthfromPwppwPtrTcl_GlobCmddummyinterpargcargvglobResstaticSpaceiresultthisNameerror/usr/include/pwd.hpasswdpw_namepw_passwdpw_uidpw_gidpw_agepw_commentpw_gecospw_dirpw_shellcommentc_deptc_namec_acctc_bin/usr/include/bsd/sys/dir.hdirectd_inod_reclend_namlend_name_dirdescdd_fddd_locdd_sizedd_bufdd_directDIRtclCmdIZ.crcsidTcl_IfCmddummyinterpargcargvconditionifPartelsePartcmdnameresultvalueifSyntaxmsgTcl_IndexCmddummyinterpargcargvpelementindexsizeparenthesizedresultindexSyntaxTcl_InfoCmddummyinterpargcargviPtrprocPtrvarPtrcmdPtrlengthcflagargSpaceargSizepatterninfoNoSuchProcplevelendframePtrlevelErrornewArgsTcl_LengthCmddummyinterpargcargvcountplengthSyntaxelementresultTcl_ListCmddummyinterpargcargvTcl_PrintCmdnotUsedinterpargcargvfresultTcl_RangeCmdnotUsedinterpargcargvfirstlastresultbeginendcdummycountrangeSyntaxTcl_RenameCmddummyinterpargcargvoldPtrnewPtriPtrTcl_ReturnCmddummyinterpargcargvTcl_ScanCmddummyinterpargcargvarg1Length.F223fmtsizelocationFieldfieldscurFieldnumFieldssuppresstotalSizeresultsnumScannedfmtistringTcl_SourceCmddummyinterpargcargvfileIdresultstatBufcmdBufferendfileNamemsgTcl_StringCmddummyinterpargcargvlengthpcmatchfirstTcl_TimeCmddummyinterpargcargvcountiresultstartstoptzmicrostimePermsgstrtol.crcsidstrtolstringendPtrbasepresultstrtoul.crcsidstrtoulstringendPtrbasepresultdigitanyDigits./sprite.hBooleanReturnStatusAddressClientData./stdlib.h.F11sizeflagsMem_TraceInfodiv_tquotremdiv_t.F12quotremldiv_tcvtInstrstr.crcsidstrstrstringsubstringabstrerror.crcsidstrerrorerrordefaultMsgtclExpr.crcsid.F14interporiginalExprexprtokennumberExprInfoExprGetNumstringtermPtrresultsigncExprLexinterpinfoPtrpcvartermresultstringExprGetValueinterpinfoPtrpreciPtrresultoperatoroperandgotOpsyntaxErrorTcl_ExprinterpstringvaluePtrinforesultdup2.cdup2opendir.cBSDopendirreaddir.cBSDreaddirctype.cfirst_callsetchrclassgen/cuexit.cexitdata.cfgets.cfgetsflsbuf.c_cleanupfclosefflush_flsbuf_xflsbuf_wrtchk_findbuf_bufsyncprintf.cprintfsprintf.csprintffputs.cfputsatoi.catoimalloc.callocsallocpalloctallocxallocendmallocfreereallocstrcpy.sstrcpy1$0000000000$doch3$doch2$doch1$doch0strlen.sstrlen1$0000000000strcmp.sstrcmp1$00000000002$00000000003$0000000000strncmp.cstrncmpindex.sindex1$00000000002$0000000000bcopy.sbcopygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4strncpy.cstrncpyscanf.cscanffscanfsscanfrindex.srindex1$00000000002$0000000000lseek.slseek9$0000000000/net/siouxsie/d2/3.2A/usr/include/sys.s./sys/syscall.hmktemp.cmktemppipe.sFRMSIZEpipe9$0000000000write.swrite9$0000000000close.sclose9$0000000000open.sopen9$0000000000unlink.sunlink9$0000000000fork.sfork9$0000000000parentexit.s_exitexecvp.cshellexeclpexecvpexecatread.sread9$0000000000wait.swait9$00000000001$0000000000access.saccess9$0000000000stat.sstat9$0000000000geteuid.sgeteuidgetpwnam.cgetpwnamgetenv.cgetenvnvmatchstrcat.cstrcatgetpwent.cPASSWDEMPTYpwflinepasswdsetpwentendpwentpwskipgetpwentfgetpwentisblankfopen.cfopenfreopen_endopenfstat.sfstat9$0000000000sys/gettimeday.cgettimeofdayfcntl.sfcntl9$0000000000getdents.sgetdents9$0000000000memcpy.smemcpygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4filbuf.c_filbufmemccpy.cmemccpymp_def.cisatty.cisattydoprnt.cbufcvt_bufendtab_lowdigit_doprnt_blanks_zeroessbrk.ssbrkerrbrk1$0000000000doscan.cchcountflag_eof_doscannumberstringsetupcerror.sgetpid.sgetpid9$0000000000strchr.cstrchrsleep.czeroitvsleepawakeexecv.sFRMSIZEexecvrew.crewindmemchr.cmemchrsemlibc.c_seminit_monlock_monunlock_semgetc_semputcfindiop.c_findioptime_comm.cstart_dstend_dstmonth_sizelocaltimegmtimextimetzsetgetznamegettimegetdigitgetdstgetusadaytabsundayBSD_getime.sBSD_getime9$0000000000ioctl.sioctl9$0000000000fp_class.sfp_class_d1$00000000002$00000000003$00000000004$00000000005$00000000006$00000000007$00000000008$00000000009$0000000000fp_class_f1$00000000012$00000000013$00000000014$00000000015$00000000016$00000000017$00000000018$00000000019$0000000001/net/siouxsie/d2/3.2A/usr/include/fp_class.h/net/siouxsie/d2/3.2A/usr/include/sys/softfp.hdtoa.s_dtoa1$00000000002$000000000015$000000000016$000000000019$00000000003$00000000004$00000000005$000000000055$00000000006$00000000007$000000000075$00000000008$00000000009$000000000010$000000000011$000000000040$000000000012$000000000013$000000000014$000000000020$000000000022$000000000023$0000000000infinitynanungetc.cungetcatof.cinfinityatofmemset.cmemsetsignal.ssighold1$0000000000sigrelse1$0000000001sigignore1$0000000002sigpause1$0000000003sigset1$0000000004signal1$0000000005ninvalid_sigtramp/net/siouxsie/d2/3.2A/usr/include/sys/signal.h/net/siouxsie/d2/3.2A/usr/include/sys/errno.htimers.sgetitimer9$0000000000setitimer9$0000000001execve.sexecve9$0000000000tenscale.s_tenscale10$000000000011$000000000012$000000000013$000000000020$000000000021$0000000000_pten_ptenround_ptenexpatod.s_atod10$000000000011$000000000012$000000000020$000000000021$000000000022$000000000023$000000000024$000000000029$000000000025$000000000026$000000000028$000000000027$000000000040$000000000050$0000000000infinitydwmultu.s_dwmultucrtninit.senviron__Argc__Argverrno__start_gp__istartsetchrclassmainexitmoncontrol_mcount_sprocmonstart_iobfgetsfflushprintfsprintffputsTcl_AssembleCmdTcl_CreateCmdBufTcl_CreateCommandTcl_CreateInterpTcl_DeleteInterpTcl_RecordAndEvalinterpbuffercmdEchodeleteProccmdCreateatoiTcl_DeleteCmdBufTclWordEnd_ctypemallocfreestrcpystrlenstrcmpstrncmpindexTcl_AddErrorInfoTcl_BackslashTcl_CreateTraceTcl_DeleteCommandTcl_DeleteTraceTcl_EvalTcl_GetVarTcl_ParseVarTcl_ReturnTcl_SetVarTcl_WatchInterpTcl_BreakCmdTcl_CaseCmdTcl_CatchCmdTcl_ConcatCmdTcl_ContinueCmdTcl_ErrorCmdTcl_EvalCmdTcl_ExecCmdTcl_ExprCmdTcl_FileCmdTcl_ForCmdTcl_ForeachCmdTcl_FormatCmdTcl_GlobCmdTcl_GlobalCmdTcl_IfCmdTcl_InfoCmdTcl_IndexCmdTcl_LengthCmdTcl_ListCmdTcl_PrintCmdTcl_ProcCmdTcl_RangeCmdTcl_RenameCmdTcl_ReturnCmdTcl_ScanCmdTcl_SetCmdTcl_SourceCmdTcl_StringCmdTcl_TimeCmdTcl_UplevelCmdTclDeleteVarsTclFindCmdbcopyTcl_MergeTcl_StringMatchTcl_HistoryCmdstrtolstrtoulstrncpystrstrTcl_ConcatTcl_SplitListTclCopyAndCollapseTclFindElementTclFindProcTclIsProcFindVarInterpProcNewVarProcDeleteProcsscanfstrerrorrindexTcl_ExprTcl_TildeSubstlseekmktemppipewritecloseopenunlinkforkdup2_exitexecvpreadwaitaccessstatgeteuidgetpwnamgetenvstrcatBSDopendirBSDreaddirendpwentfopenfclosefstatgettimeofdaysys_errlistsys_nerrprecTableExprGetNumExprLexExprGetValuefcntlgetdentsmemcpy_cleanup_bufendtab_sibuf_sobuf_smbuf_lastbuf_filbufmemccpy_bufsync_sprocedisatty_xflsbuf_flsbuf_wrtchk_findbuf_doprntsbrkbrkreallocscanffscanf_doscan_cerrorgetpidstrchrsleepexecvexeclpgetpwentsetpwentrewindfgetpwentmemchr_semgetcfreopen_findioptzsettimezonedaylightBSD_getime_lock_ulock_nlock_ilock_flock_wlock_clock_tlock_ctlock_dlockioctlfp_class_d_dtoaend_minbrk_curbrkungetcatofmemsetsigsetsetitimersigholdsigpauseexecve_seminit_monlock_monunlock_semputcgmtimelocaltimealtzonetznamefp_class_f_tenscale_atodsigrelsesigignore_sigtrampsignalgetitimer_dwmultu@p?�!@p?,�@pk)

�@p�
�@���#
6!>@�DD4F(@��r?n@��^M
�@�XRZ�$@ ��e%(��-)_2@ i��W��0@ ���7@ T��>@ d��E@�p^���b
��L�!@�	���Y
��S@&`x���	3�@�Z��@I0<��z��!	�ta��@d �J��r*W�h�l@y����	�8
@�o�r@y�}
'�@y�
3�@y�-��
?�@y��I�	
Z�@y�2��
r�@y��
�@y�$(�
�@y�LZ�

�7@y��l�
�!P@y��
�i@y�,v�
��@y����
��@y�|�
�@y��~
�@���`(DE7~�
e�@�� �s��@�� �u��$�@�!8��+R�I
��
?�@�%83k6�MV�
�@�P%kEw7"�W	 
�?@�P%�4�	"$@�P%�Z�	0$(@��&>,�7�1X	T,@�&j,�	7�!Y	l --@�@&��88Z	�S03N@��'�
�=+"^	�5��
@� '��=M+_	�6��@��'��=xF`	�7��@��'� �=�;a

8��@��(
�=�b
9��@�(�
):�@�(%>yc
5;��$@�(4L>}d
C<���A (�@�'l
_=��A�(�@�m
m>��A0(�@��n
{?��)A�(�
"A[Ko
�@��A�(�C&
A�p
�A��gA
 ):3	B�*s
�B�E*A
�)=<B�t
�G�oA
�)[8AB�u
�J�uA@)�HB�$v
�O��	A�)�)LC!
w
�P��A)�RC+�x
�S���A *�kC�y
�X�P	A�*�oD
.z
�Y�YAP++wD;
}
�Z�nA�+9}DE~
�]�uA�+U)�b�A�+~�g�A�+��DML
�l�wA�+�"�D�
�m��A+��D��r��A +��D��	w��A@+��D��
|��A`,�D�����A�,2!�D�����A�,S�D�����A�,a%�	D������?A`,��Ex�/���A�,�'�E��3���A�,��E��7���A�,��E��;���A�,��E��?���A-�E�"�C���	A�-'�E�@�S���A�-@�F�c��	A�-Q]�Fa�q��pA �-� �Gw������-A"�-��G������A"�-��H�����
A#0.	H �����A#P.%"H(�����A#p.GH0�������A&�/X%H�f����vA(0/j)I\�����A(p/}
-���A(p/�/Il�����	A(�/�?3I~\������A>0/�"?N�����A>�/�7GN������AQp00
S��AQ�0:US��'���AQ�0XZS�
�+���AQ�0i^S���9���FAT0�eTD
�I���AT00�jTN�M���AT�0�nTj�[���AT�0�:rTz0�i��AU�0�~T����AV1
}�T�j�	�"���A_�1�&�W)�����A_�1��W1�����A_�1��W9e�����UA_�2�.���A_�30���Aa�33T�W������G�Ad�4��Xb8����Ae�4��X�����GAg�4��Y#
���\Ag�4���Y-]���b1Ag�5\0		�Ag�5�/	�Ai`5�8	Y��
��Ai�5�	Y��
��Ai�6�	
Y�T�
!��gAk6��	 Y���
$�yAm07~	4Z}�
'�yAm�7�	8*�	

	

	

	

	










 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !
"#
$"#
$"#
$%

&'()'()'()*+
,
-./0123456789:;<=>?@ABCDECDECDEFGDEHDEIDEJDEKDELDEMDENODEPDEQDERDESDETUVWXYDEZ[DE\DE]^_`abcDEdefDEghiDEjklmnoDEpDEqrsqrsqrstuvwxDyzExDyzExDyzE{DE|DE}~�A���A���A���A���@p $�P���(Am����01@�� =@ 1B@�� G@� R@� Z@� 2i3O��3n@� 4t@�8 5{A  6�A� 7�A0 	�@� 	�@  �@x �@� �@
� �@&` �A ��A$�@� 
@ @8 8"A� 	'@| 
8@`� n0C0�O��9JA� 9QA� :VA
  ;]A
� <dA
� =kA@ >sA� y@#d ��@WX M�@" s�@
< '�@"� }�@
� /�@g� �@jd -�@V B�@h� !@
 
@y� @z\ 
*@~D  7@( )E@� 1U@�0 9b@� Bn@� Oz@�T u�@� �@�d ��@�� ��@�� �"�@�� O�@mD B%�@� %�@�� $%�@�� %�@� C%@�� R%@�l Z@d  %*@Ɛ d%7@� u%E@� �%S@Δ �_@lP 7%j@Ո �%x@׸ �%�@�� ��@n� M�@sh p�@$� �?�A �@M� �@]� f�@(� &�@� '�@�P @�A  *@�� @T� 8@[� V @L� 3@I0 B@r� dN@s0 kX@x( �`@s� vk@y �r@w� �A�A� +�@� B�AP ,�@�� ."�@�X ?C�A� F�A� G�A� H�A I�A  J�A@ K�A` L�A� -�@�� M�A� N�A� O�A` P�A� Q�A� RA� SA� TA UA� VA� .&@�  /1@�� W<A4 XEA � 4K@�t YRA"� ZXA"� +e&8@+q?��,z/d@,�@�@ 
,�@�p ,�@� ![�A#0 \�A#P ]�A#p 4�@� 2�9@O��2�d o��2��(o��2��0o��2�@���^�A&� _�A(0 4�A� `@@���aA(p 4A< 	4@� 4&A` 4.Ad 
b7A+� c?A>0 cDA>d 9HA 
APA� AVA� d]A>� eeAQp/��fmAQ� gtAQ� h{AQ� i�AT N�A� W�A� W�A� j�AT0 W�A, k�AT� l�AT� X�A � m�AU� n�AY� 	n�@����n�@����o�A_� `�A(���`�A,���`A0���`	A4���`A8���`A<���`A@���`%AD���`,AH���`4AL���p;A_� qAA_� tLAa� cR�`o��cV;�O��c^;�O��ufAd� vmAe� wrAg� xyAh� 
{�Ai� x�Ag� x�Ah� 
|�Ai� l�AT� l�AT� l�AT� l�AUH 	n�AWT n�AV n�@����n�@����q�A`� }�Ai� ~�Ak xAh xAhP xAiD x Ai {'Ai` 1Am0 0707070035050536551006660011710000040000011170320466276621500001200000660310tcl/a.out`&��s�(`8j�@�#j��p����
7�&�.textj�p��E .initj�j� k��.rdataj�j��l��.datao�o�7pq��@.sdata��p�p����L.sbss�p�p@�.bss����"����'�<'�$���0!'��诠�����!Z���=H !�������=�@ !
�'�� �!�'��௿�� ��$��(��,$������,Ȁ�@!�	 ����(K��$��,<����@<$�o�����(�* ������,@��H!�$<@X$�����(��%l��L* @'����%��ί�@'��!��'� �'��诿��<��@$�p<��'��'��௿�� ��$��(��,����($�
��$��,<���@<$�pd$��,�$@������@�!F !��%*������`��!�����'� '��诿�����<%����<$����'���'�� <%����<$�ȯ�'��(�'��0,����$<���<3Ϡ9����$<$���@X'��8<>Z$���<$Ɲ�'�0=�$�@�!��$ =� !��0��T'�0��,��,@$��$����$����,	<0!��(��(����������'��<�@��($!@'��@<��(@$�p����	�*@��'��H�e@@'��P�������'�'��د�����A<$@�!A<$d@�!�$d��!�������'�('��௿�� ���� �BB !�����'� '�������@��D������@��DB���8��8���i��DB���8���8��!'(��4��4�
I* �`@��,��,��4�+ ��4��,��,A<��(��(�BT�B��(���,���	��DBT	 !�
��8K`!����$�-<�p!��1���8$
$��$&1�(<	(H!�)��1*@���+`��$���	!  !�(!@�!���������'�@'�����$�� ��������A<$ @�!&X�������� �$�(�,�0�4�8�@�<�D�H�L�P�T�X<<&Rq&1t�/��$B�@�!A<&�@�!�X�x�`�`��y��%BT&d&1&R�(��!��$���������� �'�@'��௿�� ��$��(���� ��A<$@�!��$���(����(T����0T�����'� '��Я���0��������0��,��,��L7��L��,�	 `��,�RT@�K�D��0`�	B@ !�R@����,���
�����	B !�����,���,~��,�/(���,�(B��,�*4@��,�d4B��,��4����4��,�4 ����,��P B  !�1 ����,B���������'�0'��Я���0��4��8��<������0��,��0��4���4B�@�!A<&$@�!��8���<���@���,�	�	��,�P��4BT&�������'�0'��௿�� ��$�� ������$�0!�������� ���	� �	�����K����B��'� �'��8��<��ȯ�̯�Я�ԯ�4��8��,��0��$��('����$ȯ��'�ȯ��$
����������������H�DB�@&IX�I�@X�J%K�K�L)�e <
%�q��M�$���������1��$]��������� '����ԏ���1�*���Kh�,<
�h!����1���/$;�&1�8<8�!�9��3(���)$;!���*$#A&1�+`
�,$
�&1&1�-���0��������������!'�������������������4����@���`������
p��x!�����$���/${�&��� ���%K���"���$�����,<�p!��1���8����(�)$;!���<
%Jr(����$}�&�������%��������������	������H�)P!�K$
"�
&����$�������.<�x!�1��(����) �*$;A���<%krL���������$[�&c��Џ��0�4�&%'��������������DB���x�����x��#* B��x���H!*X#%m
������A<��t�����t� !B�0#��t�����#��p��p�!���������9* ������h�M`!����p��!�����%���������i* �����'�M���B��t�����t����`!%�������D��xB�(!��x�!N��� $$�&��� (!='����l��l@$
����N��DB�@��l�O���&1����&������$]�c$]�&��� ��� T�+�&���@��������@��������,�&I���(&9����&)����&���%j���������%����* ,���`@������A< ���h���������* ������P���h*p!����!�
���%����������+* �����'��.���B��h������
��X`!�����($
���1���%i���&1�  !z'�d@�!�������d�
�-�
��d&1%X����d&��d���&1����d(�!&1��&o��� <%krp���,��� <%�r����#���$]�	������<
%Jr������8�&I$;��0.�< &$
��H.� $	��B.�
 �����$
��*��$"��9.�# $ ��-��$$�����${���.�| $\��u.�] $[��U��$]�����$}�������&1���+ @����@������A<��`�����`` !B�0#��`���.x#��\��\
�!���������
* ������Ȁ�X!�i��\.x!�o���%����������* �����'�����B��`�����`����X!%m������t�JL1X����(����%������� �NH�y������h��P!�@���@ !��$���������(!%0!��ĎD<<��$�r�@<$�r�$���b������%.�n�SP`$�o�M�* �*��[� ����d�F���������į������n��ȏ����	��[�+�s`�����1������J<�Q@�@<�HD%�XD�LL$����$�YL�I �DB�@&NX�N�@X�����ȍo�����čd��	�������	����Q�(��������'�����B���'��.���B�K%o���O�M�4���$A������#$ ���(!%0!���$<%�r�L���$!<	%)s�I&NX�N<���$�s8@<&DX$����OL1�����F���$A��HL1�$�L���������$
!�N%��K&���������<
MP!�J��1H��$;��$
��Y')�I&���<nX!�k��1o�����$;���'��`��L���B�$
@�!����B���T�����#��T���'��d��L��T)!) $(��T'��l��L�OL1�� �DB�@�!*�2 
�F�����L<��T$�sX'���@<���F�����L<��T$�sx'���@<��	��L<��T���$�s�'�@<�����}'��IL$��!p$�NL�KL$��ax$�OL���k���(!%0!�����H��H���H�X��$
��H%�����H��H���.�+��$
a�������D��D��$
��D%X��D��D�� $
!�������H�X#)a= ���%��į�H��D��H
�#+G ��H%�F��D��D��H��D���@<'��t����D��H��D<����@#��$�s���o8#@<��$
�������<��$��(��,��0��4��8�'��'��د���(��,��0��4������(A<$@�!��,���0���4��9P��0P!�������'�('��Я���0��4��������0��4�P��/�PB  !�P@�X�9�YB  !�R@�����������'�0'��ȯ���8��<������8�L1��+��8<$�s��$��(��('��x��(��(B���0��<B���0@�! !A<$���,��,��(BT��,��0��<BT* !��8<��,$�s��$�L5l�L��8<��<$�s��$�������'�8'�����$��H��L��P���� ������L����H�!�� �8��LB�&$@�!`�9���H�	�)��H�QC ! �!�1 ����P`8!��H<$�s��$��0��0���$1�(!��LB���4��8��H�!�� �/���L��4B�&$@�!`��8!��8 �!�1 ����8��$�������� �'�H'��ȯ���8��<��@������8�$� !
�$� !��<<��8�!�9��3(��<%*��<��<<
�l�h!����1������<����8(!%0!U!�0'(�0�	,%*�
,�,�$l* �,�,�
(x���!��<B���(��<��($
@!�	��!
��(%K����(��<��($
�h!���������(  !
�$��$��<��(C��8��(@!���@$��!!�
8��,��<�8��@��8��<8!4���$��,�8��$�������'�8'�����$��x��|���������� ������|���$� !�'���@�! �$�%S !��|�%0!8!���������k����B���l��k$a!@�����l�DB�'���@�!@8���$a$a	����<��@<$�t�m$���$������B����@�!��@0!B�'��`@�!`	����<�@<$�t�S$�����|�%	<0!L�����|�	<$��E��k$c!>�����l�DB�'��h@�!@6���$a$a	����<��@<$�uP*$���$�	�,�(��؈!l !��� !�%�@�! $����B�@�!&E
�  !����$�%BT!��k$eA1�����l�dB�'��p@�!@)���)� 	����<��@<$�u��$���$�'��x����� !�@(!@�! �$�%� !��|�%%$�!��k$i�����l�$B�'��|@�!@���$$	����<�&@<$�u��$���$A!���'�L�d780!@�!��X�����L���	����<��@<$�u��$��X�$8* �$��X�	$��X��l��P�$�
,��XKh!�x#%���T��P��X* G��T�	$	* ��T�$Kh#��T��T�(p���!���\��\B���l@�!H!%*	��l��\B�$
��\��\`��l%���l��\%���\����T�(@�H!�$B���l@�!RX!%m	��l��P��T%�%���T��P��P��X* ����lA<$���\��\�	$
�
��P�
$�,��Xmx!�p#%���T��P��X* n��T�
$** ��T�
$mx#��T��T�(����!���H��H�*@H��X��P�0mx#��\�0#$�@<'�����\%���\��HB�$
��D��D��D��H	P#%K��@��\��H��@C���H��@�x!��H��\��@��!��\��\$	�(��\%K��\����\��HBT��\B���\@�!�p!��\��\$
����\'8��\��P��T%	%K��T��P��P��X�* ����\�����!��k$k�������l�$B�'���@�!@����$	����<�@<$�v�$���'�0�$780!@�!��<�����0�mM��<)�� �	����<��@<$�v0|$��<A< ���,��<�$�* �,��<H#%+��4��4A��4�$�x!��4�,%���4��8��8��<* B��4�$+* ��4��8�
$M* ��4�(��8H���,	X!`��a�j��!�!�*��4�
(p��`!��A<$(��8��,H�@�!	P!�R��8��,x�/h!������8��,H�$(	P!�L��8��4%y%���4��8��8��<�* ����8��8�	$	* ��8�(
X���!�/���8�
(@���!�B��8%*��8��8�$�* ���(B��,�(��<�$�* ��<%����,�$'	���	,��<�
$�!��k$n������l�dB�'���@�!@���$!	����<��@<$�vD�$�0�'���@<$��!��k$r�2�����l��B�'���@�!@*���) 	����<�@<$�vl�$���$!'�������R !�@(!@�! �$�%S !��|�%0!8!���k$s�4���<��l�dB�$�v�@�!@+���+! +! 	����<��@<$�v�i$���$�'�������� !�@(!@�! W$����%��. !O��k$w@�����l�$B�'���@�!@8���$A$A	����<��@<$�v�4$���$a'�������2 !�@(!@�! "$����%��� !��(��(�$��(� !��(�
$�!����<��@<$�w $��$�������� �'�x'��Я���!��$��0��4�� ��4�$��4A< �@�!�(��,��,��4�*  A<$(��,�(H�@�!)P!�Q��,�(h�mp!������,�(H�$(	P!�X��,%���,��,��4�* ���,�0<$�', !'���8!¯���$���� �'�0'��௿�� ��$���� ��$���* �� �$B��$A<�� @�!���$�� �I�����'� '��د���!����(��,������(�!��4 @��8* ��((* �	�)�
�*��+�$B��,B !3�
�.�* ��8* �BB ! ��((*  �!�1 ��@��(�*4�
��(�p4�L��P���������'�('��د���!����(��,�����<��8�"A<$@�!�<�8@#�(�	@�
8*X#%l���,��,B�@�!�2�$A<$�@�!�2�$��,BT !
� (!���������'�('��ȯ���!����8��<�����<��8�O�<��0�@��,��0�	8	B��0%K����0��0$[�����0<���!���3 *����,$]�	! A<$@�!��0�8K`#�,��,�8�x#�/��<��$$'�$@�!�2�$B�@�!�2 !
� (!���������'�8'�������!��$��H���� ���4�f�,�(����!�DB�@�!��4�4 �(�)��4	P#j`#%�����4��4�8�x!��4�1 ����4A<��<��<��8��0�4 ,�(��0	X#��,��,@�L��0��8��,C��(!��8��,�x!��8��8�%�&C���8�((H!��8�+%j��0�$BB  !�1 ���L��0��8BT�(!�DB��<�N��4�X�4��$�������� �'�H'��诰��!�����8�4��4��B�4B�4��4�4�������'�'��ȯ���!����8��<������<<���!���3 $-�M��<'�,6�0!��4��,�	 �<��<@<$�w�u!��4A��4�0lh!��4��4�0* �<��<@<$�w�_!�0�$��4�H#9*  �<��<@<$�w�O!��4�0�
,K`#�p!��0��0��0�$�H!��0��0�(
X�;+!��<B���$�
,%�����0��0���0�$@!��0��0�
,*��0�(h�-�!�$��<��$B�@�!@�$��<!@ !��0%����د�0�<��<@<$�w�!���������'�8'�������!����H��L��P��T����PB���4��TB���0��L��D��8��D��P7���D��D���D��4@!��D��8%*��8����8`�<��P@<$�xP$��LB���0��4��8�p#�@�!�8�!��,��,A<$���<��<��@��L��P7���D��D ��@��LBT��L��D��@@(!C�j0#��D��L��@�x#��!��@��@��TBT��@��0(H!��@��D��4j`!��L����<S !��< !0!8!��(��<B��(�������'�H'�������!����P��T��X������,��8$����4��X$$��
��X�($	����8^��X<�K�`!����1��Q��X'�H780!@�!��8��H�����8��43��H$-�(-��H%*��H��H$$�l���H%���H��H<��8�!�9��3(	��H'�H780!@�!��4���H�*@���8��4�* $������X��,��TB�@�!A<&D��L��L��@��T�/<�!���3 
&1�(<	(H!�)��1*@����0�+`n��H  !�(!��D��D�,<
�h!����1��
&1�/<�!���3 ����8��0(* $���*@?��4$��a��0l* 4��,���D����#��D���H��,!��$��#��D�9��$��@��LK��@$ ����@%���@��H��D��@(!C�80#��D��H��@(P#j`!��@��0%���0�/�����@� ��4��0	* ��8	* ��LB�<��X@<$�x,
!��L
�<��X@<$�x`!���������'�P'��ȯ���!����8��<��@��D������0�<�x!�1�
&�<@!���1	 ���
${A$��0&��L���0��L���!�2���0���0'��0���0$G0H#��,&1�*<jX!�k��1l��-�y��$��$���!<�!���3 &(�+ ��$%*��$��$�l�<
�h!����1��&8x+ ����8(!%0!��8��$<�$$�y$ 8!@<�0#g$��0��0%*����07  !z'� �� ,�!&1��.��0�0x#��,)$��0`��8<$�y`%0!?$0�#��,@��$	A��$
A��$ A��$\A��${A�p$}A�w&1�g�9<�p!��1�
&1�)<
IP!�J��1L�����@����D����H`��,��H�8!���������'�8'��ȯ�����!��!��$��8��<��@���� ���8� $\A !z'�0@�!�3��0�!&����8��0@#%	��8�2��8�&%K����8&1��8���� ��$�������� �'�8'��P��$���������� �������)� '�`��\���A< ���\��X��D��D���* ���4��8��<��@�!��,��0��D���	P�
X!�p�${�6R�
�6R��J��@%���@��<'��<v��@%(��@��<%K����<l6R��0%���0e6R��,%���,^6R��4'��4W&�	 R�${
�
$}A	�$[a�$]�6R��8%���899$\a��.a] !$ a��.a! $	a��.a
 `��!$
a��$[a��.a\ $$a��${a��.a| $]a��$}a���}&��D���Ȁ�H!�(��XP#j`!��X��<���@��8��4��0�x!��,�H!��X(X!j`!�p!��X$2X��X%���X��X%(��X��D��\
h�m`!����D%���D��D����* �0��XA<$���T��T��D��D���(* ���D��\h�M`!��2N�${�8&1��D���H��@!��`u2J@i�5$
\�-&1a$\�,&1$n�.]$\�8&1$t�9V$\�/&1&�	${!
�$}	�$[a�
$]A$
\�-&1��=2$\a��.a] $$a��.a% $
a��.a $	a��$ a��$[a��${a��.a| $]a��$}a����.&1&���2Y $}�/&1$	 �)&1��D%��D��D���M* �d��T,� � ����\'�`���\B��T��$�������� �'��'��ȯ���8��<����$��4��0��0��8�* ��0��<H�)P!�DB���4@�!q`!%���4��0%���0��0��8* ����4A<��(��(��0��0��8)* ��0��<`�Lh!��BT !��0��<���@!�B�@�!�!$ �&��0%+��0��0��8L* �������(�������'�8'��ȯ���8��<��@������8���,���(��<�X&X��/��@��<�	�%��@$A��<�$���<B���0��0)�� 
��0A<$�@�!�$�&X�����<BT��,��(B�������'�8'���$�$�����$��$���$
���$
���$		���$���<jX!�k��1l����$C��$���$����$M!$���<	(H!�)��1*@��`$
���$
����1�5�����$����1	���$���<jX!�k��1l����$M��$���$����'(�����������<jX!�k��1l�-��%��У�$���<�!���3 ~$������	P�K`!%��У�$���<�x!�1�k$������H�*X!%l�У�a$
\��$��[$]���,�^ -$C��c,�D $$���,�% $"���,�# ��$ �����$;�����$[���,�\ $M��|��$\�����$r��/,�s $e��!,�f $b����$n���${��w,�| $t���t$}��l�o�m��������'�'�������@��D��H��L��$��D��4���<8�!�9��3(��4%*��4&�`����4��Dh�x#� !A<$���<��4��<@���0�!��D�*@P��@��D'�('�$����'� �'�D��,��,���<B��,H�� ���4��0��48* ��@<$�y%0!3$��0��<	P�
X!�p��$��� ��(C� !��(�!�&	��(�� �0!��(
�!&��0%���0��D�	 ����<��L�H��0��H��!�����'�@'��د�����!��!����(��,�.�	���$�!��9$*!�!�($*&1�) �$�
@
 !! (!@|$&�`��u!�,$?�i�-$[�S&1�.$]��/�`!�8�.�($-'�)��'��'@L!�+��+ 	��'��+ �/��+ 	��'�+ &1&1���)$]!�*@
&1�+$]a�,����-$\�&1�.�!�/��!&1&�\�������'�('��د���(��,����(�<�x!�1�
&�<@!���1	 ���
$"A&�$\a !z'� �� �!�
$\����$"���8�${�4$���� .&�$\ !z'� �� 	�!�
$\A���$}a��%������${���%���� k!�����	$[!$&�
$]A�` !�$@�!�$;�&�
$]������$]�&�$[���$\!�$
& !z'� �� 	�!�
$\A���$;a��(&�
<�p!��1����$]!��,&��!�����'�('�����,��h��l��p��t��(�� ��$������l��p$�	��t�<��@<$�{��$A<$@�!�0��t�B�@�!A<&D@�!�3��t�$�%BT� ��t<	�%)v(��l<$�rp��� 8!��t��l�E'�X�'�P��\��\`��\���T��T��X�* ���T��P����!�%��l'�D�'�8��\��\���D)! ��T��P`�Lh!���<@<$�{�$��\o��D�	��8��(��t�<�&@<$�|$��\Y��8�DB���@��D$�	��8��B���<��<�/���@��<� !A<$�@�!�4��@��<( !A<$�@�!������8&��%BT��D$a
��@�`!%�����8����BT����<��������8B��T'��T��T��X	* �v��PB	!��PB��\��,������ ��$��(�'�h'��௿�� ��$��(�� ����(����  ����$�$�������$� ����� !���K1l�����������3 !�����'� �'�����$��@��D��H��L���� ������@��L��O �&Q�Q ��D�  !@�!��D��H�@�!�8��0.�3(���HB���0��0�
I* �1l��B��0A<$�@�!��
5����0����HBT�$���$���$�������� �'�@'��د���!����(��,��0&�${�&&��$�$}��
&�$}!�����0 
�
@��0&����0��(��$�<�x!�1��$_!&�<	(H!�)��1*@���$_a����0���0����$ '��В��#���(��$�0!������((!%0!��(<��$�$@<$�y䓨#��������'�('��௰��!���� ��$��(��,��($���, !���0!����	��,�<�&@<$�z$���!��($!	��, !�E�F�8!!��,�<�f@<$�z$$�����'� '��Я���0��4��8��<������4��8)� 	��<�$<��@<$�zXQ$�8 K!��8��<'(��%*��<��8��8`=��<&$�����$��$���<'��ԍ����$�/��$���$�9��$�	5*�
��<'��؍d�@�!�5��
��$��/ ����9 �0��8��<%*��%��<��8��8���!�������'�0'���������������������������)� 	����<��@<$�z��$������l��l$#�	!��l'�p$
78$�@�!��x��l��p%lL�M�����%���������'���F��l<�	iX!�k��1l�(��l'�p78$
@�!��x��p��lM�N��� ��� ��x�(H#��x���%l��������%����� �k� ��'����x���%	��������%l����
 ��h��x@� "��h��d��d���d��x�(
��d�+��d��d�����d�5��d�
 �����\���$�
�������0!8!��t���������\�����\0!8!��t��t$!
���<�$�z�@<'� ���}'� ��h�	 ��t
�<��l@<$�z�$�������'��'��௿�� ��$�� ��$�0!�����!��<��'9rp!�����'� ���<%�rp���!�'��௿�� ���� ���1��BB !��������'� '��8����!��$��ȯ�̯�Я�ԯ� ��������������n �	�o ��'���$����������������k����l ���'���m'���n ��ԏ�Ў%�'(����Я�� S�) &$B�'���@�!����A��Џ�Џ���������&$@�!���B����K������1�������������/��8�����Ԏd<�'$�z�@<&&$���Q����&$@�!����I�����ď�Ў1%K%�����Я�� ��������Ԏd<��@<$�{$$���2��̎0!'��������$!���%���$
���<�g�&$�{H@<'�,���}'�,���$A<%k{h�k$���
���$�<%�{��n$������@�X3 �DBB@ !�R@������h����i �����$���������� �'��'��د���!����(���B� �.1���$BB  !�1 ��B !�������'�('��ȯ�$��8��<���� ������<����8�!�� �8��<B�&$@�!`�9���8�	�)��8�Q
 ! �!�1 ��!��$�������� �'�8'��د���(��,����(B��� ��,B�����)� $���� �� !A<$�@�!��(BT&�� H!%*�
���,BT������!�����'�('��诿������ ��$�� $�
����$<���@<$�~T$$��'��'��X���������������������)� ������<<���$��@<$�X�$����(���������'���$B�@�!$
���$����������* �������%��
������<�$�@<$���$������
X�+`!���-��.<�x!�1��9$\!&1�(���*@'������`�,h!��$d���� !B�'��@�!���'���������
X�H!�%���!@���%����J>����������!�%���'���'��������@���^���������* ������h�-p!�����!@���%�������'*���������* �����B�������* ���%�����������* �e���  ������X�K`!�����0!8!������$!���������x���!�<�'$��@<'� ���}'� ���!�������'��'��௿�� ��$��(��,��($�
$�
��$��,<���@<$�� $��,��$�%0!8!����($��$��,�&�E8!�  !��$(!%0!��$���d@<'��!��'� �'��௿�� ��$��(��,����($�
��$��,<���@<$��L$��(��,$����$���$@�!�0��$$�(!�����'� '��诿������ ��$�� $�
����$<���@<$���$$��'��'��௿�� ��$��(��,��$����($�
$�
��$��,<��&@<$���$��($��,��$�%}���KL5l�LL��,��$��%$$��'� �'�������`��d��h��l��h)� 
��d��l<���@<$���/$��h$!
��l��d�0!8!��\��h��l$����$���X��d��X0!8!��\��XB��\$!
��d<�F$��@<'���d}'���\��'�`�'��������������������'����쯠�$������������$���������** Z������h�mp!������������@�H!�*$<�L��K`9���%�����������* 	���<����@<$��$$������	`�P!�K��쏭�%�����������* ������	@�`!�������%m����������* �����')��������'���������L* �����%m�����������Ȁ�H!� ���	���<����@<$��T�$������E*:��������$$��$
��$��$����ԯ�د�̯�Џ��B���菹�+! 3D@'��@�!��8���@�!<����$$��|@<8!$���@��؏�쏦�DL���@�!��8���@�!<�D$���@<0!$���)���DT$�����R<$���BT'��C�'��'��$D\0!��ԏ�����8���@�!<�����$��@<8!$�����ԏ�쏦�DL���@�!��8���@�!<�$$��<@<0!$�������(!C�0!@�!$��Dd'��@�!$��!��8���@�!<�$��l@<0!$
����D@'��@�!���<�����@<$���$����Dl������$�����8���@�!<�����$���@<8!$������� ?���Dx(!@�!$�����Dx$@�!$��!���Dx$@�!$��A<	%)���(��(B�@�!��Џ�(DL0!D�$���DT���DT���DT������D����<�$��0@<'�0B�'�0@�!0!$DL'�0D�$���DT$����ԏ��DT$
����Я�௠�$����ď�܏��mp#)�d  ����$ȯ�����	�@��܏��A<��$���	��䏥$���B����B��$��䏫���܏�䏤��0#$���ET�(!��ȏ���������8���@�!<����$$��T@<8!$	���������P!�������䏭��X!�`��䏯������$�9���$��+E\'���� �� $��
���<�D@<$���$���
�� ���������$�1�����<�$@<$���$	��ē����ď��$�����DT���$��A���DT���$������DT���$������DT������������'��'��௿�� ��$��(��,��($�
��$��,<���@<$���$��,��$�%='�������
��$���$@<'��!��'� �'�������X��\��`��d����`$�
��\��d<���@<$����$��d�$B���P��d��\�*:��$��d$d�*�Ka+��P@ !B�'�� @�!$��$C�$/��T��T���\'��(����T��$���\'��,���T� ��\��$%$��T$/�K�!��d$r�����(��P)� #<$�� � !B��0!@�!��$C�$.��T��T��\��$%$��T� ��\��$%$��T$.�(S!��d$e�j�L�'��P)� "<$��,@ !B��0!@�!��$C�$.��T��$C�$/����T�����+ ��\��T%$%!��d$t��(��P  !B�'��0@�!��$C�$/��T��T ��T��\$%$���\��$%$!��$`�$��d$r���N�"��P)� <$��8@ !B��0!@�!$
��L��$��LEh@�!$����\'��8���\'��<�9�!��d$w�l���
<��P$��DB�� !@�!$
��L����d$e������P) 
<$��P� !B�0!@�!$��L����d$e�+�n���P)� ` !'��@B��0!@�!��L����d$o�O����P� !B�'��H@�!��H<��d$i���!��P)!  !'��PB� 0!@�!$��H$��d$i�l��A��P+ 
<$�|@� !B�0!@�!$��H��d��\<�&�'��@<$�|LA$��$Ep'�(@�!$����\'���(5!��HEx��2@�!X&-k��L��.1L�9��/��L��.1��9�@/9��L	��$��$����L��\'�������\'����K!�����'�X'�������`��d��h��l��h$�
��d��l<���@<$�}<{$��l��d�%0!8!��\��\��\$!��d<}$�}t��\e��l��d�E='�X��\��\`��\X��X�@��l��d��0!8!��\��\$���\��\���\$
��d<�&$�}�@<'���d}'���l��d�0!8!��\��\$!��\@��\$a��d<}$�}���\����\$���\��\���d(!%0!��\��'�`�'��p�����������������$�
������<���@<$�}�d$�������%'���'�����������V���������** ?���������
p��x!������e�8!�������0!8!������  ���$������$!������$A���<�f$�}�@<'����}'�
���%�����������* �����B������(!%0!�����'���'��X��$���������������� �����������X��T$ǯ�P���+! 
������<��&@<$�~o$���%K��H���%�������������A'�|��L��\��t��x�$%.��l�!�$%! ��	$\! !z'�<@�!�S��<
�!��K&&R�$%��
�����lNx#��p$��L��$%!	��l$��p$	��L&�$
%�*&1&�$-a$-�,&1&�
$0�$0�.&1&�<�!���3 @� !��x&�<	(H!�)��1*@���$*a�������H��@���x���%��������H'��H&��x��x  !@<'����) &1�*@���$.a$.�,&1&�
<�p!��1��@� !��t&�<8�!�9��3(���	$*!���@���H�d@���t���%��������H%���H&��t��t  !@<'���9 &1�(���	$#!$
#�*&1&�$la&��,&1� ����W�|��H'�4��6�0!��l��H����4�(
�����H<�$�F@<$�~x@$(��p���H����l��H��B���p���H'�0��6�0!��l��H� ��0�	 
�����H<�D�f@<$�~�$��p���H'����C�'�`@�!$a
�����H<����@<$�~��$��\$@��p��t) ��p��t*X!��pm���<%�������<���@<$�<�$da��.ae 1$Oa�}.aP $Fa��.aG $Da�q.aE `����$Ea����$Ga����$Xa�].aY $Ua�W��$ca�~��$oa�M.ap $fa��.ag $ea����$ga����$ua�7.av $sa�P��$xa�,�������%��������H'(��H&��x��pI* ��x��p��T��p��P�p!�* !��T��p@!H@��(��(A<$���,��T@��X��,��TB���P$�a��XB��,��X��(��P��L���X��T��l��pB��(!��T��p(H!��T��X��TK`!����\�
��X��T��`��d'�|@<� !��X��T��l'�|@< !��X��TB�	 !��T@�!SX!��T������X�������P���9��//�!������<�$�F@<$����P$�a��XB$��$�������� �'��'�����!����0��4��8��<��0B���,���,��8��!@!%	��(��(�j* &�h@������(�* ��(����A<�� ��� �B�� �B�� ����	$
�
��lh!��$����$$ ���$'(��$�	%*�
��$��0BT��$��,lh!��$��$��4��8C���$��8��!���8��,�
(H!IX!������'�0'��H������������������������������ $/!!${!�������$}!�������$*!
$[!$\!$?!$�����&��� p������<	%)�ĭI_$���B�@�!&K������)�� '�̯�����A<��ď�������#�����ď�����C��������$}!7&��ȏ���	$}!�
$,A
&�$}a�$,������
p#�����ď����ȏ��C�� !��ď��������(H!* !BT$���������ď��(�@�!@$�$}a�����)�� ���B�!��������Ep'��@�!@���$@1����!�����������8���@�!<����$$���@<@8!�$���B�������H#������)A� '�������A<$�������������C��������p!���������������Q���$.�!	���$.�	!��������!$�@;�
@	��������ąf( %e/���������x!%�+� '�௹�	�������*
 !A<$�������������'��`@<$����������(�&������'��m���B���������'�����B���P�	��������� (!( 0#@���B��������P#*X!%m������)�� '�$������A<��쏤쏥�BT�����쏸� (!0#C�� !��쏪�$/*X!�h����쏬��p!���������쏧�(�&������'�$����B��� $!���������'��'�������@��D��������4��D$~�����D���D$/�! E�'��p��<��<	��@<��D�$@<$��{!��D&E��D&�
@�$/a
&���
$/�����Dx#%�����8��8���h(* ���h%*����8��D���l��8B�$����l��8lh!�����lE|��,��,�	��@<���l��@<$��D9!��,���<$��4��<B�@�!B� !@�!2H!��8��8���hK* ���l<
%�������lB��8%����h���hA<���l���l��<BT���lE�(!��4F	���l���������'�@'������������'�)���$ǯ��������$��$��$��(* >��$��
X�+`!������$~�������*:����S$��$/�(
����'��x'��(�$��� ����'��|(�'�� �� @,��$%+��$��$���* ������
��<��@<$��`$�� ��� 
������H��$	�i�������BT
!�������B�� ��'��'����������������������������l���+ 	���<��l�$@<$����$����	��|���%K��������%�������$t����B�� !���@�!�$0!B�'���@�! 	���%	��������%K����������������x���'������'(�������� '��ԯ�t'���$e�l���B�� !���@�!��0!B�'���@�! 	���'��������'(������$!������K��t��x��p�����|='�d��h��h���h ��d���t��p�����p0!8!��h��h$�
���<�&$��|@<'� ���}'� ��h�������'��'�����$��H��L��P��T���� ��P)� 
��L��T<���@<$����$��T�(��D��T�$@���<��T<
�K�l�h!����1����<�
��L��T<��&@<$�� �$��P$F��< ��L��D'�8'�4����'�@�'�D��0��0���0k��<%�����<��<�����8+� 
��8A<$���L@�!�0��L$�(��4@��L��@��8�eB���L��8���x!����L��8��@��7��P$!1��T�B���T@�!�$0!B�'���@�! 
��L��T<�D�f@<$��l $��DB���8��<��8�* ��D��<��L��!��	�9��L�K�`�U!��$���� �'�H'��P������������������������)� 	����<��@<$���/$�����(�������$B�������$aA0�������dB�'���@�! (���$�	����<��@<$���
$��� !��N�������	����<�@<$����$�������(������=���$b!(�������DB�'���@�!  ���$a	����<��@<$��(�$��� !��N����������������!���$c!!���<����B�$��X@�! ���)! ���$A	����<�f@<$��d�$��D@<'����!���$c�#���<�����B�$���@�! ���)� ���)� 	����<�@<$����$$�����������$d![�������DB�'��@�! S���$a	����<��@<$���b$��� !��N��������W����������� 
����<��@<$��D$�������$B�$�@�! ����K`���������� !�8!'���	��� !��'���8!'���!!����(�̯�����$e!,�������DB�'��@�! $���$a	����<��@<$��@$��� !���0!��4��4��$1��$0��	� �!���$gA�������dB�'��@�! ���)� 	����<��@<$��p�$����������$l�+�������B�'��$@�! #���+! ���) 	����<�&@<$����$$
���� `���� ���������$l����������B�'��,@�! }���+ x���$!� '��4�	�
 ��F@<'��8|!���$aY���'�,��6�$
��0�����,�����	����<�&@<$���`$��0
�	  ��� ��0�lLp!��0��0�J!�
 ��(��(��(��0�(	
��(�j��(��(�����(�����(����@�!�$
�
 !����<�@<$���$���$p!�������B�'��<@�! ���)! 	����<�f@<$���$$
�������F���$t����<�����B�$��L@�! �BT'��D�!���$v�'�������B�'��H@�! ���+! 	����<�@<$��X�$����	  �����
 �L���
����<����@<$����$���$��������<��<'�D���$��@��������@+��@
`@��@��@A< ���$��������$B�0����'�D����B��$������$$-���$!������p@
����+������@������N���������Ȁ%��@!�����+���-���$A���������3
�
����/�����������  �����������%j�h!������/�����<
������p�.`!��!(!@���'
����s������@�!�$
�
���'�D/���B!�������'��'�����$��@��D��H��L���� ��H)� 
��D��L<���@<$��W$��L�(��8��H$!+��<��8�K`"��D��8'�4'�8�����0��0���08��4�����<%���<��8�(����H$!��L�DB���L@�!�d0!B�'��P@�! ��8B���<����D��<��@<'��X!��$���� �'�@'��௿�� ��$��(��,����()� 
��$��,<���@<$��@$��(��,$���$���$@�!�0��$$�(!�����'� '�����0��4��8��<������8)� )� 
��4��<<���@<$��tl$��8$!<%����,<��8$! ��<�DB���<@�!�d0!B�'��\@�! 
��4��<<����@<$���H$��<'��d��G\��,��<'��h��G\��,��,��8��4��<@�!<�$�$���@<8!($��<��,�$@X��8$A<>Z$�����(��,>)��(��($��a
��8��4@�!<��$���@<0!$!�������'�0'�����$��P��T��X��\���� ��X)� 
��T��\<���@<$��I$��\�$@���L��\<�	�*jX!�k��1l���L�
��T��\<����@<$��X*$��\$e��(B�  !��\@�!�$0!B�'��l@�! $
����H ��\�d@���H��\<�����x!�1���H
��T��\<�$�&@<$��t�$��X$AN��\�dB���0��0�	��\'��p��B��0!@�!����\��B���0��L��0�* ��T'��x�(�!��\��L�*Kh!��@��H$�����0�* ��0��H��H��L* ��T'��|�9�!��\��H�Km`!%���<���X$��L��\��0���@��0��L)* "��T��@'�4'�@�����D��D@��D���@�m���0%���0��0��L�* ����H$����T��@%$g!��H��L)* ��T'����j\!��L��@��0��<��0��H�* &��<� ��T��<'�4'�<�����D��D ��D=��0%*��0��0��H�* ��<�������<<����@!���1 ��<%*����<��<<�m���`!����1������<����;��<���T��@%$��;��<�9!��$���� �'�P'�����0��4��8��<��������4��$��8$�
��4��<<��&@<$���[$��<�	�*@��<��4�e�L!��<��$���0!@�! 
��4��<<����@<$���;$��<��$���0!@�!
��4��<<��&@<$���*$���$�(��<�DB�@�!A<&D@�!��+��,�
�-��$���/��$���<&$�%BTB !!���������'�0'��诿������ ��$�� )� 
����$<���@<$��$�� $!��$���%$$��'��'�����,��h��l��p��t��(�� ��$��l��d��p)� 
��l��t<���@<$��D�$��t�$B�@�!&H$��H$��d��t�Q�+`��,$%��&1�-$*�$��h&1��h�/<�!���3 
&1�(<	(H!�)��1*@����h`���l$���l��t<����$���@<$W$��l'�t���#���!��l%	��l�24$
d�
$�w$s���d�
p$c�$�j$F�$�d$f�$	�	^$
s�
��d�&1�,$]���R��l<�&��@<$���$$dA��.Ae '$OA��.AP $EA��.AF $DA����$FA����$[A��.A\ $XA����$cA����$sA��.At $fA��.Ag $eA����$oA����$xA��������d���!��d&1�9 �8��l��p%	*��l<%k�����$��dA<��`��T��d'�t��T��l�* ��`��d��!���d�		P!��d��T&%l��T��T��l�* ����t���������������|�������Cɯ���\��\��l** ��\��l��T'�t��T��l�* n�R�'�2��@<'�����T��tȀ�@!���l'�2�8!Q�	'�2�&'���@<0����T��t`�Lh!����l'�2�8!@��T��tx���!�%��l��8!5�'�2��@<'�����T��tP�*`!����l'�2�8!$�
'�2Ť'���F!�D0D8@<��T��tx��!�%��l'�2�8!$FA��$cA��$dA��$fA��$sA����T&%��T��T��l** ����`B��l��\��@<'���!��,�� ��$��(�'�h'��H�������������į����$�
������<���@<$��0u$����%*:������i$���(!D\0!������!
������<�D�f@<$��\W$���G�'��@�!$��
������<����@<$��x���DTD$���A<$�������������ET���@�!
������<���@<$������DT+$���DT������(H!� ������0!'��������$A������$a��ď��<����$���@<'����}'����B��������'��'��ȯ���8��<��@��D��������@$�
��<��D<���@<$����$��D�$B���4��D��4�B�'���@�!@��D�$�%B���(��(@��<'�����
��(���<'�������<'����8{!��D��4�B�'���@�!@$	��$1��D��4�DB�'���@�!@��$&��D��4�dB�'���@�!@��D����!@�!@��<'�������<'��įI!��D��<<���$@<$��@?$$	����(��D�K�q��D��B���4��D���� ����D��4�B�(!@�!@
��D�(H#��(��$@&�`����<��(��@<'���!���������'�8'��x�������������������$�$���#���$���'����$C�'��@�!$������<�&�'�@<$���j$
������<�D�f@<$���_$'�tG�'�d����������$��������0!8!��|��|���|$
���<�&$��4@<'����}'���|:���%	��������@��'�lG�'�d��l��t��plh#
q�p#p��p!q@�p!��xp��p!q���#�@!��`��`D� F�!��\�X���(!%0!���ǩXD�PǨ\F�T!���<F0D��D$��LD�D�@<!�����'��'��Я���0��4��8������0�<�x!�1�
&�<@!���1	 ���
$-A&��4��878 !@�!X#��(�$+�&��4��878 !@�!��(��(�
��4�	�����0��4�8��(�������'�0'���@!���8!��<�x!�1�
$���<
YP!�J��1K`�����$0�$���$x�$�$$��$$

$�
��$0���$x$�$���%)��-! ��)@!$
����$�K$
���%)��-!
 	X�hX!X@i@!$����$�6$���%)��-!K <)!�)��-! i�@!$����$���%)��-!K <)!�)��&+ 	x�@!$����$��� �8!���!�'�'����0!�@!��&�!�������8!�`�!�	��%I$����@!$������!�'�'��诿���������* 
���<ȀY!�B��<<��$���@<$���<$B����'��'������0!�8!����$-$����$���$��$0Q$���$x4$���-0 -: 	���(H!%*�Я�-a -g 	��a�h!%�����-A -G 	����!')�ɯ���-0 -8 ��
X�h`!%��Я�$���-0 -8 ��-0 -: ��x��x!x@��!'�Я�$���-0 -: ���������*�'�'�������!��$�������� ����2<�p!�Λ�1��&1�2<�!���3 ��&(�$��AH$ $
�
�!7@�!�  !84&@�!��!�� (!=&������`�$���H���!���84'��@�!������������2����(!%0!��<����$$���@< 0!�
�R�$�!��&%$&����`�����%��
���H����(!%0!|!��'���84@�!�������	)�*@��`����<��$���'�(@<&&�
������'�(%$X$��(!%0!R!$�N!$�J!$�F!$	�B!$	
�	>!$�:!$
�
6!$�2!$�.!�3&-�
$
�&.�$�
$�	$<a��$=a����!�3&)�	$�&*�
$�
$�	$=a��$>a�����!�-$=�&/�$�$��!�($=&)�	$�$
�
�!�+$&a&,�$
�
$��!$��!�8$|&(�$	�	$��!$
�
�!$���!&,�$
�
�!$4a��.a5 R$*a�W.a+ &$%a�Y.a& $!a��.a" `����$$a����$(a�4.a) $&a����$)a�-��$0a��.a1 $-a�6.a. $+a�,��$/a���$2a��.a3 $1a�{��$3a�v��$=a�\.a> '$8a�k.a9 $6a�e.a7 $5a�_��$7a�Z��$:a�.a; $9a�O�}$<a���x$^a�Z.a_ $?a��.a@ $>a��g$[a�x�b$~a�V.a �\$|a�B�W�U��$�������� �'�'��ȯ���!����8��<��@����8��4��$��88�(!��0��0���0(�$��8(!:�$����0��0 ��0�$
��8(!%0!��8<��$@<$���$G�
$A$��)� 6�
��,�<x��0!�ƚ��8:�(!��0��0��0���,�@#��	-*�
�``'�
$!��$!��$!��$
��$�����$���88�(!��0��0��0����(���,��,)! )! ��,$A$A�!���,<
`��h!�����@�* �!��,$���(	��,$!��(��4�*H%K�+H��,<h��0!�ƚ��8:�(!��0��4��H%�����Hu��,$!h��(1��,<
X��0!�ƚ��8:�(!��0�	��(��0���0J�
$�6��4��H'��H��,<@��0!�ƚ��8:�(!��0��4�KH%i���IH/��4��H%���H��,<x��0!�ƚ��8:�(!��0��4�(H%���+H��0 ��0�
$A���,<
���0!�ƚ��8:�(!��0���(��(�
��,<@��0!�ƚ��8:�(!��0��0`��0��+! �	 �
$A�
$����,���(�p������8<$��%0!�$��(�`
$��a<�
����	 ��8<$��(%0!�$��(�
M�
$���<�A
�����(��x!�z��(��#�s��(�
Ih�
l��(��p�e��(��X*�^��(�	9P*�
W��(�
`*9��O��(��@*9�G��(�yH&-)�	?��(�
M�&�+�7��(��x$�0��(��&�)��(�
*h%�
"��(�+ ��+���(�+ ��+�&8��/ ��<8!�8j��_��8(!%0!��8<���@<$��8$�������'�8'�����0��4��8��0����4�� ��4��$��0'�:�$������ ����($
��0(!%0!��0<��4�$@<$��\	$��,��8�j!��'�0�'��X�!$����`��<E�$���@@!�O�����#!'���<$�������'�(BT������'�6BT`(!'�(D\(!@@ !'�&$ET�� $A�� <$���'�&H$���� DT����'���'��诿>����D���'��'���������!��!����!��@@���1���&R��c!&R��@]�� <��$$��&֣௱,��(�@H� !U��@��,��,��(��$�� G!��,��(��$�� ?���	�%*�
�'(����B* @�!@�!@�!� !$
I8 8!@@�!T�#��
q`#���p!�A��!!@!�
�	����!�(	P#C* ?� !`Q�#��,��(��$�� 
��Q�#@����,��(��$�� ����@���������'�H<����$B��'��诰N+@�! ��<����>Z !>) !����&+ �������'�'��௰��!��$��&$���0N��0Y0O�!>Z !@!�
DT����A$��$���0Y �B��������`!������'� '��诰��!���0b@0n�)!0n� 0i @0i �@0i �O+ 0i ? !�0x0i 0y 0i �@0i �H+ ��0i  !$��!`!�����'�'�������!��$���� ����H�$B$$0nR�"0j�
<��8�!�9���Y+ L��K$
�C�%	a�	��K`��$? !$��A��K$����KT`!0jR0n��K'�G��G�
�DL$$A��KE��$�$��5� ?�
0n��@���0yD !?d !@!!`$$���0bD@��0nR? !�$B��A���K>�(!
���K���	%*�
�1l ���K$����K`!��$�������� �'�H'��௿�!�e�n�8!�x#���x�g3D �h
<
%J��H�*0!
�`�k
<
%���`��0!���#�b�d��!!�!���x��#"* 	��` !�� ?����� ����!�d
�� �(!DL0!���� "!�j$��5K �k!��'� �'��诿��$0N�
0O��$��2$��$��A�$7����`?��������� !��1*D@!��
<
%���`��(!���x#����A@!!@!����@#* !?�!��'��'����!���n�e
1���0!<'9��!H�<)!�b$H4�(��(� $ �<$��d�!<$��d�!�k
<`�,!$J �*��$ �� A<���� ��@�b�m�y
�o<5�@�(!�n%� �8��<�l
%kH�+!<h�-!�b$J�*���n� !�nIH�� �� @	���b0O���4Y@�y��'� ���
<x�o!�c����x#A����Y* ���<�c��'���0n������ �
��$0o��4c0c�<�#��<�#��$��<$Ɲ�J'�<�c��0x @!$��@!`!��'��'��Я�4��<��4�!<�5�������8$$d��)��('����� ��$'�8J� !�� � ��'�0�'�������!�������C$0n�!���!�B@�O��X0yD !?d@ !@!!`m$����4�H
��0�J<H�i�!�s��1K`W��,��(��$�B$��@�!p�#  !?@ !T��0��,��4��(��$N$���Pp�# �� !�(!0!I8 8!@@�!P�#&1���L�N�h#�M�B�x!A�O!@!�X
<Ȁ@!����I	P#C* ?�@ !��!�K1l@�
��0?@ !T	��0��0��,��4��(��$$����0��,��4��(��$�!�B��Ѱ!B�� !�D
@�!�(!DL@0!!��0��4���������'�`�!F!��<$ƛ��p!��0��!$00�$+��$���!�%0���	$+$��$��H!�%0�$+a��$-a��0�@$0!$0c(#��$��`!��1���!(��(!(@�(#��$��x!��$�03 ���!@#�!#`!�'��ȏ�����,�!��0��4��(�� ��$�������������'���'���'���6��0!4O����������������@(!����$�<�7����$����!�!�#`!0Y  �!`�!� �0H 0!������" (!�#`�!�0I ��$!+ Q+ e`! �!U�$+ ������
����6&R����f!&R.A ����! !N���������@�!%l�&r���0C`�@$
��#W�!
W�!���������x#��!$!��x�#&R���@�!0+ �+=!�+ 
@�!<�N�4��$��A^�#2!^�#N�@ !$��AN� !(!�����H#	P!�%K�������(!%��6���5�������������|�"@0!�+ 4���������4���)���������(!��������&"��4���������� ��$��(��,��0�'�8$��������N$���x$�O�����X�����'�����!����4���0N�P#B !���P#a`!$!���4A<����@@ !P��4"�!��4$�8��+ (!�!(!0���,H�� ��,�� P+ x�O!p+ 
p�#! !$!@�����H�IP!�X�!�����'�0�!��4�$�p"���x  ��@������`��!�����!� ����� ����@	��������`�������������$����C B`���D#����
 �	
������@ �I�����I#�	#�	#�$�!$��������$�C@!`$�!$��������$�C��@!�!������$����#`!���$������!�$�����8!��* (�� �* (�](�(� 0�0�C��!��$�$����������!@(� $A$A��$�$�$���������$�$�$�����������$�$�$�����������(�  (�����������������$� $� $��ଢ�ଣ�䬨�謩�쬪���������ꬭ��(� (���������$�$�$���������������(� ����$�$�$���������(��   �( 0�0�C
���$����#$�����$���$����������!@(� $A$A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌋�茌�䌍��$���$���$��ଢ�������������ꬭ(� (���������������$���$���$���������(� ������$���$���$�������$�$�����!��$�$�@	����$������$�$�@�������$����$��������$��`!'��诤����<���� '�$���Nԯ�$��'��'��诿�� '� Nԯ�$��'��'��Я�$��(��4��8��<��$B��� $d��4��)��'�N�'�8��'�0�!��$��$�������$��S��'��د���!���� �!S�!@!�� B�  !"�!���&���� $X�$,A $
a&��x%�0��$$B,A ��$
�&  !$	a�	  !Eh(!@ !�$B0B�,A{ ��   !Eh(!@�� !  !Eh(!@ !�  !�������'�($�S���!���$��S��$��S��!$��S��$��S��!$��S�`!�'��௤ �� ���!��$$S�0!��$$��A$	��$��`$	(ad �� $	��$���� 
`!��` !��$DT����$���� (!`0!S�����'� �$��'��诿��'��� D���$��'��'��(��0��4��(�����'���$��!�!��,�� ��$����E���@@�!<&1�����S�$/@ �!'��� �!$$$$
$���� !E+'�T@�!'�TT4�(!*'���'�T��X��T��$@��\(�� $�$��.$��$����!�"�@!@��X'���T4'�T"$��&. $��S� !��'�T'�$����1��2��3��4��5���������$��$

��$����4���������� ��$��(��,��0�'�ؐ��!`$:g�C��$�`$Bg���$/�N$B��`�C��$�`��$B�@���!$��!!�`!$��S��$��S�����$	�S��$��S��!$�`!'��௿����!E���F4@@�!�  !B�$@F4@@�!�  !B�$@��F	!�������'� '�����������!��@@�!!�����!�  !E�&@@!`!����  !!�������'� ����$�b$=$=$=`!F$��!����$�b��`!`!�����!�!!����!@$���$�@����$���$�$�@������$�$�@�������`!����'������<$���G\'������䏄��T@��'������'������>)� !���䏿'����@$
$:C$
$
$
E	��$�@CE��E��@��$���!����'����	��<$���G\'���@����!����FG��'��'����� <��0��(��,��$�����!��!$
$�$:$+&��0��4����� !$ =�@0!@@�!�!B�� !W<�p!�����7<���Tr@ !0C��B$B��A�BH�@ !@ !�B�D$Y�Y0��u��� !<���Tr@ !0C��B$B��A�BH�@ !@ !�B�D$I�I0��u����� !G:  !@��� !�*^$<�1�8F  !<�"�<F@ !`@�!@��� !�Kv��� !  !'�\6�$
`@�!B�  !  !$:T\@0!��\���� !F  !`@�!<�0�@$
u1*u1 $
u1<�-�@<�0�@`  !@�|� !�N��x� !  !'�\6�$
`@�!B�  !  !$:T\@0!��\��h� !F  !`@�!<�0�D$u1*u1 $u1<�8�D<�0�D<�1�L<�1�PF  !<�"�TF@ !<�"�XF@ !<�9�<�" �!@
$,C�"&1@C���(� &1<<$B�8�1�H��4���������� ��$��(��,��0�'�h��<$c��nx!���!3 	�H$BhH!�*1K`���C$
a`$#a!$!�'��诿��T�������Gy@0!��'��'��诤�� �� ��>)�������� Gy��'��'����!��`�@!����X!��8�+,��$$$4E�$$$4E�$(!=!$aA��$rA��$wA����$���(��D\��$��(����$A@ !&!�`��b
$�	�o�$r$$$�b�$a!�
(!$C쯣(��(A	!�i
<	P�*!�`�`� ��`!��'� �$�S��!'��诿���U������P$<���x�����X���� !W   !@!!��'��`!��8!��* (�� �* (�](�(� 0�0�C��!��$�$����������!@(� $A$A��$�$�$���������$�$�$�����������$�$�$�����������(�  (�����������������$� $� $��ଂ�ଃ�䬈�謉�쬊���������ꬍ��(� (���������$�$�$���������������(� ����$�$�$���������(��(  �  0�0�C
���$����#$�����$���$����������!@(� $A$A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌫�茬�䌭��$���$���$��ଂ�������������ꬍ(� (���������������$���$���$���������(� ������$���$���$�������'��௱��!�����.�?�  !�#0o�0hD0x�4y�9J$���#0hD<����$B��I+ @�!�
1K@`>Z !����&+ ���#�%0m��%�$
$�$
<p��x!����#ET0!$P���"�0�#�b$x�8�9$��!�(5	 �)�*5K�+�#0l��0m��-� $���������'� $����!��$�$�F�����!$������!���'�����'� $TW(��A$��!��$��'�H�'��د���0��4��$��$BA$���@���A���@!��,�$F W0� ǡ Ǡ$D� D�(��<��,F$2x!E��$��@$A�@$��4'��B�� ��0<$���'��BT�"<o$B��$A$A��8<B�$�����0<<$���$���BT�B<\$B����8`E)  <DD$���$��W���,��,��0<$��
$L)Q�! ��$P!<%���N !�$0$cd���b���`<DD$���$W�����0$O<�� ��<DD$���(!W�����0$Y�9<
�J����49K--k<$B����<DD$
��$���W�(!��0$N��<�����4;-/9<$B���9��'�(���<�4!��0C�0$$�0�x�@p!$B0���'��@��<��8��!��@��D��0��4��(��,�� ��$�����
�����!�p $%��$B��A��2�>��(!	�����2�����%������&s'(����p$%����1* @���$�����`�!�������p&s�!�!P&s�p��61�p��61�p��61�p��61�p61@���!2+@`
���$��%��p$��č�����#:1���$��%��$��ď6����!�p��2(D&��61 &�Вp<	0H!�)��22@1*@<$c��X�bX!X@p!�p&sp`!��$B��1����@��@�!��@�!61�p��'�28�!�!	22@���$��'(H$��č*��	������$��%l�h$��č����������'��$<�������@#���'�I�'����2) 2,'��$�����2,����'��$��������+
 	!@$Y0&�����$
A@!&���x��x!x@o@#%	0(A
 ����$J0&�����@
2-'�t`#�#@2-������612-���P'�28��!��!	22@���$��'/�@$��č	��	������$��%Ka`$��č���������<���$�����'�I�'������'� �! �!$$22@'��!�!$$22@2(
��ď��$��%*AX$��čl��	������$��%���$��ď�����$X<$c�<$c�����
�!@$$	6122@������DP$<�4!��jX!hC�l�p$�&���@����@
2/'��#�#@2/������612/�$29��� 29$X2) 29$
$������61'��$
�����'��$���
��$X��$o��$x��29��P2/@�&�$&�(A $@(!$'��'�䯩��'��'��'��I\��@�!���$A@
$'��B���!'��2+��P�J�!$A$2,�<&��0<&��<B�� !2-��P���!$A���<$��HB���!<%ΦH28��P�N�!���� ! 2)'�� $�����2) 2,'��$$�����2,�'��($�������`$00b���'�&�$0��'��29 $.��&����`
$�����&��&���`�����䯤����61���'���'� �����$B��A(A
#(A
 ����$
A$c��P(A
%K0 ���k����$L0$c���l����'��+ 
��쏢$0'�$B���+ ���C�������� ����$	+%�����������$-%K�����L��<
�h!����1����$E'���������$e%/�����+�������'�61�L#29�p!�����P9���2(@*�<$*�< $<�(!$<$'��'�䯫����'��'��I\'��@�!���$A@
$'��,B���!'��,2*��PI�!$A$2,�<&��T<&��`B�� !2-��P��!$A���<$��lB���!<%Φl29��P�N�!���2%2,���x#�* 2,��$0a2,'��0$
�����2,�'��4$�����29 ���'��8$��������'�����$0��`$0���)� ���$0��&����0b�%*��ܢ�&�&�$�������$.�*�<$.��&�*�< $<� !$<�* �h#������61$����2)���%� 
��쒃`$0���) $0��&����0b�%���ܢ�&�&�$�����揮�2)��P�'�2*@@$�*�$*� $�(!$'��'�䯭��'��'��'��I\�����@�!�2($���2(��!B�� !V* @�!@����!�X��$0	���&R��@$B���O��$0������)a�� �* ����E&V������ I�#��'�
'����$��%L�h$����'�'���293��P���$��%x$�����2+@$��!�$'��<2+@`B�� !��!��&��$U��&����	$U���E$B�$U��&������$U��2)��P�z&s��&
��-AY ��
P�<*!�*j�@�������#lh!�!^*��� ��ȏ����܏��(�!7���������2) �X! �����P@���612.�h#�����P������>@!x#������2+`������<�B��ɀ#���0R���$B��A��@ !>��(!	&����2B��B��%���&����������P��!�����$B��A��0d�>��(!	�����0b��"��%�����&RO* ��&��P`���<�B��  �!0R���$B��A��@ !>��(!	&����2B��B��%���&�����28���!��!���$B��A��0d�>��(!	&R��0b�����'(��&RU* ��&28���2/�24���<�B��``�!0R���$B��A��@ !>��(!	&����2B��"��%L��&����2-������!������$B��A��0d�>��(!	�����0b��"��%�����&1/* ��&������~* ��<�B��ˀ#��0Q���$B��A��  !>��(!	&����2"��"��%L��&�����s�p��D�� ��$��(��,��0��4��8��<��@�'��<�c��$�� !�<�$���`!S�<�B���+ @ !$����<�$���!'�����,<��0��(����!��!$d&�����<��4��8��$�� ��x��|��h���������q&s �p!��ht��<�p!��1�O$%���� ������%	�����

�U$b��`$b��$��$b��A�H� !@!��C$K�` !�`!��1�� ����%������
�5$b��`$b��$��$b��A�H� !@!��C$H�` !�H!�*1K`������(!%���X\����$��A��$������$%!�q$%!'&s����%������
�5$b��`$b��$��$b��A�H� !@!��C$H�` !�������(!%*��X\����$��Ah��h�<$*!�!�q�!&s$�X!�l1��
p��p!p@ѐ!�q&R���x!��&s3 ��p�@$l<�6R��$l! �!$h!�q&s 	$[!	�!` !S@'�p@@�!�$���!�H1	 $n�Q$l$n!�$[����@�$[$c!�$[$[!$[����%l�����

��$b��`$b��$��$b��A�H� !@!��C$N�` !�x!��3  ����%	�����

�U$b��`$b��$��$b��A�H� !@!��C$K�` !�`!��1��������(!%���X\����$��A9$[]��h'�x��� ! (!@0!'�pR���=$h�$l��x$��%	!P$��x�L�������ե�$l���x��x$��%��x$��x���������ɯ8��x$��%	!P$��x�L����������'�x��� ! (!@0!�8!Pl��$[!��'�x$c!��'�x$i!��'�x$n!��$h$s!��'�x��'�x@��h�x!����h������h��h ��h$����h	�!��h$�� !$���!��<���� ��$��(��,��0��4��8�'�p'��P����'�p��!���������������\��X��T��P��L��H$��P$
��`$��`$��`�!���%	��-! ��	H�<)!�)l` �������%K�����
$d��
�$���$B��A�H� !@ !��D$N��!�`8!$��L&R��@�����$d'�����
�$b��`$b��$��$b��A�H� !@ !��D$I�	�!$0a�`8!���$iA�*A �����$d%l�����

��$b��`$b��$��$b��A� !H�d��d@ !��D$N��!0d�$x���o$X�Y�
�$d�`����$d%������`$b��$��$b��A� !H�d��d@ !��D$Y��!0d�'�p$ET��d��d$A$���p$�����%	����<
DP!�J��1K�`$*A 
��`����(!%�������X\��d��d(&R���8!%&R������(!%�������X\��d������d��o'(������X\(!��d&R������$%*��������`(!X\��d��d&R��$+a�S$-a�O$$0a�m���&R��@����'���+ $
"��!<G!�B��0C`��`$�)��P0O��&��P`0X$00X$W$7$W�!��`�#Y* �������
��\��P 	��\��`��HK`�h!��H��\%�L��\��Pj���$.�$e��X !'(`?��X$e���\$E�[�����\ W�����T@!%K`P��T�'����$d%������
&1���$���$B��A�H� !@ !��D$X��!<C!�B��`8!0Y 
$+a$-a0H#����'����$d%*�����
&1a��$���$B��A�H� !@ !��D$M�
�!&R��A�[`8!����_��\�[��P%��L� ��dX�'�p��L��d F �F ����$l���$���C$ca$�C�i���#>�"���$���CF  $ca$�C�j��4�D��L`�����H<�����h#��H���$l�
������$���C$ca$�C�x����H����$h!
��ď��$���C$ca$�C�i����H�(���$���C$ca$�C�k����H�j����� !%�������X\(!$��A��\$������\���������'��'��ȯ�8��8�� ����!��!��$�������D��L$���D$�� $�D������,�!��,$ca<�4!��!$������H%������
$d!�$���$B��A�H� !@!��C$I�	` !$���M$sa	$[<
DP!�J��1K`C$[a	��8��D�h!���9��8��D&1�� 1&R����$d'�����
�$b��`$b��� !$b��A�H� !@!$����C$I�	` !�$sa	$[<
DP!�J��1K`$[a�я�8��D�h!����ʏ�8�����$'������
���� ��,����(!%	��X\����$��A��,$
������,K��8
!��8�$$ca$�@$��$�������� �'�8'��د���!��$�� �������$^��!��!$&` !.EY $�$]�$-$-$-�dx!���&�&�!�d�!�qd�!���C* 	d�!b0#$�b !Y @(!&d�!��&���!��$���������� �'�(<�"�$��$��S��$&�S��0����E�!@!`��$�!�'�����X��X$��(����� y!<$��� !Y�'�4A��Xp��<$�P�Yd$��<��X��T��P��H`��D��@)$�* 	��$d��@��@��P(* ��@d#��<��L��@�#��<@��L$B��'�4����'�D�a���m���a�m��T�� ��<��@Yd$��(��<��L��$Y,$ !'�DY�0!YV$<$��� !Y�'�D��(���$��TYd$��$���L��@��P<@!��<��L4!B@*��@ d!��<��@<��4!��$c!P!��@��< !'�4Y�0!��L�� �!��'�X��'���<����Y���'��'��诿�!` !>Z����(!�d
C�0!���o�n1�Ϡx�b�`0Y� �n0H��h��'��$����0����$�E$���$����!$������!����'��诿��$B��A��H�@!���C$N����'��`!'��诿���0!$B��A��>�0��@!��0������@!%�����'��`!<�Ν�<1���
$c������$cx+ !�y3(���`!�'���U���0��0���P��'� ��#U	�� ���X@0!A�!�I�K	P�IP!
P�IP!
P�`��NIP!�`#a@
P�IP#�`!ya
Q��x#�Y����x�Lh!��!!���� 
'�('�$��Vů�,����,��(����������(��$��(l* �!��$n* �!��0���T��'� ��#U	�� $�H @0!�!��'�0���<4�Q�f�
$���<�a
(A$<F!$���$<A<p�.�P$<Aa<x�/�T$<a<�#�X<p4!��!$<��#�9�h(�m $Fa0d�$����$n$m$n$ca0d�$�����(#$m$n�* ��a0d�$����$F$d���0�%��$n$m$n�(!����!a0d�$���<�#�d<�%�l��0!$m$n$nA$	<�)��<
�J��!�* <%k���d`!�0#�D$B�* ��$c<$�,��<$��-�\<�#�`<<$B�P�� �p'��诿��E�'��l@.@�!���\U� !@)@�! !'��PV$@#@�!���P���`%��𯏄T�����������XU� !@@�!$���X�C`��$;a& !'��TV$@	@�!�Y$;!��&'���Vr'��������'���<$ƛ��p!��$1�$B��&!$B����@	$���$���!�(1	 �����X!�c0c`	��$��h!��1����$B��@$ $B����A��$��!�'��Я����!��!����4��(�!�8C-,c`$+A !& !'�(VO��$@ @�!��(�N !��!�#�@!�!$:��&VO'�(@@�!��(�Y��#��$:!	�!&VO'�(@@�!��((�!��$ ��4��4P#�j��4��!�������'�0��<$B��Nx!��3 !����$�H�(H!	H@��������K`!%��Ь���Nx!��3 ���!�'��د���!����,'�$ !��0��VO��@@�!A!��$$/%�����$�X	&'�V0!@@�!1!�Y$,!��$&VO'� @@�!&!�� $/%	���� �JA
��$&'�V0!@��$!��$<4cQ�c����,$`�p!���� �����P���T��0�(H!*X#lh!�������'�('��诿<�Φ����@!�*�H! !<$B���O$B�* ��$c���#<'9����!�J� !�
�K�+�����W�� �� ������%W� !����<�"�4cQ��h%� ��/��'�9��'��(�: ���1��%����$n$m$n�(!$���������#(H!%*�$AX��#$h�S��$�S��Dh<-4!��� !�0$$�0��D`�0��
<�<��$�$<� $��$�$��	���$�$	��$�$��$�$D`<-�4!��� !�0$$�0���0��<@��$�$<@� $��$�$����$�$	��$�$��$�$��!�$	 $	-h@G��h%��<��H#`@$�!$
h%J
�B�*$��
j�
j�< �h%Y�@"'���!�"��08�
gX#,�
�`#�(#$��(�$(� ,�
$,�
 �(!$
�$�$B8$�00�	����,� =,� <.$�0$��&����h��p'�p+��`!
@!	h��p'�p+	��x!-H!�p'�p+,H!�`!
h��p'�p+
��x!MP!�p'�p+LP!h�mX!�`!lX!'��08$�0$��������gX#'��8���@ 	%g���8$�0�� $����($9-0 % �($0�(��%)��$1�($0���� $B��
��$0�(!��(!$���������� $$�<
 G�
h@�h%�@$`@��'��M-H!*H#$
�*'��h<%l���(!
J� <%l��	$� �������% <�'����0!$�����.$����1������X+ ����Y��$I��$����@� !��?����������!$c�����f��%K����'��'�������<$c��bp!��$�1�
$+��$�b�!�,1����$+KP!��$�$-A'�'��$
$�'�'!0!'�8$��'�'$B��,A
 �8n�0!@���$��0#H$5`$5$����$�$5A$A$��(!!K$�$ A$-��$�$-A$B�А�$$�$B��,A
 x��x!x@�!��$�$B��,A
 ��x��#�0!�(���D�D���(��� (�5D�D�(�5   !ǃ�pǂ�t  !�(#Y���`��`F �@F �F ��'�h�$���0����!$��������$��`!�V(� S4�$�S���H(� E4�$�S���:(� 74�$�S���,(� )4�$�S���(� <$�f4�$�S���(� <$�f$�S��S�$'�����	����$@$e�S��$f�S��$#�S��%��@@<h!@�<(!�.n�/n�co\Z�YX�<+!�+n�'���P@KX_�������1��$	4%����%)@@<<
HP!i!	H�@��co&�Jo^<<<<
�h!�`!�x!�p!��m8��m<��n��nj!Z�$c`
��
G�X@hX%	G�
P@HP%	H@$c����	O�����Ip!'�`x!Z��p!$	%��%)����%����!�(!$
$
H� p'�p+��`!
H��h!�@!�h!���X'jX+�`!�h!
h@�$��h%���`@��gY��@!`4@X! P!H!$$c��4�$%����0�%�%����0�%�%����0�%�%����08��p#n!$c`%����p#%�)�4 $ @!@H!`P!$%���%�����x#�0�@@%�0�H&H%�0�PFP%�X�0�XfX%�0�PFP%�0�H&H%�@!,a�	H@ 1H,a�%J@,a�%k:��,a�$cXB,a� $c��cX!D�D� <�!o�D� D�D� �H@ 8'�P0�8+&H!�GP  8'X0�8+GP �&H!@0'�0+KP!@8'XfX 0�8+gX �FP!���������,�H�d���������8�T�p�)l6�6�)x6�5�6�6�6�6�)�)T6�)`)�6�**********6�6�6�6�6�6�6�6�6�6�6�.d6�4�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�,�6�6�6�6�6�6�6�6�6�6�5�*�.d1�4�*�*�6�6�*�6�6�,�6�6�6�5�6�,6�6�,�A�A�A�A�B A�B B B B B BB B B B B A�B B BInfinityNaN��Mnᯡ:M�����zD=E����\"��X�$#���"wJ1N���<�*���4
��?��񈙱���&�����e�}�C5��t}���_Ͼ�/��������������@�P�$����� �k(���C�@�ԥ���*��� ���_�1�ɿ����.v@�k:����#�b�x��z���&�n����x2
W��h?������@���YQa��ȥo��� :�ˏ'��f��KP*��,��
�������͒�����P(�������ij�.Q�k�u�P�4,��x䲻�dQ�8Sc��������E��0D�<<�0��PD03<0�0<0U@D@��0�0�DA@@�F����]����t���.�����E��	
!$'+.158;?BEILOSVY�p�*��A���$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)argument list wasn't properly NULL-terminated in "%s" commandDeleting command with clientData "%s".
wrong # args:  should be "%.50s count"Error %d$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)x�x�|�}�~T~�����������8� ��k����h�p���\��b�� ʬ̐�$j���H�Pm�$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)too many nested calls to Tcl_Eval (infinite loop?)extra characters after close-braceextra characters after close-quoteunmatched quoteunmatched bracemissing close-bracket"%.50s" is an invalid command name %sor ambiguous abbreviationinvoked "break" outside of a loopinvoked "continue" outside of a loopcommand returned bad code: %d%s, while executing
"%.*s%s"%.50s..., while executing
"%.*s%s", invoked from within
"%.*s%s"%s: '%.*s => %.*s'errorInfoerrorInfoerrorInfonoAbbrev�l�t�|��t��������������������������������������$�,�0�8�@�Hcontinuewrong # args:  should be "%.50s add event [exec]"bad arg "%.50s":  should be "exec"$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)wrong # args:  should be "%.50s change newValue [event]"too many args:  should be "%.50s event [event]"wrong # args:  should be "%.50s info [count]"bad count "%.50s"wrong # args:  should be "%.50s keep number"bad number "%.50s"wrong # args:  should be "%.50s nextid"too many args:  should be "%.50s redo [event]"substitutewrong # args:  should be "%.50s substitute old new [event]"wrong # args:  should be "%.50s words num-num/pat [event]"bad "%.50s" option "%.50s": must be add, change, event, info, keep, nextid, redo, substitute, or wordsbad event number "%.50s"event "%.50s" hasn't occurred yetevent "%.50s" is too far in the pastno event matches "%.50s""%.50s" doesn't appear in eventword selector "%.50s" specified non-existent wordsbad word selector "%.50s":  should be num-num or pattern$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)internal error in Tcl_SplitListlist element in braces followed by "%.*s" instead of spaceunmatched open brace in list$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)couldn't find variable "%.50s"couldn't find variable "%.50s"wrong # args: should be "%.50s varName [newValue]"too few args:  should be "%.50s varName varName ..."too few args:  should be "%.50s [level] command ..." ("uplevel" body line %d)bad level "%.50s"no value given for parameter "%s" to "%s"called "%s" with too many arguments (procedure "%.50s" line %d)invoked "break" outside of a loopinvoked "continue" outside of a loopwrong # args: should be "%.50s name args body"too many fields in argument specifier "%.50s"procedure "%.50s" has argument with no nameisdirectorybad "%.30s" option "%.30s": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writable$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s start test next command" ("for" initial command) ("for" body line %d) ("for" loop-end command)wrong # args: should be "%.50s varName list command" ("foreach" body line %d)too few args: should be "%.50s formatString [arg arg ...]"too many args: should be "%.50s"expected integer but got "%.50s" insteadexpected integer but got "%.50s" insteadexpected floating-point number but got "%.50s" insteadformat string ended in middle of field specifierbad field specifier "%c"%s "%.50s string [in] patList body ... [default body]"not enough args:  should beinvoked "%.50s" without enough argumentsextra pattern with no body in "%.50s" ("%.50s" arm line %d)wrong # args: should be "%.50s command [varName]"not enough args:  should be "%.50s arg [arg ...]"too many args: should be "%.50s"wrong # args: should be "%.50s message [errorInfo]"not enough args:  should be "%.50s arg [arg ...]" ("eval" body line %d)specified "<" but no input in "%.50s" commandnot enough arguments to "%.50s" commandcouldn't create input pipe for "%.50s" command: %.50scouldn't write pipe input for command: %.50s/tmp/tcl.XXXXXX/tmp/tcl.XXXXXXcouldn't create input file for "%.50s" command: %.50scouldn't write file input for command: %.50scouldn't reset or close input file for command: %.50scouldn't create output pipe for "%.50s" commandcouldn't fork child for "%.50s" command: %.50sforked process couldn't set up input/outputcouldn't find a "%.50s" to executeerror reading stdout during "%.50s": %.50schild process disappeared mysteriouslycommand terminated abnormallywrong # args: should be "%.50s expression"wrong # args: should be "%.50s name option"rootnameextensionreadablewritableexecutable$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)unmatched open-brace in file namecouldn't read directory "%.50s": %.50scouldn't find HOME env. variable to expand "%.100s"user "%.50s" doesn't existno files matched glob pattern(s)different numbers of variable names and field specifiers$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s fileName"couldn't read file "%.50s"couldn't stat file "%.50s"error in reading file "%.50s" (file "%.50s" line %d)wrong # args: should be "%.50s option a b"wrong # args:  should be "%.50s bool [then] command [[else] command]"bad "%.50s" option "%.50s": must be compare, first, or last ("if" body line %d)bad count "%.50s" given to "%.50s"wrong # args: should be "%.50s command [count]"wrong # args:  should be "%.50s value index [chars]"bad index "%.50s" ("time" body line %d)%.0f microseconds per iterationbad argument "%s":  must be "chars"too few args:  should be "%.50s option [arg arg ...]"wrong # args: should be "%.50s args procname"info requested on "%s", which isn't a procedurewrong # args: should be "%.50s body procname"cmdcountwrong # args: should be "%.50s cmdcount"commandswrong # args: should be "%.50s commands [pattern]"wrong # args: should be "%.50s default procname arg varname"procedure "%s" doesn't have an argument "%s"wrong # args: should be "%.50s exists varName"wrong # args: should be "%.50s globals [pattern]"wrong # args: should be "%.50s locals [pattern]"bad level "%.50s"wrong # args: should be "%.50s level [number]"wrong # args: should be "%.50s procs [pattern]"tclversionwrong # args: should be "%.50s vars [pattern]"bad "%.50s" option "%.50s": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or varswrong # args: should be "%.50s value [chars]"not enough args:  should be "%.50s arg [arg ...]"wrong # args: should be "%.50s string [file [append]]"bad option "%.50s":  must be "append"couldn't open "%.50s": %.80sI/O error while writing: %.50swrong #/type of args: should be "%.50s value first last [chars]"bad range specifier "%.50s"bad range specifier "%.50s"wrong # args: should be "%.50s oldName newName"can't rename to "%.50s": already existscan't rename "%.50s":  command doesn't existtoo many args: should be "%.50s [value]"too few args: should be "%.50s string format varName ..."can't have more than %d fields in "%.50s"bad scan conversion character "%c"$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)	ddddddd

 !"#dddddd

 !"#$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)��0�<�X�h�����������������,�P�h�|��������������$�D�d�t��������������,�H�h������������$�H�h������������@�\�x������������4�H�X�l��������������$�<�T�lno error (operation succeedednot ownerno such file or directoryno such processinterrupted system callI/O errorno such device or addressargument list too longexec format errorbad file numberno childrenno more processesnot enough memorypermission deniedbad address in system call argumentblock device requiredmount device busyfile already existscross-domain linkno such devicenot a directoryillegal operation on a directoryinvalid argumentfile table overflowtoo many open filesinappropriate device for ioctltext file or pseudo-device busyfile too largeno space left in file system domainillegal seekread-only file systemtoo many linksbroken pipemath argument out of rangemath result unrepresentableoperation would blockoperation now in progressoperation already in progresssocket operation on non-socketdestination address requiredmessage too longprotocol wrong type for socketbad proocol optionprotocol not supporedsocket type not supportedoperation not supported on socketprotocol family not supportedaddress family not supported by protocol familyaddress already in usecan't assign requested addressnetwork is downnetwork is unreachablenetwork dropped connection on resetsoftware caused connection abortconnection reset by peerno buffer space availablesocket is already connectedsocket is not connectedcan't send afer socket shutdownundefined error (59)connection timed outconnection refusedtoo many levels of symbolic linksfile name too longhost is downhost is unreachabledirectory not emptytoo many processestoo many usersdisk quota exceededstale remote file handlepathname hit remote file systemundefined error (72)undefined error (73)undefined error (74)undefined error (75)undefined error (76)identifier removedunknown error (%d)$Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)

		variable "%.50s" contained non-numeric value "%.50s"command "%.50s" returned non-numeric result "%.50s"unmatched parentheses in expression "%.50s"divide by zerodivide by zerosyntax error in expression "%.50s"syntax error in expression "%.50s"         (((((                  H���������������������� 	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~CHRCLASS/lib/chrclass/:/usr/sbin:/usr/bsd:/usr/bin:/bin/etc/passwdInfinityInfinity                    000000000000000000000123456789ABCDEF0123456789abcdef+InfinityInfinity-Infinity+InfinityInfinity-InfinityW`/Lw/K:/JMFw/ 
echoechocreatecreate% %s
Error: %s

 ... ...%sbreakcasecatchconcaterrorevalexecexprfileforforeachformatglobglobalifindexinfolengthlistprintprocrangerenamereturnscansetsourcestringtimeuplevelexecchangeevent-1info%6d  keepnextid%dredo-1-1words-1history-1add$args010%d%d%Findefault%d%ddirname./tail01existsownedisfile%s%s/2��HOME/%d%d%g%g%dcompare1-10firstlastmatch10then%delse%dcharsargsbody%ddefault10existsglobalslocalslevel0%dprocs3.3varschars%dappendawendcharsNascii��/bin/shPATHshrrNaNNaN-+ 0x0XNaN-+ NaN-+ (null)�T�XGMT   TZ�	$
4
(
08@
D
H
LT��
�,4
0TPpl��
��
$@L��
�
���
���
��
���
���
���


4(,
08@
<DH
Pt�
��
��
��
($4@
<D
hd
p����(0t�,8d��
��
$|��
��
H�	�	�

D
p
�
�<HT��T�
(
,

�
�

�
�
T\
��
hp
��
@��<p����
<@
lp
��d���
��
��Xt���

,4
8`��
8@
dp���$,
8T\
h|�
��� ( $ D T
 ` �!x!�","0
"4"P"\"l"�"�"�"�"�
"�"�"�
"�#t#�#�
#�$4$t%(%0%<%L
%t%�
%�&&|&�&�'t'p'�'�'�(((<(H
(D(p(�(�(�(�
(�(�(�)))H)T
)P)�)�)�)�)�***D*P
*L*p*�*�*�*�*�++(
+$+P+�+�
+�,X,x,�-(... .h.�.�/h/d/�/�
/�/�00
00102282�2�2�2�
2�333<383h3t
3p3�3�3�3�44
44L4X
4T4x4�4�4�4�5 5,
5(5L5d5�5�5�5�
5�6L6x76�7
77p7|8H8\8�8�9�9�9�9�::�:�
;4;x;�;�<<x<�==0=8=\=h=�=�>X>h
>�>�>�
>�??
??P?\
?X?�@4@P@�@�
@�@�@�AAxA�
A�A�A�A�BB(BPB�B�B�C`Cp
C�D$D4
DPD�D�EE
E(E0
E`ExE�
E�E�
FXF�GHGTG`
G\G|G�
G�G�G�
HH
H�H�
II
IhIp
I�I�I�
I�I�JTJX
J\J�J�
KK
K�L�P R�S�S�TT$UPUtU�U�V\Vd
V�V�
WHWP
W�W�
W�X
XDXL
Z|Z�
Z�[$[D[�[�
[�[�\]<_t_|
_�_�
_�`ha<a�b$b,
b�c
ccc0c<cXcxc|
chcp
c�c�c�dLdT
dPd�d�
d�d�d�e,eTexe�e�ff$f�f�g�g�h<hxh�h�i�i�
i�i�
jPjlj�j�j�
j�kk@kL
kHk�k�k�
k�ll$
l l|l�l�l�l�m�m�
m�nn�n�
n�ptp�p�p�p�
p�p�qq
qqPqxq�
q�q�
r8r@shsds�s�s�t0t8
t<tXt�t�
t�t�uu$
u(u4uTuX
u�u�
u�u�vDvtv|v�ww�w�xxx8x�x�
x�y(y@
y,y8
y<yhypy�y�
y�zz 
z�z�z�{${�{�|P|�|�
|�|�}} 
}}<}l}|}�}�}�}�
}�~~�~�
~�
@l��
���$�<�L�h�p
�t��������
������
�����$�D�X
�\�l�x
�|����
������
������
���,�H
�L�\�h
�l����
������
������
��,�4
�8�P�h�x
�t����
������
������0�H�L
�X�l�t������������
������������t�������
���(
�,������
���$�0
�,�\�x������$
� �<�t�p����
������D�@�X�x������
� �8�\������
������D���|�������0�4
�<�`�|������
���$�(
�0���������0�4����
������
������ �����$�4
�0�P����
�������@�H
�L�X�x����
����h�x
�t������x��
������������
���@�<�D
�X�l�t
�����\�d
�x����
���0�,����$
� �`������
��������,
�(�|��
����
���������,��������(
�$�@����4�P�����D�H
�\�����`��������4�P
�T�d�p
�t���������l�������$�D��������(�D�����P�L�l�|
�x���,�4�<�P�T�t��
�x��������������
�������$�(�0�8�<�T�\��X�`�|������
���@�d����
���L�h�d���$�@�<���� �(
�,�8����
�������
�4�D
�@�����,�d����������
��������
����� ��H�T
�P�l����
�������� 
��8����
������
��������,
�(�l�x
�t��������
����\�l
�h�������������8�4�`�l
�h������� �,
�(�p�l����
���(�$�l����������
������
��H�D�t��
�|����
���������<�H
�D����
���(�@�\����@�l����
���D��������4�0”¤
 ¼�D�T
�P�p�t
àüø����
���������8
�<�P�\
�`�|ĔĜ
Ęİ��
������
���\�l
�hńŔŬ
����
����0�,�\�lƄ
ư��
Ƽ�����8�`���h���ɀ����
�$�4
�p���
��<�X�t˄
ˀ˜˸��
�������X�`����
�����l�|
�x͔�� 
�<�D
ΈΔ
ΘόϜ
Ϙ��
�$���8�4�X�t�xҜ��������(�8�\�������L�\
�X�tԠ����
������
���0�H�h�x
�tՀՔռ���
���ք֔
֐֬��������,�@�`�\א׌׼׸������ �4
�0�lؼ�$� ٠٨����
�����
���L�|ڄ
ڈڔ���<�\�h
�t����
����
�$�\����
�� 
ތޔ
����
�P�p�|
����
����
����
�4�<
�\�d
���� �x��
����$�@��
�����p������
��\�h
�p�L����
�d�p
�x����
���D�P
�X��
���
�$�T�`
�h� �$
�(��
�����
��� 
��������
���8�@
�<�\�t���x�|
������������
������$����
���L���0�8
�4�T�X
�h�x�������
�4������
���$����������
����
� �P��� �$
�x���	�������
���	�����	����0
�<�`�|
���	�������
����
PT
��
��
��
���
8�
@���
� t���
�0(48HPTL\�(4\X`���(8P|������0d��	 ��
�D`������@`����
<
`
l�
���(,
4Hl|��
��0
t
`��� 0HX�
�
����
��$4<���
���$X
p���
��
(L���
���
��(8@
\d
hl
������



 $
(04
8@D
HPT
��
��
��
|����8Xl
�����#d#�#�
#�#�#�$$$0
$<% 
%4%P
%�%�&&&
&&& &(
&D&L
&H&T&`
&X&\
&d&l&t
&�&�
&�&�&�
&�&�
''$
','<'H
'L'X
'`'t'x
'�'�
'�'�
'�'�'�
'�'�
(�**$
*8*<
++(+D+d,�-(-0
-4-8
.. .�.�.�.�//
//
//@/D
/H/P/T
/x/�/�1h1p
2$2H2L2T2�2�
2�2�
2�2�2�
2�2�2�
3343T5506 606�6�
7h7l
7�88\8`
8�8�9D9H
9p9�:@:D
:p:�:�
:�;
;;;
;@;D
;�;�;X;t
;�;�;�< <`<l<�<�<�<�==$=0=`=�=�=�>l>�>�>�??T?`?�?�?�?�@@D@t@�@�A,BDBL
B\BhB�B�B�C(CxC�C�DD,DPD�D�D�D�D�
D�D�EE E,E0E8EHELE`ElExE�
E�E�
GG(GhG�G�
G�G�H H�I�I�I�JJ�J�J�K4K<
K�K�K�LL
LtL`LlL�L�L�L�MDM�N 	N$N@N`N�N�
N�OO
OO�O�O�PPP
PP0P�P�	P�P�QQ$Q�R4RxR�
RpRt
R�R�R�R�R�SdS|S�S�S�S�S�TxT�
T�T�
T�T�
T�T�
U�U�
U�U�
U�U�
U�U�
VV
V8V@
VDVL
VPVT
VXVh
V\V`
V|VxV�V�V�V�V�V�V�V�V�V�V�V�WWW0W8W4WPWT
XlX�X�Y@YD
Y�Z,ZXZ�Z�Z�[[ 
[<[@
[`[d
[�[�\�\�^�a,a0
aHaL
bb\b`
d,d0dDd�eeHe�e�e�
e�e�e�
e�ff@f`f�f�f�
f�f�
f�
f�f�f�
gg4
g<g\
g@g`
g g8
gDgd
gHgh
gpg�hTi�i�
j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�j�kkkkkkkkk k$k(k,k0k4k8k<k@kDkHkLkPkTkXk\k`kdkhklkpktkxk|k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�k�lllllllll l$l(l,l0l4l8l<l@lDlHlLlPl`ldlhlllpltlxl|l�l�l�l�l�l�l�l�l�l�l�l�l�qqqqq q$q(q,q0q4q8q<q@qDqHqLqPqTqXq\q`qdqhqlqpqtqxq|q�q�q�ttttttttt t$t(t,t0t4t8t<t@tDtHtLtPtTtXt\t`tdthtltptttx����������������������������� �$�(�,�0�4�8�<�@�D�H�L�P�T�X�\�`�d�h�l�p�t�x�|������������������������������������������������������������������������������������\���L�P���@�P�	P
p��
�0���	0	�
@
�@� 

p�00 �!�"P#�$P%�&0'�(P)@*�+ ,�-�.�/�001�2�3�4 5! 6!�7"�8"�9#p:#�;$p<$�=% >%`A%�F%�L&@d*�g+h+�l+�x,`|,��-��.`�.�800@2�p	Z0p����	-A<��X7P�T4�~"�$FH�R�0�0@� 0�����0`�P!  1F!%'$#&%B(( $' #0!'12"�	�	C#$a ' !#b�	!""�	�$u#!%!34$%��! �!�!�1#�	h$�	��"!C(!1C (1�
W�E"#!Ct#"!G"G#�wc�
!�3#"$!� �!�##!C(�	C"1�	#'$%7�cE"(d�!'s##&$!$�	�	$(�44v88!'""�	8(&$(!1!"!3##'$E#&��!$%�
( $S!h3#c#r�	"6(5#%&&%#85("F5#6%! (&##(E&(�%S5&�	!&%(v("%$5("%('6%(%"F2$&%E�85$a'7"W�$#(!2s�	#$b�
#%$8$%$�$#($$�
$$$(c$%"�!%8!�	(((#$"4%h4"T w# ��!�1(87!�
�!s$!(7!E(�/ 4#"##0 @ (!!8("#c(q!!!(!" "!3"X"##�	&A"!!!!! !!! !�
'!!!!"�
$'(%%$(#�	!7�	# s�'$#((  s�0Ac !#�'#s#s!('0S52(v&�
$8(%%#$""2"(#&&$!7##$#(�1#B"5%"E%!45#8%TE�##%%�%("s#4#%r44%$!5!1�	"��
$6#%u��!2!Cu(!$C&!T8$%T&�$(!�&((38"a66&#67!&&#$D6#u#%"PA�
#5&#%%�
8(8"#8(8(8�	5"8#H""�&3#"8##8$t3B$$!"####"3&5tc&%e!(!(3!!�8'!(((x'&"&%%!366"5#&%!&"!#"C6�&&%!8"�0!�6##s@(3�	#' %##' %###""�6!4E6!�6!!#%�&E#"#'##F#!�C#"t#�&&(!�
S%$(#!��	#8#$#�%%%#A"�	S##1p5w5"8($$�#�"Q�5#(#!3"D5$#$#$2#%%"DF$#('#%&#!!�5&5%E 5%$(5#(5!%%$6'!$#5%"5 5!!!U%#%#&%('E5!r5 !&�!t3"6(#&(#&(!%!D6$F'%($6'G636%#(4#(!T6%(Cu%&x'%(%(7(h$"#6'%&%6#&#!�@t6� '#7%q11AA1 E$#s(�e'D5858c&%$&#"#w"c6%!'!G!'4s'!6"%"'(�c%("  `q#q!g�	"!"#"#!"##s11�# #$!7%A""!!!&�!�0%$6!0%#&2&#1111111112!!!2!!!3!3!3!13!111�#d#5!$b"###�B!8�
"#H"&#(#($$$$$$%%%%$$$((3%B##1P�����	1�&T"%�"0�D0��6 � ��80�2Є
10�1!�1@� �8R'2 � ���h1(D ���4#$@�1�H�2(7 ���8 �8P�P�r!!5(Q�p�0�B"R�@�X!�'##� �� �4"1 �"@�1� !(�p�@�p�t  �P� 1�1@� (!@�Q!�!0� #A�% $@A�A�r �@"  �%Q31t�P`00   �A  �!  �@��	�!2�
q  �@��
0 �p �p0���	���@�rP�@�r Ѐ�@�@q �0 �@��
0 �p �p0���	���@�rP�@�r �0�4@�B�CA�CQ�`� ��& @� � � � �4 !�!!!P�WDC!P�3�3���	Рp��	����	!H4" �#&#0�H!@�!!0�H0�1@� ���%"��!#0�0�E&P�P�T���!!8!C# �%C�A �2('C �(1 �2(!!��@�A����(0�5��4�4�3�8( �6F!`�q�8@�!2�
q  �@��
0 �p �p0���	���@�rP�@�r Ѐ�@�@q �0 �@��
0 �p �p0���	���@�rP�@�r �3$#S�'!�(�# @�R� �4f��	!��"����"%�"C(2�8 �!� �8$���P!�A����7P����Q ���
��QA�A�A�A�p� �B0�5"B�
 ��"0�`2�G'c`�`��2��"�P�#�A� ��"QBE'D ���R�B'G@�!�0�P!� �!�0�qV"0�@�@�(2�HU ��2!�4 ��C�"�"�h4E���@�"788B�0�2�HU ��2!�4 ��H�"�"�p�PH35"�2(R��H�1�!7 �0�P825!�26"`�T� ���`�s � �$ �2C31""26(! � "�! P�Q�@�	#( �F('20� �0%(0�6(w"&�G!8 �D �a@�0�0�8 �(1"(6(f7 & !�F �@0�U�!88#!(8�'0�S(( ��H7@�� &�W((P�P�X �(#!�80��81�0�@#�! �!!$ �1#�
���
�1VTP�``�c��	��!�0�!�d##!��1��!"�& !�!1��1�1�#��
���
5`�r�� �( � �#0�("��!�4`�hD�F0�G!0�5�cH0`�C!S"#0�1�"@���@�H ��4 ��4S"0�50 �A�0��$�0�2 ���������!0�(�0��@�00���
�Q �@�1 �0�A �0�! �0�A �0�0p�@�00�P�Q �@�1 �0�A �0�! �0�A �0�0�����
0Q�0P�0 �2@0�@� ��P�P �"A�a����  ���2 ���@0�P� 0�P� 0�@   � ���Q �0�0�!1000�  �0 �A  �0 �P0�  � ��A�0 �0�0��!# ��
���
0� �" �   �3A@�3P�50� ��" �# !2%!$0�0�3!!!!!!� !  � !�1P�`����	����	 ������	�������	��
������
��	����	 �  � A�P�@�p �@�0@ �P�P �P0 0����	0�Q`�a0 �  �  �  �  ! 1�0@ �@�  �  �  �@�  �  � 1 " �!!000� !0� 0� 0��0  �����/[`����uwh������t������ ��������� "9E���������>@HR��������� HT���������W����������(GO\
��������� fk�(���������@�����������@{�8
N��������� ��%�n���������0�-����������0UaLl'��������� y�W/E�?���t������Z`DsQ���������(����}t���������0���������������8��������������HL���������8��<����������x��!02L���������0�D9���������� ,2��?����������(Kw\G���������(��@NP���������8��*�X����������H�(D�d0���������?FcDiQ���������8`�k�t���������H�����|���������P
w����������8N�����������8��E�)����t������Rp8܀��������8����B5���������83�(M�����Q���V����������@�?�f1���������(�b�n���������(�����������h<����������� ��>�!1���������@��MD-����������( Sf07��������� m��	$BI���������0���
�M������������7��d���������� P[�k�����rw�HpҀ�������� ����v�����\������%�x�ހ��������(<GG����������8byP��=���������(��]���������@Fl
����t�����`�T ��������� ��A8)N��������� �L�1u��������� &T@9���������� @NZBŀ��������`h�e,O����,�������tduY��������� ������������X�Vt�]���������`p������������������h����|����� �	���������0Ky�q����d������dh?���������@���O€�������������������9m�����������H��)�$x����l������OC€��������@=�R3��������� Wa,lZ[���������0{�4�d���������P�"RuG���������0<a������������{�������������h�S�&��	�����\�����m�$(��
.���������8��C+��
�����������3m���������0;Y����L�����-I�����������
������0�����������#
l!����������8���x.ހ��������0��@����l�����_�������������������H9���������*=t��������� M`8N���������mu����������H��*<	��������� ��J`X�����������\d
���������� �h����������������/���������0+����������`"D����"8����������8X��������SL
Ӏ��������0��W����e���������!5����#��������&1����%���������"<���������+/d���������08A
�����������������("8��������������������������������� 1�������������$%,�����\�����+[�����bm4����������������������������� #��������� &�#����39	����#���������%*D���������.3p
����8?�<���������DK<O����������hQ�B������g���������4
���������&(t��������� /Q
�����������������+1��������� ?�������������H(���������(5k��������8���������������@����"4����(2����������p%`�����l������R�����������8$@��	l���������(Ga�������������!���������Xz������E�������������$���������������������������������h	������������������������0#>TU����Do#�	���������s�L|������]D
Q���������0��nl�������������������(���D�����������	8N�����������������H�5����N~.��������������!���������hu��������8����'p����)1�
*����3;�
8����=F H����HP$dW����bi+���� ������������Y���������7, ��� `  `   (h 
(  0t 0    ,   ,   ,   , #o�@� �$�+�0� 5�����7� �    A� #L�%   A4  W� &a�(l�)s�x�, }������  W�  �� - !�����/�����5�����������  �    , `%`  %`%@%`+`%`1h%`!`7)`<)`  , `!%`( %`!`0`	9%`H %`!`S`
]%`i@%`!`	  , 
$`%` %`&@%`.`%`6�%`=�%`E�%`M�%`U%`!`  , 	`%` %`@%`!`')`2)`<)`G)`  , %p�@`%` %`&@%`!`0)`7�  H�@  	7\  N _�  f�!,  ND  
lP $|�&��' #��(��������������+� ������
������,  8 "�������  �  l    , W`%` %`$@%`/`%`7�%`!`<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`	w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T`.
%`Z %`@%``%`]!�%`^+�%`a!`&8)`dB`3G%`jO %`!`/X)`ke`;p%`{ %`�@%`�`%`q��%`r!`4�)`u� `U�%`x� %`�@%`�`%`y��%`|��%`��%`��%`��%`� %`@%`�`%` �%`,�%`�3�%`�@�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`�  ,   , `%` %`!`)`*`
0%`5 %`!`9)`?`D%`I %`!`M)`  ,   , �q�@`  	#�(�0�8�  8  ?� O� V�#[�$ f�%l�����(h  ?�  
q	 +��- ������0��3��6��9�  q�  � <��>��A��B��C��D  &������E��H�  "��  �� K��M�P .
�����Q�����T�  *��  't W"�Y)�\-�3�]0 r;���8�^G���4�dL���0�U�eY���(�f_����gj�����mo�����t�����|�������������n������������o��������������p������s������v������w������x������y������z��{� U�������< ~� T�������������  P  M< X�������  U� [�������  X� ^�����	�  [d b"������*�����`  ^0� �
l f<�����
�  cBD � lG�����P��R������@  g[� �d qg������m���|���  m  40  /r � ������������  |������p  xr�  s�!0 ������� �����������  ���  }�!� ������� ���4 �������������������  �  ��   �# �'��,��4�$ �=��B��F�H������N�����U�������  ��  �  , Y`%` %`$@%`/`%`7�%`!`<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`	w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T`.
%`Z %`@%``%`]!�%`^+�%`a!`&8)`dB`3G%`jO %`!`/X)`ke`;p%`{ %`�@%`�`%`q��%`r!`4�)`u� `U�%`x� %`�@%`�`%`y��%`|��%`��%`��%`��%`� %`@%`�`%` �%`,�%`�3�%`�@�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`��t@��q@�  , �t�@$� &�-�1� 
7�<�E�����P�����W�����   <  ^', m�!s�"z��%( 1��&��)������������� &������,������������������  ������-�  T %������.������/�������     L -������������������������0������1t  &
� 0������4�  -�  ^�  �6 8 5��7�� 8�������  5�  2�748 :�<� >l  <��  97�8 ?�A�D  F"�G)�Jt  B�  ?19L8 M<�OA�R  MH�S�  J1�  GO:08 VY�X^�[  We�\l�����_v�����`�����ax  QO�  N�;�8 g��i  c��l��o������r������s������
�������������  Z��  X�=�8 t��v hl  f��  d�>48 y��}���  s���������������������������d  l��  i@�8 ����� ��$��$ �(������,������0������7�����=�����G�����Q�����X�����  y(  t_B�8 �h��m��u��$ �{�������������������������������������������������������P ��������������  ��Gx ��  �_�  �  , zx�@G�  �'�,�7�?�G�( P�R�����]������ b�����  
4 e�����X  jJ� �  	�  oK| $����&��', ���������  o�  �Ld (����*  7������+������1������������2��3��4��������t 4�������������������������������|�!OL 5�  +-R` ;8Rx A�  "��  IS0 GT�Y�I A^�����h�����j�Jl�����KH  ;Id  8sT� L~�N��Q�� L��R������������������U8  FsT  B�U� V��X��Y U��Z������������H  P�X  M�Z@ [��]��`��a��b e�����c�d��������������������#�����)�����e,  [�D  V1\� fA�hH�i  mP�����S_( j�  i1�  f^_T pi�ro� xv�sx������ w~������  t@  q^X  n  , �y�@b� �#�*�/�, 4�9�A�����H�����Q�����S�����0 \�����g�����r�����~����� ��!4  �f  $�  �  �f` *��,��/��  ������0������3�  �  �gt 6��8��;��<��( ,��=��@�C	�����\  &��  !h� F"�H)�K0�L 68�����M=�����?�����N�  1�  -Fj� OQ�QW�R^�c�U  A0 @h�����V�  =�  <F�  7nk� W|�Y��Z����]  L��^��a������d�  Gn�  B�m� g��i��j����m  c��n������������������q������r������s������vm� y ^�����0  [@ a������d  ^q ��  R��  M'q8 �3��8�� jA������p  g'�  dHq� �R�� o(  mH8  kYq� �g�� ul��`  rYx  psrp �~����������0 ��������������������������������������������� �����d���  ��u� ��  {s�  v�v( ���� ����t  ���  ��v� ������  �������  ���  �w� �!��&�� �,��3�����>������  ��  �  , �|�@x� �%�,�1� 	T  l  6x� B�H�O�T�  Y�����[�����b�����g����� � n�����v�����x�����!��"  �|$ #� ����x�)�  �  6�  
�|� /��1��2����5 (�������  %��   �}� 6��8��9����< 0�  .��  )�~T =��?��@����C 8T  6�l  1~� D�F�G�"�J A'�����K�  >�  9,� N8�P>�QE�J�T NO�����V�����U� MZ�����V�  J  G,  B^�� \j�^p�_w�|�b$ t������c������������d������������������e������k������������������������������q������t������u` f������v�  cH l����@�|� k����8���  h@  f� o����4��  l�� �� s
���0�P  p	  T^	8  O�� ���"��)�.�� ~3�����:������  z�  u@�� �L��R��Y�^�� �c������e�����l�����q�����x�������������X ���������  ���X �D  �@\  ��� ������������ �������������H ��������l  �,  ��D  ���8 ������������ �����������������
������< �������h  ��  ���  ��  �%��+��2�7��( �<��C������M�����S�����]�����b������o�����|�������������������������������������� ����� �����������  �� ��������   �T ���������  ���L �l ���������������  �	�  ��� ���, �
0  �
T  �  ,   ,   , 4`&%`1 %`9@%`?`%`G`%`R�%`\�%`g�%`r�%`z�%`�	%`�	 %`�	@%`�	`%`�	�%`!`  , 	)`	$)`	*)`
2 `9%`!`B)`  , (`-%`!`/)`7)`?)`G)`N)`	U)`
Z)`
`)`
f)`l)`s)`{)`�)`�)`
�)`�)`�)`�)`�)`
�)`
�)`�)`	�)`
�)`
  ,   ,   , 
(`	.%`5%`> %`F@%`L`%`Tp%`!`  , '`,%`3%`;`	@)`F%`O%`!`W %`\@%`!`e)`  ,   ,  `%`
% %`,0%`	4@%`=P%`	D`%`	Kp%`S�%`[�%`d�%`m�%`!`  , H`$%`-@%`6�%`@�%`I�%`R�%`[%`e %`o@%`x`%`��%`��%`��%`��%`�%`� %`!`�`�%`� %`!`  ,   , `%`'`	,%`	5%`?%`J%`!`T%`X`]%`	f%`p%`!`
z%`!`  , `�`@`%` %`(@%`2`%`!`:)`E��8 R�V�[�f�  m�����w����������� d ������!�������  �  E�  	��D8 "��$��'��(��)$ >��,��������-������.������������� ,�����������������������/�����5�����6�  $� 7����7����:���������������=�����>%���(�?-���`�E5���@�KP  ,� ==���<�@���8�C���4�NJ���l�O|  7�  ��  R�� Ua�Wh�Z Nm��`[w�X	��\	�a������b��������������c� M������d�  J�  BR�  ?��� g��i��j����m ^������n����)�q����$����� �P \�����w  Y��P x�  T�  O  , $`%`# %`-@%`4`%`;�%`B�%`M�%`V�%`]%`!`f`n%`u %`|@%`�`%`!`  , `#%`
) %`20%`;@%`!`B`K%`Q %`X@%```%`g`%`!`q)`!  , ���@�� �"�)�.�  3�����=�����D�����M�����Q�����V�����]�����c�� � l�����$�  �  �  p�h *}�,��-����0  #������1������2��������������������������� 3�  p  ��p 9��;��<����?  B��@������C������F�����I��������������������L�����'�����R/�� S� 8>�����Yd  58 >@�����F���|�ZJ���x�[S�� ^�  8
� A^���t�d  >
  )�
(  $f�� et�gz�h����k  Q������������l��� m| P������s������  L�  Hf�  C��\ t��v��w����z Y�  W��  R��� {��}��~�����  c�������������  _�$  Z�  ������"��  t'�����-�����2�����9������?������C�����E������K�����Q�T �p  i�  d]ʬ �k��q��x�}��$ ��������������  z]�  u�̐ ������������ �|  ���  ���$ ������������$ ��������`��%`� %`�@%`�!`�)`������
������ ����)�����3������;�����F��J����� �L������H  ��  ���  �S� �a��g��n�s�� �x��������������������������������������� �����d��  �  �S0  ���H ������������$ �������������������������  ��  ���P ����������� ����������������������������"������%�����,�����( �4������L  �4  ��L  �  , 
��@۠ ��%� 
*�,�����  4    , �@@�� � �'� ,�.�
5	�
;�����|  �    , )`)`!)`))`
  , `%` %`!`)`*`
0%`5 %`!`9)`?`D%`I %`!`M)`T��@  , 
��@�p �� 	(�*��  �    , 	�`@�@ � !��`l  �    , 8��@`	%` %`*@%`/`%`5�%`!`<)`E�� #P�%W�& _�����f�����k�   
E0  
m� 'u�)|�,$  ��/��������0������1������x ���� �2�    m<  ��< 8��:��=��  -������@��������������������������� C�  %�	  !��H I��K��N�O 6�����P������  2��  .  , 	��	����  �    , � ,    ,   , 	�@ 	�    , 
�0 
t  �� �  �h �  !�H !$  )�l )$  	2�� 2  :�� :d  
C�� CP    , 
P 
�    , � l    , 	` 	X    , � ,    , 

�p	����x	����|	�����	���&��	���/� /  6 68  ;< ;  
  , 	
	P 	�/��	�/��%	�/��,	�/��3	�/��
�    , 

 
/��
    , 

  
$/��
T/��+
\/��
D    , 
p �    , 	 /�� /��	(    , 	0 d/���/��,�/��:�/��>�/��L�/��W�/��b/��k/��wp/����/����/����/���
/���
 /���
X/���
p/���
�/���
�/���
�/��$/��	    , P p    , 	� 	<  � (  $ T    , 
� �/���/��
(    , 	� �/��	     ,   ,   , 
� 
0    , ��� /��(    , 	0 H/��	     , 	P h/��	     , p 
�/��     , 
� �/��
     , � 
�/���/��,    , � �    , �     , 	
��	���� ,  � �  �8 �    , P 
h/��     , p 
�/���/��,    , 
� �/��
     , � 
�/��     , �     , � �    , 
� 
�  8 t    , 
� 
T    , ��O����	�����	����0o��"�8o��)� )D  2$ 2,  ;P8 ;�  
B� BL  K K�  U�8 U|    , 	p 	4  � @  �8 �    , 	� �/��	     , � p    , 
    T/�� p/��. |/��< �/��@ �/��N �/��Y �/��d!/��m!/��y!`/���!�/���!�/���!�/���!�/���"/���"H/���"`/���"|/���"|/���"�/��#/��
    , 
#@ 
�    , $� @    ,   , 
%  
H    , 
��o��%p8 �  �`o��'�8 <  '(0 /��O��7��O��'�    , :� ,  
;/��; ;0/��<    , 
��	�����	���;P `  #A�8 #x  *J(8 *�  1M8 1  	  ,   , 
N0 NH/��
     , 	NP Nh/��	     , 
Np 
4    , 	��O��N�   P�8     , 	���P� (    , Q p    , 
Qp 
@    , Q�   Q�   Q�   (Q� (P  1R 1X  	  , Rp T    , 
��	�����	�����O��*R� *T  4T$ ;�Po��4H  AVl A�  	GWL8 G�  PX8 P(  
XY<8 X�  aY�8 aL  h[8 o��O��h�  v\8  vp    , \� \�/��     , 	\� \�/��	     , \� ]/��$]/��1],/��>]4/��K]\/��X]d/��e]t/��r]|/��]�/���  �]� �]�/���]�/���]�/���]�/���^/���^$/���^4/���^</���^L/����    ,   ,   , ^` ^p/��^�/��(^�/��6_/��D_ /��R_p/��__�/��l`/��y`$/���`L/���`T/���`X/���`x/���`�/���`�/���`�/���`�/���`�/��`�/��a/��a,/��+aP/��9ah/��  Gl�	���Pl�	���  , 
ap 
�    , �`	���bP $    , 
d� 
(    , 
d� d�/��
8  d� (e/��8  5e  
?eP/��58  LeX Ue�/��L8  
be� ie�/��b@  
ve� }f/��v<  �f/���f �    ,   ,   , 
f0 fH/��
   !fP +fh/��!     , 
fp f�/��
     , 
f� f�/��$g/��2g/��@g�/��Ng�/��\g�/��P  jm8	���pn�	���{o&	���  , g� g�/��h/��*hT/��8hx/��Fh�/��Th�/��bh�/��ph�/��~h�/���i</���id/���i�/���i�/���i�/���i�/��  �o�	���  , j x    ,   ����������������

	0����������0������ ��"0���
	��������������������	0����c�������
	����������������������������
	��������������
	����������
	0����������������
����$��
	��������!!��0��������������	��	0����	����������<����	����������!������������!�� �� ����������	��&��&��&����������/����������4��4����	��	��&��&��/��4���� 0�����<
	0������
	������������������������������
	
	0������
����<!����!�� ��<����<������ '��!!��<��/����<��s��0�����	��<����0������ 0������ 0������ 0������ }��!����<�����<���������<�����<������
	��������!!��0��������������	��	0����	����������<����	����������!������������!�� �� ����������	��&��&��&����������/����������4��4����	��	��&��&��/��4���� 0�����<������!0������
	0����������<��/2����<��/��/9��<?��/G��<��4��4��4N��<��4X��<��4��d��<��4��/i��<t��/��<��/���<���<0������ 
	0��������0������ 80�� 0������ 0������ 0������ BM����<Vf��n0������ y
	0����������<����	0������ !����	��<-����	��	��<7��B��M����	��<��	d����<��&��&0������ 0��;0������ k����<��p����v��<��	�������	��	��<��&0��c0������ �����	���	��	��	��	���	��	
	0������
�� ��0������ 0��c)��1��9��B����<O��0��;u��0�� 0�� 
��0��0��c0������ �������0������ ���0��;���0��c���0��'0������ 0������ 0������ 
	
	
	��������0�� 0�� 
	��������0��	 ��	
	��������0��
 ��
0��
 
	
	
	��������
	��������
��������������������
����
	
	��������
	��������������������
	
	
������������������������������

	0������������������?����0�����	��	0���0�����
0���O��0��1��_����0���0������ 
	����������������
	��������0��	���������0��	���	��	
	0��������0������ 0��;$��0������ C����<����	����0������ ��&0������ R��0������ Z��d����u��0������ ���������<�����������������0�����`���0�������0��c������������0��;
	0������
	0������

	
	������������������������������0������
	0������

	0������������0��1
	0������������������0������ !����0���.������<0������ 7����
	
	
	
	
		

	
	
	
	
	
������������
	��������
	
	��������
	������������������������
	����
	��������������������
	��
	
	
	
����
	����������
	����
	
	
	
	
	��������
		��������
	
	����
	
	
		
	��
	��	��
��������������������
	
	
	������������
����
����������������������������	��������crt1text.sSTARTFRM__startmoncontrol_mcount_sprocmonstart/net/siouxsie/d2/3.2A/usr/include/regdef.h/net/siouxsie/d2/3.2A/usr/include/asm.hcrt1tinit.stclTest.crcsidcmdEchoclientDatainterpargcargviechoErrordeleteProcclientDatacmdCreateclientDatainterpargcargvcountmainlinecmdresultgotPartial/usr/include/stdio.h.F11_cnt_ptr_base_flag_fileFILEusptr_s/usr/include/sys/time.htimevaltv_sectv_usectimezonetz_minuteswesttz_dsttimeitimervalit_intervalit_value/usr/include/time.htmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdst./tcl.h.F12resultdynamicerrorLineTcl_InterpTcl_TraceTcl_CmdBufClientDatatclAssem.crcsid.F16bufferbufSizebytesUsedCmdBufTcl_CreateCmdBufcbPtrTcl_DeleteCmdBufbuffercbPtrTcl_AssembleCmdbufferstringcbPtrlengthtotalLengthpnewSizenewBufgotNewLine./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F12commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterp/usr/include/ctype.h./stdlib.h.F14sizeflagsMem_TraceInfodiv_tquotremdiv_t.F15quotremldiv_t./string.htclBasic.crcsidTcl_CreateInterpiPtrnamePtrprocPtrcmdPtrTcl_WatchInterpinterpprocclientDataicPtriPtrTcl_DeleteInterpinterpiPtrcmdPtrtracePtricPtrTcl_CreateCommandinterpcmdNameprocclientDatadeleteProciPtrcmdPtrTcl_DeleteCommandinterpcmdNameiPtrcmdPtrTcl_EvalinterpcmdflagstermPtrcopyStoragecopycopySizedstlimitargStorageargvargcargSizeopenBracesopenQuotesrctermCharargStartresultiiPtrcmdPtrtmpdummysyntaxMsgsyntaxPtrcmdStarttracePtrlengthcopyResultnewCopydeltavaluenewArgsnumReadnewCopydeltacmdCompletesaveddonenumCharspellipsissyntaxErrorfirstlastTcl_CreateTraceinterplevelprocclientDatatracePtriPtrTcl_DeleteTraceinterptraceiPtrtracePtrtracePtr2Tcl_AddErrorInfointerpmessageiPtrlengthbufferoldVarTclFindCmdiPtrcmdNameabbrevOKprevcurcmatchlengthvarValue./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F15commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterpbuiltInCmdsbuiltInProcstclHistory.crcsidTcl_RecordAndEvalinterpcmdflagsiPtreventPtrsavedFirstlengthresultTcl_HistoryCmddummyinterpargcargviPtreventPtrlengthcpcountindxiendcurnextlengthcountisrcendeventswordsHistoryInitiPtrnumEventsiMakeSpacehPtrsizeInsertReviPtrrevPtrcurPtrprevPtrRevCommandiPtrstringrevPtrRevResultiPtrstringrevPtrevalFirstevalLastargvDoRevsiPtrrevPtreventPtrnewCommandpsizebytesSeencountDisableRevsiPtrGetEventiPtrstringeventNumindexendeventPtrlengthSubsAndEvaliPtrcmdoldnewsrcdstnewCmdcountoldLengthnewLengthlengthresultGetWordsiPtrcommandwordsresultstartenddstnextfirstlastindexpatternmatchsavedCharerrortclUtil.crcsidTclFindElementinterplistelementPtrnextPtrsizePtrbracePtrpopenBracessizep2sizedoneTclCopyAndCollapsecountsrcdstcnumReadTcl_MergeargcargvlocalFlagsflagPtrnumCharsresultsrcdstcurFlagsibraceCountnestingLevelnestedBSwhiteSpacebracketsdollarselementDoneloopBottompass2ElementDoneTcl_ConcatargcargvtotalSizeipresultTcl_ReturninterpstringstatusiPtrlengthwasDynamicoldResultTcl_BackslashsrcreadPtrpresultcountTcl_SplitListinterplistargcPtrargvPtrargvpsizeiresultelSizebraceelementTcl_StringMatchstringpatternc2thisCharOKTclWordEndstartnestedpcountbracestclProc.crcsidTcl_ProcCmddummyinterpargcargviPtrprocPtrresultargCountiargArrayfieldCountnameLengthvalueLengthfieldValuesargPtrprocErrorTcl_GetVarinterpvarNameglobalvarPtriPtrTcl_SetVarinterpvarNamenewValueglobalvarPtrvarListPtriPtrvalueLengthTcl_ParseVarinterpstringtermPtrnamecresultTcl_SetCmddummyinterpargcargvvalueTcl_GlobalCmddummyinterpargcargvvarPtriPtrgVarPtrTcl_UplevelCmddummyinterpargcargviPtrlevelresultendlevelArgsavedVarFramePtrframePtruplevelSyntaxcmdmsglevelErrorTclFindProciPtrprocNamecmdPtrTclIsProccmdPtrTclDeleteVarsiPtrvarPtrInterpProcprocPtrinterpargcargvargsformalPtrargPtriPtrframevalueendresultmsgprocDoneProcDeleteProcprocPtrargPtrFindVarvarListPtrvarNameprevcurcNewVarnamevaluevarPtrnameLengthvalueLengthtclCmdAH.crcsidTcl_BreakCmddummyinterpargcargvTcl_CaseCmddummyinterpargcargviresultbodystringpatArgcjpatArgvpmatchmsgTcl_CatchCmddummyinterpargcargvresultTcl_ConcatCmddummyinterpargcargvTcl_ContinueCmddummyinterpargcargvTcl_ErrorCmddummyinterpargcargviPtrTcl_EvalCmddummyinterpargcargvresultcmdmsgTcl_ExecCmddummyinterpargcargvinputinputSizeoutputoutputSizeoutputSpacestdInstdOutcountresultipidstatuscmdNameexecNametmperrSpaceerrnewOutputcleanupchildTcl_ExprCmddummyinterpargcargvresultvalueTcl_FileCmddummyinterpargcargvplengthmodestatOpstatBuffileNamelastSlashcheckAccessTcl_ForCmddummyinterpargcargvresultvaluemsgTcl_ForeachCmddummyinterpargcargvlistArgciresultlistArgvmsgTcl_FormatCmddummyinterpargcargvformatnewFormatwidthprecisionsizeoneWordValuetwoWordValueuseTwoWordsdstdstSizedstSpacenoPercentcurArgnewPtrpbsSizeendenddoFieldnewDstnewSpacenotEnoughArgsfmtError/usr/include/errno.h/usr/include/signal.h/usr/include/sys/signal.hsigcontextsc_regmasksc_masksc_pcsc_regssc_ownedfpsc_fpregssc_fpc_csrsc_fpc_eirsc_mdhisc_mdlosc_causesc_badvaddrsc_badpaddris_sigsetsc_triggersave/usr/include/bsd/sys/types.huid_tgid_tfd_maskfd_setfds_bitsfd_set/usr/include/bsd/sys/../../sys/types.h.F14rphysadrdaddr_tcaddr_tuncharushortuintulongino_tcnt_ttime_tlabel_tdev_toff_tpaddr_tkey_tuse_tsysid_tindex_tlock_tsize_tu_charu_shortu_intu_long/usr/include/bsd/sys/file.h/usr/include/bsd/sys/../../sys/types.h/usr/include/bsd/sys/../../sys/fcntl.hflockl_typel_whencel_startl_lenl_sysidl_pid/usr/include/bsd/sys/../../sys/file.hfilef_flagf_count.F15inodef_uinodef_unextf_upf_offsetfile_t/usr/include/sys/fcntl.h/usr/include/sys/stat.hstatst_inost_devst_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctime/usr/include/sys/resource.hrusageru_utimeru_stimeru_maxrssru_ixrssru_idrssru_isrssru_minfltru_majfltru_nswapru_inblockru_oublockru_msgsndru_msgrcvru_nsignalsru_nvcswru_nivcswrlimitrlim_currlim_max/usr/include/sys/time.h/usr/include/sys/wait.hwaitw_status.F16w_Fillerw_Retcodew_Coredumpw_Termsigw_T.F17w_Fillerw_Stopsigw_Stopvalw_StclGlob.crcsid.F16resulttotalSpacespaceUseddynamicGlobResultAppendResultdirnamenameLengthresPtrdirLengthtotalLengthpnewSpacenewSizeDoGlobinterpdirremresPtrpcopenBracecloseBracegotSpecialresultremLengthl1l2static1elementnewRemdentryPtrl1l2patternnewDirstatic1static2statBufl1l2newDirstatic1Tcl_TildeSubstinterpnamestaticBufcurSizecurBufdirlengthfromPwppwPtrTcl_GlobCmddummyinterpargcargvglobResstaticSpaceiresultthisNameerror/usr/include/pwd.hpasswdpw_namepw_passwdpw_uidpw_gidpw_agepw_commentpw_gecospw_dirpw_shellcommentc_deptc_namec_acctc_bin/usr/include/bsd/sys/dir.hdirectd_inod_reclend_namlend_name_dirdescdd_fddd_locdd_sizedd_bufdd_directDIRtclCmdIZ.crcsidTcl_IfCmddummyinterpargcargvconditionifPartelsePartcmdnameresultvalueifSyntaxmsgTcl_IndexCmddummyinterpargcargvpelementindexsizeparenthesizedresultindexSyntaxTcl_InfoCmddummyinterpargcargviPtrprocPtrvarPtrcmdPtrlengthcflagargSpaceargSizepatterninfoNoSuchProcplevelendframePtrlevelErrornewArgsTcl_LengthCmddummyinterpargcargvcountplengthSyntaxelementresultTcl_ListCmddummyinterpargcargvTcl_PrintCmdnotUsedinterpargcargvfresultTcl_RangeCmdnotUsedinterpargcargvfirstlastresultbeginendcdummycountrangeSyntaxTcl_RenameCmddummyinterpargcargvoldPtrnewPtriPtrTcl_ReturnCmddummyinterpargcargvTcl_ScanCmddummyinterpargcargvarg1Length.F223fmtsizelocationFieldfieldscurFieldnumFieldssuppresstotalSizeresultsnumScannedfmtistringTcl_SourceCmddummyinterpargcargvfileIdresultstatBufcmdBufferendfileNamemsgTcl_StringCmddummyinterpargcargvlengthpcmatchfirstTcl_TimeCmddummyinterpargcargvcountiresultstartstoptzmicrostimePermsgstrtol.crcsidstrtolstringendPtrbasepresultstrtoul.crcsidstrtoulstringendPtrbasepresultdigitanyDigits./sprite.hBooleanReturnStatusAddressClientData./stdlib.h.F11sizeflagsMem_TraceInfodiv_tquotremdiv_t.F12quotremldiv_tcvtInstrstr.crcsidstrstrstringsubstringabstrerror.crcsidstrerrorerrordefaultMsgtclExpr.crcsid.F14interporiginalExprexprtokennumberExprInfoExprGetNumstringtermPtrresultsigncExprLexinterpinfoPtrpcvartermresultstringExprGetValueinterpinfoPtrpreciPtrresultoperatoroperandgotOpsyntaxErrorTcl_ExprinterpstringvaluePtrinforesultctype.cfirst_callsetchrclassgen/cuexit.cexitdata.cfgets.cfgetsflsbuf.c_cleanupfclosefflush_flsbuf_xflsbuf_wrtchk_findbuf_bufsyncprintf.cprintfsprintf.csprintffputs.cfputsatoi.catoimalloc.callocsallocpalloctallocxallocendmallocfreereallocstrcpy.sstrcpy1$0000000000$doch3$doch2$doch1$doch0strlen.sstrlen1$0000000000strcmp.sstrcmp1$00000000002$00000000003$0000000000strncmp.cstrncmpindex.sindex1$00000000002$0000000000bcopy.sbcopygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4strncpy.cstrncpyscanf.cscanffscanfsscanfrindex.srindex1$00000000002$0000000000lseek.slseek9$0000000000/net/siouxsie/d2/3.2A/usr/include/sys.s./sys/syscall.hmktemp.cmktemppipe.sFRMSIZEpipe9$0000000000write.swrite9$0000000000close.sclose9$0000000000open.sopen9$0000000000unlink.sunlink9$0000000000fork.sfork9$0000000000parentdup2.cdup2exit.s_exitexecvp.cshellexeclpexecvpexecatread.sread9$0000000000wait.swait9$00000000001$0000000000access.saccess9$0000000000stat.sstat9$0000000000geteuid.sgeteuidgetpwnam.cgetpwnamgetenv.cgetenvnvmatchstrcat.cstrcatgetpwent.cPASSWDEMPTYpwflinepasswdsetpwentendpwentpwskipgetpwentfgetpwentisblankfopen.cfopenfreopen_endopenfstat.sfstat9$0000000000sys/gettimeday.cgettimeofdaymemcpy.smemcpygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4filbuf.c_filbufmemccpy.cmemccpymp_def.cisatty.cisattydoprnt.cbufcvt_bufendtab_lowdigit_doprnt_blanks_zeroessbrk.ssbrkerrbrk1$0000000000doscan.cchcountflag_eof_doscannumberstringsetupcerror.sgetpid.sgetpid9$0000000000fcntl.sfcntl9$0000000000strchr.cstrchrsleep.czeroitvsleepawakeexecv.sFRMSIZEexecvrew.crewindmemchr.cmemchrsemlibc.c_seminit_monlock_monunlock_semgetc_semputcfindiop.c_findioptime_comm.cstart_dstend_dstmonth_sizelocaltimegmtimextimetzsetgetznamegettimegetdigitgetdstgetusadaytabsundayBSD_getime.sBSD_getime9$0000000000ioctl.sioctl9$0000000000fp_class.sfp_class_d1$00000000002$00000000003$00000000004$00000000005$00000000006$00000000007$00000000008$00000000009$0000000000fp_class_f1$00000000012$00000000013$00000000014$00000000015$00000000016$00000000017$00000000018$00000000019$0000000001/net/siouxsie/d2/3.2A/usr/include/fp_class.h/net/siouxsie/d2/3.2A/usr/include/sys/softfp.hdtoa.s_dtoa1$00000000002$000000000015$000000000016$000000000019$00000000003$00000000004$00000000005$000000000055$00000000006$00000000007$000000000075$00000000008$00000000009$000000000010$000000000011$000000000040$000000000012$000000000013$000000000014$000000000020$000000000022$000000000023$0000000000infinitynanungetc.cungetcatof.cinfinityatofmemset.cmemsetsignal.ssighold1$0000000000sigrelse1$0000000001sigignore1$0000000002sigpause1$0000000003sigset1$0000000004signal1$0000000005ninvalid_sigtramp/net/siouxsie/d2/3.2A/usr/include/sys/signal.h/net/siouxsie/d2/3.2A/usr/include/sys/errno.htimers.sgetitimer9$0000000000setitimer9$0000000001execve.sexecve9$0000000000tenscale.s_tenscale10$000000000011$000000000012$000000000013$000000000020$000000000021$0000000000_pten_ptenround_ptenexpatod.s_atod10$000000000011$000000000012$000000000020$000000000021$000000000022$000000000023$000000000024$000000000029$000000000025$000000000026$000000000028$000000000027$000000000040$000000000050$0000000000infinitydwmultu.s_dwmultucrtninit.senviron__Argc__Argverrno__start_gp__istartsetchrclassmainexitmoncontrol_mcount_sprocmonstart_iobfgetsfflushprintfsprintffputsTcl_AssembleCmdTcl_CreateCmdBufTcl_CreateCommandTcl_CreateInterpTcl_DeleteInterpTcl_RecordAndEvalinterpbuffercmdEchodeleteProccmdCreateatoiTcl_DeleteCmdBufTclWordEnd_ctypemallocfreestrcpystrlenstrcmpstrncmpindexTcl_AddErrorInfoTcl_BackslashTcl_CreateTraceTcl_DeleteCommandTcl_DeleteTraceTcl_EvalTcl_GetVarTcl_ParseVarTcl_ReturnTcl_SetVarTcl_WatchInterpTcl_BreakCmdTcl_CaseCmdTcl_CatchCmdTcl_ConcatCmdTcl_ContinueCmdTcl_ErrorCmdTcl_EvalCmdTcl_ExecCmdTcl_ExprCmdTcl_FileCmdTcl_ForCmdTcl_ForeachCmdTcl_FormatCmdTcl_GlobCmdTcl_GlobalCmdTcl_IfCmdTcl_InfoCmdTcl_IndexCmdTcl_LengthCmdTcl_ListCmdTcl_PrintCmdTcl_ProcCmdTcl_RangeCmdTcl_RenameCmdTcl_ReturnCmdTcl_ScanCmdTcl_SetCmdTcl_SourceCmdTcl_StringCmdTcl_TimeCmdTcl_UplevelCmdTclDeleteVarsTclFindCmdbcopyTcl_MergeTcl_StringMatchTcl_HistoryCmdstrtolstrtoulstrncpystrstrTcl_ConcatTcl_SplitListTclCopyAndCollapseTclFindElementTclFindProcTclIsProcFindVarInterpProcNewVarProcDeleteProcsscanfstrerrorrindexTcl_ExprTcl_TildeSubstlseekmktemppipewritecloseopenunlinkforkdup2_exitexecvpreadwaitaccessstatgeteuidgetpwnamgetenvstrcatBSDopendirBSDreaddirendpwentfopenfclosefstatgettimeofdaysys_errlistsys_nerrprecTableExprGetNumExprLexExprGetValuememcpy_cleanup_bufendtab_sibuf_sobuf_smbuf_lastbuf_filbufmemccpy_bufsync_sprocedisatty_xflsbuf_flsbuf_wrtchk_findbuf_doprntsbrkbrkreallocscanffscanf_doscan_cerrorgetpidfcntlstrchrsleepexecvexeclpgetpwentsetpwentrewindfgetpwentmemchr_semgetcfreopen_findioptzsettimezonedaylightBSD_getime_lock_ulock_nlock_ilock_flock_wlock_clock_tlock_ctlock_dlockioctlfp_class_d_dtoaend_minbrk_curbrkungetcatofmemsetsigsetsetitimersigholdsigpauseexecve_seminit_monlock_monunlock_semputcgmtimelocaltimealtzonetznamefp_class_f_tenscale_atodsigrelsesigignore_sigtrampsignalgetitimer_dwmultu?�!?,�k)

��
����#
6!>�DD4F(��r?n��^M
��XRZ�$���e%(��-)_2�i��W��0����7�T��>�d��E`p^���b
��L�!`	���Y
��S$�x���	3�@�Z��G�<��z��!	�ta��b��J��r*W�h�lx����	�8
@�o�rx�}
'�x�
3�x�-��
?�x��I�	
Z�x�2��
r�x��
�x�$(�
�x�LZ�

�7x��l�
�!Px��
�ix�,v�
��x����
��x�|�
�x��~
����`(DE7~�
e��� �s���� �u��$���!8��+R�I
��
?�۠%83k6�MV�
���%kEw7"�W	 
�?��%�4�	"$��%�Z�	0$(�p&>,�7�1X	T,�@&j,�	7�!Y	l --��&��88Z	�S03N� '� �=+;^	�5���'��=f_	�6�� �@'��	�7��@'��=qy`
8��$�0'�L�=�a
9���P(G
?�'i
1:�M�(X@j
?;�Y`(k@2�k
M<�e)�(z
@�Kl
[=���(�C
Am
i>��g	P(�:'	B(*p
{?�*
)0BRq
D�6
 )"85BYr
�G�<
p)Z<Bj$s
�L�L	)m)@B�
t
�M�U0)�FB��u
�P�]�P*�_C^v
�U�	�*�cCz.w
�V� �*�+kC�
z
�W�5�+qC�{
�Z�<�+)v_��+Exd��+VzC�L|
�i�>+g"~D
}
�j�X0+��D~
�o�\P+��D
�t�^p+��D �
�y�`�+��D(�
�~�b�+�!�D0�
���d�,
�D;0�
���h�,'�Dk�
���{�,5%�	Do��
���}?P,Z�E����p,t'�E�����,��E(�����,��E0�����,��E8�����,��E<"�#���	�,��E^@�3����-�E��C���	�-%]�E�a�Q���pp-� �G��m��[-�-��G�������-��G������
  -��G��������#@.�H�f����L$�/H�����i % /
���% /H�����m	%p/.?!I\����v�:�/m"-Ng����V;P/�75N������eN /�
A��N0/�CS4����tNP/�HS<���vNp0
MSD
���xN�0QSQ����}FP�08XS�
�%���Q0O]S��)���Qp0]aS��7���Q�0n:eT0�E���Rp0�qT?�[���R�0�}uTTj�	k"����\�19&�V������\�1_�V������\�1{�V�e�����U\�2�.���\�2�0���^`2�T�W3������ap49�W�8�����bP4J�X/������Gd�4`�X�
����4d�4q��X�]����:1d�50��d�5>/�	�f05m8�Y���kfp5�	Y/���of�5��	
Y7T���qgg�6G�	Y������yj70	'Z�� �Q j�7D	+#�	

	

	

	

	










 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !

 !
"#
$"#
$"#
$%

&'()'()'()*+
,
-./0123456789:;<=>?@AB@AB@ABCDABEABFABGABHABIABJKABLMABNABOABPABQABRSTUVWABXYZ[\]^_AB`abABcABdefABghijklABmABnopnopnopqrstuAvwBuAvwBuAvwBxAByABz{|}O��O��O��O�� $���(j����-1�  =� .B� G` Rh Zt /i��O��0n�@ 1t�h 2{P 3�� 4�` 	�P 	�� � �` �	 �$� �@�@� 
� � 5"� 	' 
8_T n-C��O��6J� 6Q 7V	P 8]
 9d
  :k
p ;s y!� ��U� M� � s�� '�!0 }�t /�f` �h� -�T� B�gt !� 
x� x� 
*|�  7}� )E~T 1U~� 9b� Bn�� Oz�� u��� ��� ���8 ���  �"��� O�k� B%��� %��p $%��h %��� C%�\ R%�� Zb� %*�  d%7ʬ u%E̐ �%S�$ �_j� 7%j� �%x�H �%��P ��m� M�q� p�# �<�0 �Ld �\� f�', &�۠ '��� =�P *�p S0 8Z@ V K| 3G� Bq8 dNq� kXv� �`rp vkw� �rv( �>�$ +��@ ?�� ,��H ."��� ?@�� C�� D� E�0 F�P G�p H�� I�� J�� K�� L�� M�P N�p O�� P� Q� R� S� T� $&���$1���U<$ VEp 1K�� WR� XX� +e��@+q���,z�@,��� 
,�� ,��< !Y�   1��0 /���O��/� /��/� /��/�(/��/������Z�#@ [�$� 1��� \������]�%  1�l 	1�H 1�� 1�� 
^((0 _0:� _5; 69< 
>A� >G� `N;P aVN /��b^N0 ceNP dkNp erN� fxP� L~� U�� U�� g�Q U� h�Qp i�Q� V�� j�Rp k�Vl 	k��@���k��H���l�\� \�/��\�/��\�/��\/��\/��\/��\/��\/��\#/��\+/��m2\� n8\� qC^` _I���_M��O��_U��O��r]ap sdbP tid� upe� 
xwfP u�d� u�eX 
y�fp i�Q� i�Q� i�Q� i�R 	k�T$ k�R� k��D���k��L���n�]� z�f� {�g� u�d� ue  u
f ue� xf0 |(j 0707070035050510601006660011710000040000010626210474351657200000600000015303tcl.h/*
 * tcl.h --
 *
 *	This header file describes the externally-visible facilities
 *	of the Tcl interpreter.
 *
 * Copyright 1987 Regents of the University of California
 * Permission to use, copy, modify, and distribute this
 * software and its documentation for any purpose and without
 * fee is hereby granted, provided that the above copyright
 * notice appear in all copies.  The University of California
 * makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without
 * express or implied warranty.
 *
 * $Header: /var/lib/cvsd/repos/research/researchv10no/cmd/worm/scsi/scsi.cpio,v 1.1.1.1 2018/04/24 17:21:34 root Exp $ SPRITE (Berkeley)
 */

#ifndef _TCL
#define _TCL

/*
 * Data structures defined opaquely in this module.  The definitions
 * below just provide dummy types.  A few fields are made visible in
 * Tcl_Interp structures, namely those for returning string values.
 * Note:  any change to the Tcl_Interp definition below must be mirrored
 * in the "real" definition in tclInt.h.
 */

typedef struct Tcl_Interp{
    char *result;		/* Points to result string returned by last
				 * command. */
    int dynamic;		/* Non-zero means result is dynamically-
				 * allocated and must be freed by Tcl_Eval
				 * before executing the next command. */
    int errorLine;		/* When TCL_ERROR is returned, this gives
				 * the line number within the command where
				 * the error occurred (1 means first line). */
} Tcl_Interp;

typedef int *Tcl_Trace;
typedef int *Tcl_CmdBuf;

/*
 * When a TCL command returns, the string pointer interp->result points to
 * a string containing return information from the command.  In addition,
 * the command procedure returns an integer value, which is one of the
 * following:
 *
 * TCL_OK		Command completed normally;  interp->result contains
 *			the command's result.
 * TCL_ERROR		The command couldn't be completed successfully;
 *			interp->result describes what went wrong.
 * TCL_RETURN		The command requests that the current procedure
 *			return;  interp->result contains the procedure's
 *			return value.
 * TCL_BREAK		The command requests that the innermost loop
 *			be exited;  interp->result is meaningless.
 * TCL_CONTINUE		Go on to the next iteration of the current loop;
 *			interp->result is meaninless.
 */

#define TCL_OK		0
#define TCL_ERROR	1
#define TCL_RETURN	2
#define TCL_BREAK	3
#define TCL_CONTINUE	4

#define TCL_RESULT_SIZE 199

/*
 * Flag values passed to Tcl_Eval (see the man page for details;  also
 * see tclInt.h for additional flags that are only used internally by
 * Tcl):
 */

#define TCL_BRACKET_TERM	1

/*
 * Flag value passed to Tcl_RecordAndEval to request no evaluation
 * (record only).
 */

#define TCL_NO_EVAL		-1

/*
 * Flag values passed to Tcl_Return (see the man page for details):
 */

#define TCL_STATIC	0
#define TCL_DYNAMIC	1
#define TCL_VOLATILE	2

#ifndef _CLIENTDATA
typedef int *ClientData;
#define _CLIENTDATA
#endif

/*
 * Exported Tcl procedures:
 */

typedef int (*Tcl_Cmdfn)(ClientData, Tcl_Interp *, int, char **);
typedef void (*Tcl_Tracefn)(ClientData, Tcl_Interp *, int, char *, Tcl_Cmdfn, ClientData, int, char **);
extern char *		Tcl_AssembleCmd(Tcl_CmdBuf, char *);
extern void		Tcl_AddErrorInfo(Tcl_Interp *, char *);
extern char		Tcl_Backslash(char *, int *);
extern char *		Tcl_Concat(int, char **);
extern Tcl_CmdBuf	Tcl_CreateCmdBuf(void);
extern void		Tcl_CreateCommand(Tcl_Interp *, char *, Tcl_Cmdfn, ClientData, void (*)(ClientData));
extern Tcl_Interp *	Tcl_CreateInterp(void);
extern Tcl_Trace	Tcl_CreateTrace(Tcl_Interp *, int, Tcl_Tracefn, ClientData);
extern void		Tcl_DeleteCmdBuf(Tcl_CmdBuf);
extern void		Tcl_DeleteCommand(Tcl_Interp *, char *);
extern void		Tcl_DeleteInterp(Tcl_Interp *);
extern void		Tcl_DeleteTrace(Tcl_Interp *, Tcl_Trace);
extern int		Tcl_Eval(Tcl_Interp *, char *, int, char **);
extern int		Tcl_Expr(Tcl_Interp *, char *, int *);
extern char *		Tcl_GetVar(Tcl_Interp *, char *, int);
extern char *		Tcl_Merge(int, char **);
extern char *		Tcl_ParseVar(Tcl_Interp *, char *, char **);
extern int		Tcl_RecordAndEval(Tcl_Interp *, char *, int);
extern void		Tcl_Return(Tcl_Interp *, char *, int);
extern void		Tcl_SetVar(Tcl_Interp *, char *, char *, int);
extern int		Tcl_SplitList(Tcl_Interp *, char *, int *, char ***);
extern int		Tcl_StringMatch(char *, char *);
extern char *		Tcl_TildeSubst(Tcl_Interp *, char *);
extern void		Tcl_WatchInterp(Tcl_Interp *, void (*)(void), ClientData);

/*
 * Built-in Tcl command procedures:
 */

extern int		Tcl_BreakCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_CaseCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_CatchCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ConcatCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ContinueCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ErrorCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_EvalCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ExecCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ExprCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_FileCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ForCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ForeachCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_FormatCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_GlobCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_GlobalCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_HistoryCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_IfCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_InfoCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_IndexCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_LengthCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ListCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_PrintCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ProcCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_RangeCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_RenameCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ReturnCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_ScanCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_SetCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_SourceCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_StringCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_TimeCmd(ClientData , Tcl_Interp *, int , char **);
extern int		Tcl_UplevelCmd(ClientData , Tcl_Interp *, int , char **);

/*
 * Miscellaneous declarations (to allow Tcl to be used stand-alone,
 * without the rest of Sprite).
 */

#ifndef NULL
#define NULL 0
#endif

#endif _TCL
0707070035050552231006660011710000040000011775470503442602600000500001440000temp6�CH�A:rj�S(�}R(�}R(marcia#28428/n/atomic/tmp/si/l111.bv/v14725/7872974...ARcardARshb.datb.ndifl111.bb.posl111.bb.pr.Zl111.ba.pr.Zl111.bc.pr.Zl111.ba.posl111.bc.con�hB�+��:S(��2R(�2R(�2R(marciaother/n/atomic/usr/marcia/dead.letterv/v14725/7882975I can't play tennis today, but I'd be interested
in playing next weekend. 

I have a question mark next to your name for
speaking at the women's lunch on Aug. 22 --
did you want to put it off until the fall, or
is that date ok?

Marcia
-UJ��:�40�:R(��Q(�>R(marciabin/n/atomic/usr1/tape/tmp/si0/liq.b/liq.bRi2.trv/v14725/7892976�
�
�@�@A6�A6�A6��@<��C
A]�#Bw8�A�ѵAW#KB��ABx�AwC>�q�@�[�?]�&B�@�O�A�r�@yA���@�5A��B�LnBQ��B�~�An�uB�5�>��7B�>TB+~?BP�A"��B�wCB��BF3OB1�@#�SB��fBX#WB�=B:Y9B��8B3�'Bf�B �eB"��B��~B�7A5�0B�H:B�A��eB��$B@:
A���Ag^NB�S�A��@�E�AE�@��xA��"B30B�JB�,�AP�B�"�A��PB\2LB��B8��B	��@�CA曋B/��A]�2B�_�@��A�B���B,p*B[�AR-�B`h�A``
AM+@=�
B�B�[Bp;B�DA@TB4�A���B�jB��BQ�yB�HB�	eB���B���A@r�A�i�A�ÅB�ԡALB��iB��A��EBE7B'�@B���BCbB�F�@���B?�,A��A��J@?�Bnn1B$��?�
fB���A�A�A�QB�j�BD4,B�B�@�L=B�?�ALB�5B�B+9�A�cB���@>�)Bk�A�bpB�qB�3X@�B8ޟ?͎Bl�A�ڏA� B(!&B�aA�{w@�@�B��B;y�B3h�A��A�_5B�cB��6A���A'�B{B�uHB��1A�8uBI?�Ai�?3��A�S�@� eBZJ�A��WBe2�?v�
B;!$B�}BX��@X��B��BQV�B�߉B�-�>DU%BO�bB�B�ݯ@Ç�B�uAF�<B��j@~i
Bc#`AAS�@�rB
��Bl\�@�BٳiB�T�@�0Bn-�B��VB��cB��B'�@Bj�qB�AJ91Bբ@Q˳@�BP9B��BX�B͠UB��A��A%}�A]�,BR�O?8lF?�j�BM�xBqkB��@�)B.�B�uB�|�A
w�B��\B��^BgB[Z
B�Q�AgBLB�BFB{�8B
�HB��BO4B4��A�:�A���AQ�eB���A��BT�>B� KB�6FA�F�A%2BA�A��!ACFPB�9n?��B�'�A[�Bc%:Bl�`B�iZB�+�A�u�@��]B#��?���A�u-BI8�BHUBW�B~��A�e�B���B��YB�N�B=.-BvՉAYsMB��KB�@<B=ز@�I�BW��B��2Aby�A�D@��JB�Aˁ�A[)�B�R�@)�B��B%ȆBs/^B���A�^%B���B*{�@��6B)�xB�C(ApA1_�A
5�A�xyAC��A��RBҀ�A^��B*xBJ@B��BG!�@
��A�:�B��*B��JB+�UA]�8B�!&B���A�Y�A��
@�9�A�D�A�AN%A�@BV��B[�Bׇ�A�IlB��6A4�4B�B�OA�B�p�B�%B�i+B:�B%qB	;
B�PA���A�6B�QB�_XB���r�GB@bcB��rB_:B�3�A�0�A��oB���A��@PB��A��iB��	B8�A��XBcPB�Ւ?��WB�4BB~�A��;A�߭@�@�AtmxB)WA00B�vBbA8�#@�
+BE�B@�A�"BR�e@�X@?cyB|�)B��DAŌ/BZ{�BuJ�BPi�A��oBʈ�A,΍B�oBs��B��XA0��=a��@�Ֆ?��NB��B�rKA��LBՉ:B�]NB�3B�PB��jA�AF�s@[:�B�BK��A��BB���B��@�)zAL�MBS�A��B�
AB�(�A>�B�ezA��5B�tB�%:B�06Avn�B�D2BݙIB{)B�C
AGB�BBM8 @FBܤ4B�AFAN�B�`PB(MaB���@�9@m��B���A��&B4��A���A75�?�:>B~09A���A�ŒB[
<B�#A<f�A@�.B���A��BzWBS`B���A�{�B��(A��B-[.BO�}B:v�?y�QA�B�@9~�BX��@G|�A��B���B��BߊB��BzуA�AB���A.V�A�5$B��6B��BX�dBV�|B@�}B�@�@쉙A�[#B#�B��A(a
B*�XB{H@�g=A�A\�=BD)�?B�B��lBՔB�%�Bo�B�*B5�>^�DB��B��B��A���A�WBL3xB4�B���@�?f@0��@
�HA��;B�I�BٶBp;A���A�CVB�F�A��BA�I�B��A�w4B ˬ@���@�F�A��!B�C�AC��?��oAFU�@�,?B��\B��?Af��?Q4
B&5Bb�jB4�\B�A��@B�&B�5�A9��A\sB_[A�@�>v�B^�@!�BB�^B���B��AQ�A�x\B
!Bޟ�B��A��A��!A�LB�#�A�P�A��A�ҒB4!�B�KyB[�B_B���?W�Bk�hBǝ�A�(B6u�Avw�A 'B��
B{rB�~�A�B�S�A��-B(�yA
��B��Aѡ�B�wB��$B���@
��AD�AYl�Aj�B��>7�A��?O�4B�}�AfEB���A��kB�!B��A
�>BГAD��?��sBꙅB�$B�v~B��zB�a�B<�UB�j B�BQ�*A��B(/oB���A<��BScAG��AyJ�A@�	B�
tA��8@L2B��qAaĊB��G@W�?�R�@�݁@��BmDB�ڰ@B�4A`K7BT{
B��mB�nA�*RA%�B)�HB���??�c@��Bn��A���A�iZB�A�@d�6B�A:Bz�A]�A	EiA��yBƑB�RkB�B�sBӶ�B�-nB��XBQ��A��1A$bkAJ��A�
:B���B�u`B��A&�B��AY�A&o5A�<�Aؿ]B�f1B^Ĵ@-sxA
�~A�MxBu��AsŝA-�BJ#�A6
B��bB�]B��B˙0A?_�@'B?ۂB���?*�B���B߅B�sB��EB�%B��A��qB�X�B^pKB��sA�(uBa�B�5GAF�8B��B�\HAf�A�ǐBǸ�B��sAd
�A
�A؅�A@HB��BnF�A��>A�ڇBvփA��A�}BQ�B\B*�@8�"BO��A�1�?g�:B��B�W@A�XB��B}MlB��A��8B:t�A6y�B��B/u9BIS�B�B�@vB�X�@��A2��@>��A�;B�1A�u�B"dMB��6B�m�A�RBK�FAJ��A��EB��BZpA��|B�w�A��AB���A�OAk�$A�vB��hB���A�TAx�AIrBZ"�As��A(h�A'��A���A�(zBAwB��B��sB@;XAҸ?/ %A���A��#BvAt�qB��A�"1B��-B*�B��\B��B{oaB?�hBidFB9B,�A�eSB�j�AHB}A��VB�w�A*-B��A�?B �YBBh�B
�As��A>�A�zTA0�B���A|�eB�B�@��:A,��B�J�A�I.B���@d{u?���A�{�B��yB�dB��,B{�5B�A�A�y_B�5-B��JB2XXBB
A�uBܽ�@�6B��UB�ZB��sB-׎BBB�Ag|�B*�Ad�BB��Au�A�q,AS�B>�:B.b�Aq�B�Z.A�<�Am�B�v�B��B*r^B/�BbB��7BD�FB��:B�؈B�vcB�@zB�qB���AKP�?��4A��.B5�FB��B���B;��B�OBg��A��LBo�CBL��A�B���A�w�B9~�AH�.By�nB�(BivB�=�@��lA���?��_A�@^B�1OB���A;��@�:Bޜ1B	ΏB��MB��B��B
�lB�1�A�jbAv�{B���@�f�B9pB;�B�6B:�Az�eB��A>z�A�W�A��oA���BȩB���Ar��@皯A<�ZB��rB��B!>pB��CB�d�A��Ag�yB^OBj�uA|��A�	AӷBU_�A%�9B��Br'OB�>�@[A��A��5B���A�~sB��BN�+B���@;�ZB�B�cB�~B��[Bk�vB��FB�B�)A$w:@2IQA�B�}�?)#�B��EB���Ap��B���B'�B�W�@S��A^w�@�y�A3/�?��B��4B�CiB�BAW��BB�]B�f[AOW�A!z�A�2A���A�X{Bg�A֙�@%~�A?8�A1CB�G�A\^B�!|BA��AM�B�B�R�AX9$A��"B��`B~\AA��FB��PBq7�A��WB��SBR~AI�(Be�B6AB�|B��sB���Aw[0B
/�@��BU�@cO,B�w�B�M6BP�B���A���A��`AY�A_�B@D
A���A�#B�lB��aB��_B�wrB�5�A�TA��OB��BokB5�1@
�2B�xA���B��6B ۗA�+A��1B���A�|B��A�ՇB�Bbl�A(U�@�<jB�:AT�@�BX�AiSB���A(��BuB�ĊB!�B���A�p�A�cBB# BĪaB��>A�I\B�9B��A�AC�AB��@S�R@��AoG�@�x@́B<�zB�PA[�?�P�B/�
A��A�E�@��i@��Bv�+B��ZB��B��A0�A=�B�pmB���@�5�@�\�@�XB��A�B��B�A��pB*��Bf�B-$WBuR.B��VA��B�́@L}_BG��B�CA�SB\8BuojB�B!?�B#��BjlB:�A@3�BO|�@�{gB��iBΔ�B�9wAy	}B�F�B�DTB�e!B���AT^A��@\e�B��<Ak�LAD�B�R�B�EB�vB�QoB��@��VB �A�N$B�o�?�%�B��AE�By��As��A]�NAO��Ar�=BJO�B�7�Bv`>^�A��$B~��A�G`B�LB�%B��B���@�WB���A��hAV�A��%A;,B��B{�tB8N8B2BB��Az�\Aļ�B�!@��Au�6BP� A#�
BA�@�|qA{	B	B�O�A:��B؉Ao�B.XrBm�@
��A<2�A=}yB…B�k}B[ɽA3c�A�yBR~<B�GB���@�9rB�@B��EB��MBM<yB��tB��tB`yBu@�@1 �A�%�B��EB��Bo�FB�G9B+0�A!��ABc�A
vpB7
B��wB]�;B��OA"8#B���A}�Bl��A�3�A��B�B�+�A��A�5@�{B��B��UB��B�+{BE�MB��A�D?B| B�&B1%�A���AåV@��TB{�B&��B��jB�bbAoʊA�u�@�|�A�o_B6�B���A{��A,�B��{B��JBԙNB�-CA�B3��A�гA"|�B�UB80�A�
A�uOBd,�AzɂB&d5BB#nB��B�{BP��@�KBHzB2�~B��BEBk9�B�P0B@�,B�>�?2�#A�(Ba�@=�Bv+A�̊B�PB?]�A��`B�]OB>jNB�m#B�B�jB���A�~B(�^B�EkB�ΓB(�Bm��A�`Bl��B^cB5"B�f�B4�BB;�>��AS��BHmJB���B(X�?�gBk�A��$B�lBKLeBK�B�RBBܛ\@�B��]A��ZBo�BAa��@
�BA3LB�hB!>�B�P�Ap�'B�ZB�A�X�BI6[B�_B5�A9�A��Bb�_B�QkBK�)B�:B��BN)A!nA�9�BSeNB#	;B$�LB��L?�+�A�8�A��@đ�B]�Bֹ�A�(B�#�A ��A���B�f3B���A s�A���@��B	n�B�L�B�$xBn?�@��tB0W#B�}OBj@�؂A
�bB�5OB���B��x@SonB�qB���A��Ax�0B���B�'B�;�B��YB?'B�T;BҝIA��A?��@��Aܙ�A�]8A�|B��B�@1Bͮ�@_\�@���@
WhB�&B�!�BD/A"�B�0B�T�A�A
B
C+BwcrBm�GA�K&B��&Aƹ;BN�B���Ar|�@�%B*oB+�0B���B6'BC6�A���B9�B�#B,p�Be��Bnc�B.��AkX[Bt�A?wcB��nBI~iB�0B�>EB�/�B�}M@�T~B��MB t!B�aA��^@hUuBt1�B.<.B��TB�CMB�S�BtM�BY8s@ц�@d�;B�@[\.BNU�A�+/B�tkB���A��%B���B��B�k(B(W�AZ
A~�AS�A�W�?z�A.��A��Bى�A9��>��B�v�B�]VB�_�A�$>L��A�/@��A��@�`�A�$A���A3B��_B��A�wDBH�B���A6�nB6CkB<�]@pBS�]B���AA�?��yA&9yBH�jB��OB���A@��B]�B)��@���AGh�A���BX�dB�(�@� �Az�B�!�@��B��B6RB�wB[��A�{�AY��@+nB:�oAV�}B\!�Bh�ArJ�A֛ADQWA]CB�;�Aգ>B���@�wEAA]�lB��@ABXB�VBH<AϨ`BJ
6B3�B���AO�jBw��A˶�A&�A�B@RB	؉B�u9A�x[BRC@BmB���B��A��B��B%BzB��TBo�yB7�CB�WuB<¸A��wB�JAmh�B)�pB=�AR�Ar�A2o�BG�zB�L�@qR$B$g.B���A�p�A��mB/�<Bͪ>Ap��@�wqBdB��YB�b�@�{%B�4DB�J]AteOA�ESBv��A�<�Aj.mB�ѹA��nB��UB<�PA!��Bp~BJp7AT+rB�,�A)b_A��rBř�B��AEeB2>SA���AB�B�y�@�u�A�[�A(лA�l|BӴ�@50Bl��@�{=B�N�B�
By�A�3�A���B%�@��A�ROB�kABBB�B�n*BOHA� yB'�VB��AK�A�MB�9�A��.B5'�@���A-�pBO��A�� B�=BB<&Bm��BB��A���B�aB�MB��q@��XB��!B	�MB���@�bB֏2B]�H?��OAG�A#��A���Ah$GB�6DB-�aB�#B�E�@ܖ�A��fB�K'B �:B	�A�0�B/OIBK�A~�qAj�QA��B�a�B�zA6Q|B)ÏB��A�/CB�DaB�d"B%y=B�*�A��\B7�PBS`�A��B�kQBaeA���@.�;B���ATB'�lB�)BB]��Ak�BB�% B���@��Bv~�BH�]Br&BP�vA���A"=$B`sB@��B���@r�Ap�A�7AtO1B��2B�@B�jWA�{�A��@�<B���AE^[?�.B>�Ap�z@�IB�;�@n�[@IvB1�jBGU-B@�=B�hDB�A
�A�8T@�F5Ar�!B��aBb��AJ�3BͮdA*�UBi��Aqy�A��B�_�A�f�B�$d@"E�A�Z�@�_�B��+=��B��B�GcB��<A׉<B-��A��NA6W�@L}�@K3�B
M<B�9�B�`BiaBj$�A�@|B6�RB�2A®A�:�Al>�B)u�A��(Br�oA�<@���AM��A4�!B��A*ɒA��gBhC�A�*GB=:BU�.B��=B�?Bj-�B�p�@тEB��{A�A~A���B*�`BGUB6�lBԕLB3�~AE��B:�B��SB�>�Bd�@� BUߍA�$B�Z/B
�B���B��B�c9B�ҩA���A��3B�At/oB,‹B�N@���Au>	B�n,B��2B�W�B��^B�'B��lA��VB��\B��B��?��A
�A�f�BAAk�_B�7�B��uB��YBq�B�XBdBK�2Bg�@B�&BTAهJB�r�A��B��A��uB,��A5(@P?h.@B�_B�3AxZ�A�B�X�B_
'B��Al2rBI��B���AU�A,)�@\:B�h�A�	B��iB���@�1xB2�LA;��?���A�_<A;^AߎBE�A}�B+��AvnA��{B!L+A��9B*j�@��Bg�JB%��A}�A�xBD�A�/@Y�^B�A	A[B�>�BeBL
.A/!�Ax�AB��BQ�*A&��@���A��BY`�?I[A���B��B9�A�(ZB�p�B��BϺL@�\B&��A�B���A�2�B+�GA6�Be��AϽ�BOkB5�zA�
OBԥB�OA��B�F�@bxMB��9B��B��A��XB�c�Ag�IBqޚA+�:A
��A�&BB@�>G�BٺAs�;Bi_�A���A��B�j�B/;�BR[B�B��BI��B���AT�PB�3bB�vBٹ1B�>B�ʔB��3A!D�BI��B��B���A�
�Av�A�:hB��OBHr�@�k9B���?�r�BC�AI�=��pA��A�:-B��A�SB�2�A�O�B�UA�K�A�@�A%QA�2B�}�AltyB�TtB�,)B��\B/~!B��A[�A��-BP��B�VFB=GB-e[Bt-Bp� B?�pA	^B���@a�A���A�<OAK�sB��BDGEB�*�AA�B��CA�k�AvƤA|,BὍB7�BF�\B颇B��eAo�B6oA�PA@)D�Bd��AH�A7�B��B�kBA��oB�7�B�S�@� �@P
Bir�B'W�A_�_B@x`Bǚ�AE�B4�OBf��AF�9B��B1XA�=�@�
�B1�FB�qCB�/�@�>
B��}A-�%A�B���B���Af�"B?bB�J,Bi�B�G�A�dA:�}B �B��B�OB�t�B���A��WB��A7��BN�BDI�B�
B��@�BU^B�'�A�@B���A�?@n	B���A�рA��\B?��AˆA��aBe�BL lB�@ A�7Bi�]B \�A)xB��B3^B���A$j�A���B�MpBQf�@�z{B�@�A�l�@u+BR|
B��Bt�OB�ӽA�+�@��"B�7B��)@�)�A��As	B��
B�]�?�3�A��A�J�AQaAW��AKzA���@��MAp�BW6�B�IBga@!B�lB�A*twB��BG�B*�Ag�B��Ad��B�E�B��9B{SBB8fA�l�@3�iB)7B��A���A+Q
AY��A�FB�eB
yA�VB��`B�*�BE5�A/zAC�W?pB�V�A��Av�@z��A�.�@�imB��B�jxB���B��A
2EB��HB�#�@�[B�]A|�2BoŚA��{B���A�tB7zAMRB���A��oA���Ar}RB�OA���>��/B�P�@M��A��A ��A�BoB���A��yBD'�@3mgBeA�?�eBk;�Aa@\@�)SA�A���A��B�ǪA�I�B'
�AX�"?�"�Be�0B��A��B(�A�(
A�7xBҕ:B�f$B�<VBo�A�,yBՐ=@�HB�,�B�a�A�߀B��B�B�AZ��Az�gB�vB�TB��B()�A-2gB���B��NB&�`A���AUݯA��lB9'�BIG@-�7A�B[4�ACClB�@I�)B�	B�cB��AE �A�MBV�$AOPmB_y�@�^�B�/�A�"jA,�>A\�(Bcq�A��$A%�B�=�A�̀A_y�AmZ�@yGB�<�B���A��"A��3Bm�3B��A8BlpB�
�B��U@5�A|G5A��RBI��A-KtB�2lAϲ�B�L�AP�]B��A�hBD<�A�4
B���A�t�Bc4�A��"B��B[�E@�ëA�kB�)�AQCAz�QB�hB�0kBp9(Be1B3&PB�x�@:�7B
}�AnB�(B�J@BLz�A.lB�B�/�B�h�AяBe�$?l/qBׅ�A��B醏B�-{BP�	A��i@�&PB\��Av"#A�BjB�A0�B��B�h�A4
fB�*]?��5Be�Aj�B)�!B�SB�r�A(O�BϷA��^B�+B�I�B�VSBxz�A�TB�$A��BX�5B���As��A��p@_?�B}�AW�A~��@WFB=�PB+��B;��B�KbBG�u@��Bl��A`�BA:1BݦG�� PB�ԎB�XB�rAB7T~B�m�A��?@j�WB- 8B�,BKt�A�OB
:HB��/B��fBX\�@�B�SB/�@�HBa��A]}B�,B��qA!G�A;t�Bx��BasqB).Q@.]A8�B�xA/'A��`AƌB-�?B"�dB�·A��A�S�@�4�AMAK�A���A��Bw�=B�y�A�**B�IB��A���A�A�D�A�~�B���AǻA��Ax�e>5c�B0$�B�B�  Bn2B��B�A!mBl��A�BQ�.A<�sA��A���Ak��A�]A�ȈBꥎB�dBh�iB�ÇA���A�>�/A�HB&'?.�A09A]~AB1�	B���BiQ9A�A���A�>BTq#B��_BM��Aj�9B#�DB3:�@��A�Q�B�5�BTa�At	oB�~B�VLBX�{A�SB�^�BH7uB�_�A`��A�!A�.�@��<B(u�@�hBx�B`�%Afl�A3�Bg^-B�WBJ�'B�IB�a�@A�$B���B�a�A}8>B!;�AKoB��B��A\�)BKO�AJrlA�܅@D�SB��Bx��A�'�A��B�}A2�B�.B�i�B�
\@�"�B
q�A���B��VBI�VB[!�A�qB;�BP�JBz��@.�B.XB�;{AtBH��@��BL�A̶A�)Ag+�BytB�ʀB
|ABs#�>���A���A�'B�$B��!B	DB�<_Bm
Bo0�BC+B�w�A{��B7�fAh�,BG�BV��A��&Bx�XB7SB�b�AҾ*B���AJEB�'	BG��B�-4BFs�@��4BY��A�B��YB�P�ACf�A� �@��UA���BS�1Bg�&@��B.?�A�KwAN��B1B!\�B&�B}B���@�Y�@\��>)VB�CBξ�A_��Anr�B���Aw^B�A���A>%�BB��A�7;B��>BkQ�BQ�SB���@�Y�A�gB��A<�AR@B���BU��B�{/B8W�B�Y�Bt�'A=-�BLNFB7C�Bb�B*#B�:�A��#B���A�O�Al0�>�B�?>هA��*B��{B\ݍ@��BN��@��B�pB�cA�EA�(BoõAC-B!�LB��BYC�A�G�B�yB�UB�CwB�@B��B�1
B��B|��A/=B�AF\9BqׁB:�B���A8{B`�B��lB�A�$B���A"ˈB�&�A;�SB~4B/^)A�_�B�9�B��Aݍ&B&"B,�Ap9�AqTaA�VB�@LB���B<#�B�?��BPQB qB*YMB	�B�>0B�E6B��eBM�
B1��Ar
�B\]A؝�A0��@�bB��B��B��gB�vB�B���B�eB���A��@��sB&vPB��MB�SkB�
!BWnB�>@
O�B#y{?a=]B�BE�B��\Bc�2B��hB�7B/eBu{�A�ޮA3�A�x�?.�A��Bo̖A79=BZ��Bo�]B�hA��WA�F�A*�RB:MgA�:lAv.�A�G�AeU�A�XB���A��A�ܜA-E'B:�A��'BǒnA�L�?��A�KB��B:8@��B��AE$Br~B���A�rB��*B�~B56�B�s~B 67B}9oA���BxC$AF�B�ň?��_B$q]B�FB�yB�5B0?BcoAT�BB�JBČ�A�2�A��AQ�EAA�B�->Bdn�A�

B��#B���A �XAr5�B�4^BEf=B�cB��jB��B��AdlB���A��<? �B�_B*�B*�AZv�A�݉B2z�A�� B���A'�0B`�!B�GBj�B��A+�5B B�A��VB�@9��A�LA��4A���A|�1B� B��oB�L�B�jBR8-Am`�A�y@B�qLB���@-�PB��vB�f@�AAL�DAj�A
��Aj�?B��Bƥ�A@v4B���A���@ �A��Ai��?��fBW�Bw�@��B��zB\p|B��{BC�'B��FB�B�Bj�@��B�@�B�tB�qsB�&�A��B���A*ҷAһ�A���A�BBXa�B#noB�CFB���A-ֆB$ըAwuZB��A�U
A���BB�ZB�GB8�A
<\?�ڗA{3
B��xBj8B�+�B�g�AJ8�B�BCUB���Aσ�B�1�B���A���B`�=A�(B�?B�B�d6B�nA҇
B�\B���?Z�|B7xB�X�@�džB3ƒBp�A}�@	x$B2ׇBc҄B�Bǩ+B��RBP� B�9B|i�A��ADBpB�ێB�@X>�BCYB�~�@��~B|�VB�-�A0f>B�lA+��A�I�B�A��A;�
?_eA��aB7a�B�~B��|Bf�AgI^By�B��@#��A3;�A�)B8�+B�/�B'g]B�\B�)CA�ծ@�Y�B�2�AϠ�B�AA�6KB�zBMk�B��A?�Bc�~B�w�A� #A8�A�A�dB���A�*�A��A`q�@�B;�?L�A��`A8aiB�W�@���A�6B�gaBKG!B�:}B�?pB��dA�2qB�.A鵑B�y�A���B�!3B�kB�{B��Ap�A5��AYـA�>�A�+[B�-�AyhB=9�B�B��#B��A��B�\ B�c_AU3�B��@��B���@�T#B(��@�2�B��'B���A�CTBy�B��PB2.eA�RB�WaB��YB��Bz>B͟�B�UB-HBqN\B���AJiB*�Bs�'Aa��B�{;?ѐB���?G�A}!B�dXA�AB��&B1ƃBR�NB�2zBB�B|:(B4�A{��@�!A
��ABk�jBBnFB?�9B���AK�BI�_Bh�AԷIBM�Aj-:A�zBf��A�3�Bh�B�VB�ÄB��B�ΊB0�1B�"�A'>)Bi�B���A��B��B�^�B��B䣌B���@1rB0<Bn�A�y�@�U<B��ARTY@�,�B׎�A���A�<?�x1B��A�)A�5B��PB�B@��A�+BQ\pBSB؆+A�} B��TB�K�B%x�A҃B�NB#�B��iBWB�֎B��:B�y�@ǭYB�>B�NBY�B��FB���A~i�@R�,A�yB�Aq��?ĮRB�Ժ@�
JB��B�xB=�B肎AW��Ae݇A��XB��A�+�B+N<A�P�A��A���@ ٸA���B��B��B!�B��A[�SBp�B�B��A�6B�3�B�B��A�I(Bs�B�.,BA�)<B�[A=�A��B� �Bh�A��B{�IA
�AH�IA�r�A]�A��A��_BȳMB8=@�v@1ms>E�B��mB�>2B�_B�'A�D�A��8@�@B��{A,�%B��NBѫ�@�kB�JB�אB�ZoB�j�B)ËB��c@*��Bt�B�KBbn�A��)B��B�A�B�
oA��@���A-BlkA[qlB
B� �@ƥ�BJ�YBO�xB5�B6[wA!	1BK)gB�M�A�xuB�	�A&	�A��=?�B��B���A_�IBVvA+k�Ba7�@VJAv�eBRXA~6B��.B3t�A|
?B+�B6�5A�0B��yA�JhB��:BCp�A�`~Bj��@Z	B
�VB�u�@=Q�BıMBx�B}:9Bz�AGV�B6�NB�x�Aʻ�Bx��A��As�AB��UB?�yB\i�A)%�A�=	B��A[�BG�B�6pB�B��B~��A��B�?o�EA��B!r=BF#BBw�,B�sB;�B��BϕB��<B6�`BW�A�@.Aq��?�#FB�<�B	�1BS�OA�B�
�A���@JB�NB_�B/_?�+CBvѥ@nB},BJw(BJ)B�-?���Aӥ�ALjA��ZB��J?@
QB۔@�#�B'�@R�B%$BҺ�A9JKA5J^B8t�@�0�@3~B7��AO�@���Alr�A)Z9B��Aq/:Bb�aB��A�?NDA-IB�J�@5B���A�Η@��A��|B�cB��fB֌�?�B�B��.AtG�@��@���@ɞPB��zB��`@�kB2z�A'T>A��/B�^DB��?A�@�A�IB��&B�R�A�B+�9B��eA��lB	gAh�sB�.�B��bB�O[BS=jB8�?:jlB�`�A���At�qBz?�A��fB�T	B���A(�/B�M�@��cBG�A͵�B}OB�k�A8bB��nB���@�Aj~�A��Ai�Bf��AH�B�h�A8��A�A��A�zf@�|�Ami�B�z@���B�gB&IVBS;B��CB�3B"3BZ��A�_tBz�sB0;�B�܀B��AoqB3_-BH.�B�B�A���AKW�@J=vB��B�-oB�7Bg�SB�Q�A�;A�A�ZBkp�A�"�A+�B��Ax|B+�B�bB�B�NdBy�1A��B8��A�oB�ԇA�fA)FA�9+A���A	BdB��A��@J��A�Z�B�B:�BMVB���@��B��uA�zg@]�B`�B�8�Bl�B��B*�B�D-A�*A���A�{BeA�Af��@��Bc�kB�wA1ؓ@��BD��BFv�A#�AIfBʑ�AV�CBU+Be�~B��A�:sB�bAp�9A��IBe�0A�LXB�jB�A�X�B�DB��A��AP��A3��A4d�A�g4B�oA��"B1�~B,�Aߟ�B���B�֢An�@��3B�@[UBQ��A�'B�BjK�A���@6%A�b�A�Y1B��A$�C@]]iB�,�B�`A}aB�pVBX�?B�O0A�srBy�B?��B�)/B�^eBpy�A,B4�sB�A3�7BđzA�nBa�%B�_~B��2B��Bl�B}�;B/\yBH�wBK�B���B�n�B��A�rB	8B��BB//BşlA�2B�61B�B��gB��B��Bj��A��AHu�BG�A9�9B��HB6.KBڽA�B9�A�l;B�G�Bh|�A�n+A0#�A�GB$�A=�Bi?��A'�wBD#�A��B�g�A���Ay	B�B��B��{?W}XAfS�A�;+A���A���B-nB�@�A�AU^B���B���A|�AALBg
�B�9�?�&�@���A�_YA.�@�g�A��@`��A�Z�B��B=�@�NB:�A��*B��B��>R@jg�AC�7B���B�#�A•�A��^A��A�i�B���@�B�A�UB��]B�\B�wA���A���B��@��B��:B��B�
A|QB�\B\>@�idB��@]��BN)QB#3�B��6B�g�AqEBMS\A--�?|B�^[@��jA�mA��B�F�?�ՃA�iA
�LA_�A���@�ZB]�B86SB��yB�#BPq9B���A�7�A��A�E�B��(B���BۀB��Ah�?@6�B{�;B��B�r�B�`�A�);@}tJB_P�A��?Dh�@���B�-B�#�AUAm6�A��B�joB�i#B�ƋBǐ�A��A�R6B{�AF:Bb��B��Ak\A,�A#�$A쑟@)~{A�cVA�kA<�Bw,B�4UB���A�_�A�]�AW��ByN6B���?�R�@�Aw�VB�t�B��^Ah
�B�H�A�PAdA_�MBl6�@��Av��?��B�ϔArcB�iaB��zB� BB���BN�A�TB�`B�R�B���>��A(��A���A'	�@k��@�F�B���AT��A��@0,�B�3�Al!�AY�zBU�&@j
	@��YAc܌BhKAˌB5t�AR˔BYc;A`B˅�Bw��?�c�A��#Ag�)B�;eB\QA��B��B� B1f@�oBK�B�� B���A��qB�1A�2�A�3�B|�B��B��A��\B"A�"AD��?�o�B F�Ad��BL�UB��+B�$\A�8GB���A�nnA�R.B�D
A9%�B:þAg�EBqEB��0@-e�A�y�A�ӌB+�>B{A@@F�tB"��B<��A�4�AvU
B:B��rB�GjB��B�&@rYB�ϡA��@'�YB�"�A��HB��tA���A�l�B�f[B��B�4B?�mA���A�`Bw��A���AM��A
 A�_B�"B�G~B�rXA�؀A`�'@3�?A��#B��uB�HB�0\B4��@2��A0�tAV`@b��B�B�)WB�|5Bog�A�@�A�]kBX�IB%�cBꑏ@ev	B�#uB���B�Bg�B�5�B��&B#3BTO�A��$BT}A�B��sA��?B�KUBV�A�b�@�!aB%H�AP�}B8B���BtRA���ADdGBt��A���BB�B�O�BK�5BP�A�eB��_B-d
B�Ȁ>C��@�l�A�eB5�#A�-�B�
B��,B��A�sqB��-BSHn@�?4Bh�A�YRB⊯A��,B"�gB��B�]mB`%B("9B!�B�d@۫�BL�QB�CWB��B��BJ�\ArUSBM�A��>@��E@��OB�� A�~�A�%�B��nB֝sB��nAM�'AqY�A&3wA�׉AF
]B�pB6PwB�b@���A�|B�~%B��7B��?�TAg0NBU��B�xkB?L�@<Mp@�=RBU�HBzPOB#C~B�B�D9B]�@o��BI�A�e�A���A���AS;�An�GA���Ag��B�14Bj�B(�
B`9�Ag'OBi�BᑷApP_B�P�B�+B'%�@�3BkD$A��B�;?B�a�BrHyB~��A?�6A8�BQCCAd�3BO{IB~��A��>�n�B��/B{?�Br��A��DBr��A�f)B�Q�A^�dB�I4@�b�A��;B�Bz�}B���A��A��BA�B�iBB�EA��@l�B#�cB�7#B�bB/m�A�ݫAkkB3�AӬA3C�B��B���AAk�B���@�nB�a=A�h"B*y�A��UB_�AB]��A�6.B��@.�B}�KB���Asq<A�P�B�h�Af�NA?WYB��B�P�A�A��AǷtB-�Am,9B5�B�8�A�)B.:SB�J�B�tB�6�B��Bۜ�@�DA��hB��@{�YB<��B��B��B�^:B]u�Bm�
B/'B�%B �\A��@B��LBIseBb?�BSa�A��bB`�B|�zB�˓Bf�FBl�GA�XBXa.BA��A��B"�6BD|B���A�fRBW�>B-/vBR�k@�zB\�BL�IB+KIB�?�AT�BaQ=B{��A���A{�AB�!A�oIB���B���A�gLA�ًB�U�AY
aB�-�>(m2B"�}B��A�	]Bh��A��A��1Bqp�BW(Bh��AD�qB���AwA�ZBA�Aݜ�B�{?B��GBR�[B�@~tCBs�-B��<@���A�&�@�<8B!�hA�<Bs9jA0c{B�
B��Bg�%A	9!A��B�-Bl�BB8<A ��A��XB�M0A�B���A)!B���A�>B�x1A��AvNB�#vB�̄B"��A�QBҪ�A���@�Z�Am�@b�DB�.�A��BAO/`B�/rBy�	B��GB��SB�A�J�Af�YB&�A�s�B:��?f�7B��.B�Q!B�NCBX�A�5�A?8�A�`A>�AR��?J�H@X|B^HBl��B�?B�A�wAb�IB�%B:zB��B
׍B���?�=�As�ABXBB��A&#�A���A.`B�x�@�u�B�aB�!&Aa�XAl�	B��'A�&�A�6A^fB���B{�@��B�fA�XrA��jAbVWB�i�@�B��A�FB^��A ��AҜ�Aم�B�EB���A��uB/&�B��LB��A0*A�,�B�y�AT/(A{�#B��qB��B;"�B]]�BӶ�A®%Bb�B�@���A���A�6B�cD@@`B�.�B"{�AR�A�r#A��QB�ΈAڀyA�ոA�ґB��A/�$Bނ�B-�AK�,BɄB$�DB&r�A�ReB `�Ay�rB9Z�Am
Bj�-BkTWB�7�B��BN�A�|C@֝�@Ki�Ar�FBi[BfZBw�(BJE�B,:�AjYB�(fA1�^B�j9A=�B��?B��B�7A�P!BY�+A��?~�1B�5B4�Bx�B�ץA�(Bs^B�B�o4BX׶AbZ�A��SB�~IBV�BlK>W
�?�n$BK(B8?B]�@�v;A��@
#A��OBAhyB�i�AB�oVBS�B���A��;B�~�B��pB�oBm†B�RB�9AK5�Ar<�A�v�B	Z:Bpҥ@GB��A���A��OB�]B��qAWp�B��A��
B��B�ɨAYVA4B:B�ɃB�"A��A��B}HB��Bw�i@���As$�Bo@�A�0!B:B�2Bx�qA��LBA�#B�1EB1yzB�u}A�tB�5�AS)k@K��AFo/A��B1�B]-�A��A�D9B�$nB9�B3��A��@`�&B���A}.XA�5jB�'4B!B�ՕAC,Bx{�A�,AG��A��A��\B�`�B�<8B�9ZB�גB�=B�SA�ԝAhe�B�B9?��BLoA:�A�I	B��By:mBS4�A�:B���>#7_B�'B���@�URB~T�A��oB9�A�u@T
B[�AB\�B���A���A�R�A���B��B�"B���Bf�X@��BvU�A*�BB��*B�	�A=��A5��BH�KBj]mB=zY@,o	@��B�I#Bxa�ASmA�'B��>	B�dB�/�B�Q�A��^B)AByىB[�?�5q?{�7BҺA_VMB:�@f��ADG�@ߜ{B���A��.@C�A���AOJ�@�nBx�A�-Aɕ�A�
�B�|�B�aQBq�)B��@��(B��_B��B��aB9:A�&"B�BysB^�A�"DB^XRBƊB�OvB��6B�.�A<�Ao#�B?IQB^I�@�T�B�k�AsːA�oA�ҽ?�qBM<ZAT�cA�N�AvuBK�%B�q�A|V�BwBDBPRBpT�B
*B���?7�B�4�?_�HB~�BJɁBzjB'�
B�;B�R7@t��B�&KA�WB��#B�"=B�i�A!�B��7BZV}AT�A"�UB+kSB\vB�geBl#aAh�A���AT��Af'|BcB��B8B�K'Aб@^W�B��B���A��hA��A�iB�KB��-B~%�@
zA�J�B�y�@��B_�A-�A��KBG��AI�B��"B�y'B��A)q'B�
BN��A)q�B�V�B6H�A��B�6B���A�A�!�A$�]B�ص>�FWBȔ�A�B
�7B��CB�b�B��B��A.$XBB�NBz��A/%B�h#B�?B��A\�mB�_A43B�!�At�TB��Ba�Bi�A��eB���B�T�A�A�RA?�lB� �B+&8A���@�
9B�ōB��5BI��BA0@��rBA,-B]'B��VB�Vf@̇VA+�B#�Br�B��@tkA�d�B�8KB�#�@�EVBW+Bʯ�AK'oB�@7BD68Bn�j@�M�B@B��3@��B�J�A�]Bu{BezBa�Bo�@B�Bْ-A���@�wB2f�B�A.pB�[AJ�A/<gBk�Ai�hAD�0B��B��_A�FBo�>B?�^Bo��B�s�A�A�3�B>BS��A�>*B�]�ATB�҅Be	B�(B3�BoB��B
�
Bf�~B�g&B�tNBgڗA�]�@.ۑB�f�A20B`�5AV_<B)�B�l5B��lB��B�5
B��:B��FB؂A�{BBFPA�KLBWhA0[kA���Aۤ�B�wA�|wB]d�A��Azn�AT�A��B��GB��A�NMA$BrB���A9��AA�lB��B�
�B#��A�?A�U�B^�DB�B��A-�wBxU�A�@�AT��A��Be�[A��{BςB6>�Bz=gB�8KB:�hB/�FBG^�A�5{BO�3BO	B^�{B`ӀB`
�A6�A�W�A˝kAܤd>h��A
6B�5A!B\B�y�B��%BkRiB|��A��B��B��]B�LXB�4\@Ub�As��B�1gA^�_Bq�A���BWBB3ܬ@.�(B���A�kBSK~A	E4BH��Aj�A�9�AJrG@nL�Bt.B��PBˬ1B{=0BH�Bt�zB�*B�h�@�$�A8�{B8Y_BT!�A,~MB4vcB��|BQkdB-�B�bEBO�Av4AB��A���AR�[@���BK�rB���A��B��ApYXB釞Aۥ}B��'Be�
B��bA�ePB�S�Au�xB��BMBBV�B1�oA���A �XA?/�@[@���A^��A�@��A��B"zB�c`B0��Aw�A�bgA��A�bB�Q�B��2B��lBU/@BJ�mB��Bu�A �Bp�B[�AeE@XF�@�ҞA/IdB0�Az#pB+fMB�'�B�΃BHn�B+Mi@��DB):$B��=B<4*A0��@�=B���@�ӚA^A���B/#�BL�GA�\lB�B�A�X�A'&XBd�5A=.�@}\~A�RmB�[Bu�pBg��?1z<B�Z(B.�B��?܄B,�B8�AG��@0A.Rs@�v A��@9�B�fB��B~�Br�HBK��@���AשB,�B���B�~j@�SA��4B��4Bk9�@Կ�B�J�@��yB�݉B��BB��Bh�A��nA��^Br�B��{A�D�A��FB�\Bc�NB�X�AqB�alB�[1A���A�3?B��YB}wB<BB<��@�l�A���B�{dBW��A�QAAd�@�d�A6%BqxB=�dBC�LB�_oA��DB�m�A�~�@�/�Ax��B�x B}�?B���A��A�|As�A\�B��B#�oA�6/B�9�A�Z@ƩBt�@BM`JB(�NB%B-�AS�DB�XFBo_FB��?B>[A��B��BzCBv�@�}~B��DB��=�ZAO��A���@��JB?A{B�2lB��JBp+�A�:�A�5�?9��A��xB({�@��APJB�vBB�0B��GA�FB]�y@J�A㽁A��@÷MBsZBӗEBs�AR�)BloBo�1B�FBU�<B�i~BѦzB�ˀAl�QB@�eB���AV�DB�#B��.Bf�-B"�A�^A�c�B{��Aj��A�1�A�C�@x�uB9
B���A�A��VA_C6BPA�A� oB�ćB�ؐBȝ�AZ�Bn�B(XBP�a@��B�ȋ?@1B�ע@�˄B�͂B��BA�\BI��B��B�b�B��B��A*|pA�nB�pB��B�f5B�ԯA�KZB�[rB���B�C�@�C�Ag�A{�kAT�AM��Av�xB�/�@�B��-B1E�A?+B�9@�υB~VBPZ�Bm�}B�xBBlP�AS��A_�BBXGWB:BkBY�Bߗ�AQK�@[p/B嗀A��,B*QKBC�"BU4Bn��Ad�EB�=SB��v@��PB=J5ByBk�uAA��B��A52�?��nBxl�B.��B9�-B!4@k��A�L�B
�hB���BvYB��2B��B�Q&A/ߍA��%B5��A{�.B���?��B��B�Z~B�6�A�6�A*�A��A���@� B��4Bs�JB�ޛA��B���A\_�A�8�Aq�A���B0�BڤX@RBBB]�BC�KB�^�A���A�-B�*3A'��A�1cB�/�A��BSiBz9B�BZTPB�w~B���A/�&BLh�@�WAA�?�@D"�B��B��vBJk�@��A
�-Bh:/B
�zB�%�?���A�WjB}M�A�B�<B�x�A�5
B�]B��)A��BboB��A�vAB-��A�0-A��Bx1�?9�CB ��A.AMB�lA��A?-�A�2dB��SB��0B�!BB��A�TB*xB�j�A�#B���AWۢ?,��@CzB��B��B
��B �A.�(B�-�B�E5BOJ�A��]BZӗA�(�ARTB��B?�B�@{�ApeHBrnPB���A�z�A;xB!��B?=�@w<	A�/ A~�B�=�A<aB"�xA�E�@$p�A�	�B��B��A
F,BK��?�aYB�(�A�CBOPA�qB\6�B��B���?��\BükB�Q1B��=B�B�EA=�rBefAY%A�KlB_x�An�[BJ��A�JpB�I�BZƐBz��A��lB�0B&Y�A��Am�%B"�1B�4�AL�eBkyMB�LZBwhB��@�;�A�8�B�v�@8�SB��B�r9B�F�A��AF�@K-�@Nx'B�
A��"B%��A@FBIB��/Ab�B�}?��B:��B���B�l�A���A���A��@�;�@|��A
�TBU�KB�)(B��EAV�B���B�DA�bBV�B�?MNB���A�UB�Y�@v*BfehB}��A�,B��Aa�B��A�B�jZB�B�B@�kA��Ar�B��B�oB�V�A���A�0�Bv7�A��dB��GB��B�EB��uB��CBu>vB���B��BA��BԼ+B�p.B�
Bʴ|B*�A�F&BX�aA,�Bf�B#�FBQ�gA;	dB�N�?�܆A�B#A@��1B��wA�NA�bBs��BF�&>$:A�|G@k�B,BK-Bt�B�B�B�cQA}�eB-a�A�F�@�BOa�A�)8B���A�%
Bʃ A,p�B�BY�Ay�B�@B���A_�AyJMA�L�A�{�A�B�w�A�hBs�XB�4PB�p�@9khB�`B��Ap��AfB��A��rA
ВBkB�W�Au�B5 A�3�B�:B�r@sg�A�ԋB(�B��^B��lB�5Baj�A'B�O�A$`.B��/B}�nB��}BL�A�:B�HB�X�B?|ZBy��BP�A��@J�6B;�zB�t�A6|PAx�B59oB�j{BRFA6d+A��^B�awBKڅB�m�A�;B�(B(B�BG#B�B���?9�:B� B�\]B���@�OtB���A���A�MB��Az+BQcbB$�?Bh�4B��'B��A8kBxBߨ A��bBb�nAێ�@e͊B�ƈB0N�B'�AQhAO�B��N@�u�AD8B�2\B��GB�T�BE��B�&XB�B�At�@�|JB���?1�]B)/�B�v�?�BˉB1
�A�-�AKqR?�B�A1SwB��DA�mB�PA���B&UiBS8	B��A��B�NB�x�BD�8B��A�M0A��sA�#=B��A^�]B�A�B�..Bs"�A�UyA��fB���B�GrAz3At�A���B�A��-B5�A�AHB�UA���At��Ac98@d�B_$�BV�B3KB
E�B��+A׮	B�M�B�X2AR)pB�|wBS�kB��iB�;PB�B�5(@��A�PHB��gB��RA!�VA�2AB���A�6rB:�A��jB2�@B:��@?H�Au��A�҈BIp�Bp�gB�\�?s`nA	�kBo�eB�rXB���@lӄBc|B�Q@A�]iA���@Q�B�@���B��@���B��4B�oB�5�A	�MB�@2�A�nB�:2B�VqA�iAІBǖ�AcB3B��dBMX7BI��Al8B��[B��DB��A�B`-A�P�A��B�^�?h�A8d�B��$Bz��Bg�B���@�9�A���B8�~B&MB�lA���B#i�A��6B��A��OB��0BԂB(�'B�nBi�#A�sB��Af�yB||A�s�B�SB��MB�k�B�8�A���@���@�kMB���@a@�A���A���@��A#A0B�}Bv\B�xBR^�A�PB�r�@<`�A��@z0@i�&Bӫ�A�Q�B_^�A���A���B��A���A$�B���B!��@סO@w�B���B�DAk˒B(jqA�ʊB8�+A�KuBkȆA��;B"1oB!�A4��@>˺A~yAP�/B�m@3�B�P�A�yB�~Ahh(A�d@B���A���@<�]B#��A�h�A.��A��=B��A~\�A��A�!`Av��B��rA��?A���ALڋB�~JA��AYt�Bc�"B7�dB�A���A6ċA�&�@�@̆BE�tBI�@!�B�K�B���AXN}@�ĒB7�A� �A�|RAv�jBW�5AX@X'�B*�KB�m[B�P@^�?�̅Bu:�A��XB���?D�A�� @V��>��=B^��A�~B1��A�k�AjmCA^�RA��A<�@��@L
�B�:�@>�@4_�A��vBϻ?ڱ�Bg�cBS�-B�L�@�WB-]Bs�By��B�Z�A[ݿA��SB,tGAJpyB6�BM�BqRA�%B�&pA�'�?��hB	��B'��Az��Axi%A��fB�~�B7�@�RB9�&A��A#�@m,2@�bB_�]@k�AG�B�hB�y
@=��B&")B%!Bq�A�E{?�MA��^B�c1B]1B'+nBn`Ar�+B�mB�+&A��B��#BLBS3QB��!B��B� �B�1�ASN�B$f�A�eBS�AB�4IB{��BoͽA��@\ڄB,mpB-�sA]	�B�[BRvB+BƔVBX��AxHeBn�$A)\B*�A�U@�
|B�@ɂ�BR�XB��@=��AK4A�`A��B�BzvB܊�B>�fB裡@���B���A�K;A���B�B�K6Bp�A���A䝦?a-"B��1B�9B��A
vAF�$@&��AS�0B&�[B��=B+~B�%4B\͖A�zA�,�AG�A���AmaB���@{�8Af8wBI~�@�^BpauB��JA��h@gC@B%P�B��@Bܷ(@�_B�B�i$AL��@+��A=�@�ABfv�B�cA`	�B�f�B�p
B
~A›�B\J�A��]B�@�B��:B<�yA���Bj͐B��AA���B��A
r�@�JoBs�BL
�B��B�FB��QA��BBrS�B��oAΟ`B_��Bh�&BB�`�AI�vB�w@A��%Be��@^cB��bA�v*B��A7�Ae�BBK��Aq*B؜�@-'hBtrB�oB���@W�BC)]A�fBg�qB'�A8rLB��oB��B�{A@���B�\B�9�BM�7AKn�AE��A�FVB��B�
�BI�Ba�A4�B
��B���A�A2�AB�A�KA0I"B�g?��1BI&xBљw@�&JB�>�B
?&B��TB��A���A�MA]{A$#A˗�BC�@�v?D�oB`�B@�,?ĔjB6�DB0upB�/B\\�A�Y�A!	B�}BоA���A&)yB�W�BfjaAr�B5��BgeB*eu>�|�@�A�S�B�	B�iB�҃B��~BHFA�B���A3~�Bf<An��B8v�B7b.B�G�Aj�0BZj�BA]xB:(�B��uA5bBc B�VB�V
A.�@�[|@2:�AH��B��=Y��@�wB��SB��B�D�AzL�@��B*AA���A�x#@��=A�պ@�c6@��W@��vB��`A]X'B�\�A^�?NC�@�WhB�[B@��A��A�:B��oB�BB�.RA��B���@s�BJ��?l��BCE
B!(BuNB� [B�Z"Bn&�@�MB��wB�oA�7�A_P�A`	fBV)jBz,wAa�7A��8@�pB��nB���A�1�@�B!A7B�B�Y�AżMB�B���A�B-y�A��A�>B�ēBѱNAf�ZB�nBMO.A���Bl[B#�B��LB}�Bȩ�B4�HB�^�@�=�@b|B�z?+NKBX��B�XzB��?H}LB
xB�2�A���@X�A.}�B�B&tAڇB��B�sA"34A�WA�cB�ђB�҆B�`�?T=A�I�A�@�A���A2�9@��Bִ,B�-A�B���AaʋB��B�-�A}�BD�jB�
�B3>BB�%B.�)B��AJ�Ak��AJ�A\��Ac�A �vB�oBy`bA���A�#B�D�B�%<B���AY�fB%�A��B��3A��OB��?2"
>2��@��fB\RA�[A�:�A�kzB;��Aw
BŜ�A;EA^EA��+B�F?BQ�jB�zB�[GB��:@W�[BC5wB�='Bf��@�FsA^�@�ZoBe�B�W�A���B�e�B��~A�JaB�S*A��3AB		AYZ B�Aң�>�x�B�>��*A��B��B
4�B��=B�?Ba��B�E�BPI�B'�oB�o.B�hEB[B�WmB^��Ar̈́B��:B�l�Af��A���B��B�\L@�B`�gBⰷAZ�B�Bz�Br��@I"RB
�7B[��A@�AF�OB�=�A=
7B��3@�\Bv36B���@��.A��B��QB�ߨ@�Q�A}��@�܈B���A<�<B��A~��>XABBa�B��AqGhB�>�B,�bAF�)B�JUB��VB"ہBc�^BnnrB�"B\I@,�A�˓B��xA��5BQ�B��A�zkB-�LBXZ�A`:0B�@B��B�[�B��@Ӯ
AX<�BzrB�}AVm�?f��BxBq)�@u��A�QB�&B��B�t~B�z�B�0�A��BJ?B���A�ޢA%�NB4aB�b4B�I�A��\B���AMY�AG��Av��B
�A�A-D�A��A�܀A��>B�J�@�'�@���B���A	��A���A�+A<��@/xW@��B�WA�M�@��A��A���@�qiB��B��!A�1WB�t�A��A�gB?)sB��xB��A A�zB�WBW�rB�,3A⎊B���@���B��!A*q�A��B6zB��"B
��A��B>�B�kBB�[BkAB��qBP[B7�@�B�?<B���B,�mB��nA(n@͌nA� B�*S@��AJ��Aph�AJ}�AEB��nAx�AM�B|D�AK�AA��B�M�BP��A0h�Apk�B�~B�E;B���A���B�ĞA!{�Aɒ�A���A˚PB��Ai�BJ��B�A���A�A;A5�@BJ�B�rB)TBw؈BQ%�A5l
A�@A��AIA7J�?{مB�L�@��+By��A�l�AR�6B�b.Bp��A��dB6!B���Bw��AׇB��OA2+kA���A-��B�r�B�0]B|B:,DB�A�X�B�%�A��YB*>�@��B!B�@TT�B[�A���A=�B�IA��A�y�B�+�B��kB���@�_�A켃A�օBk'�AE�5B߲<B��AZojB�p�B���A�}B�=mA<�>��B�=BdIB]]B�eB��A�5B,�B��@m0GA���@�$B���BN��A�s�A��A�n�B�B`%bB�%�BłfB�%BT�A��A��@'mA��BlQ�A���A�BeɉBp`�AG��B��A\oLB�B[�B���A�[B��B*FDA�B��ZB�d�A�B��A�lm@���A1UA�=OB�A��ZA?�B�B�C�B%vAHrBQ�PBu}DB��DBR��A�`KB4�wB�XM@W��A��zBr�mB�fSB�oB��B��-B��+B�B8ŁBl�B���AE��Amѣ@���Aw&B�ubB�$�A�qA;�[Bh�Bx�A���A���A�rfB��qB��Bnu3B��mBq]B�B9[�?9��B�NB�g�A�c	BA�A�:�A@�AeB9Bך|B�/�A��A�j�B[,�Bf�eB�sB
�BTB�gB��&A��NBIu)BOqeB.q\Bo'Bg�A���A��TB@NB��B��6B�FtB�%GA�|B$�A|�B��+AaJB�5�A_(B�F@B̈@�[Bs�.B�<�B��XB3�AD�A�7xAk��A�W�@�јA���AJ�@X3�BqqBz�DB��?��A�1�@�A�#�AF�BotYB�|B�V�@�W�B��
B@�nA@�-@�1�A��?��XB�0B�`�B8��AH�"B�ЫA+�lB��WB��"B���Bބo@�j�B
��A2��A栥A��BC�B��=BW��A�AAt^cB߱�@-��AJ͏AsB�r�A��A���A(RzB�'�@,HpB�RFB���?'��BӦ�A�EB�ÎA���B5�$A
�9B:�B5zB3�B2b�AwJgBuSA�?@�?�Ao�B%�GBpw*B+BB�sHB��B�BvB�4A�?SB�-�>���B�?�A>��A�&s?�B׺rBѼ�@;�A+Bd"�By��B��?��B�?K?#}�BO	vB�ǼA_��A��B�dB���?ZqoB�p�A
͜A�WTB�F�A5|�A@�B�^,B��{B-r�A�O�B�yA}�zB��A0��B�aBI*>B��B�ΏB�jl@xa�A��B +xBF]�A��;_�B!i�A�Bv�BΌA4x�B���A��$B�B���AŠB% �Aғe@��A7�+Bo�0?l��AФ�@Y�A­B�^AyYvB�4�A{�SB5;JB�+BTY`Bc�A�ٰ@���AVOB��B��AB6�@�v�A���A�t�Ax��Ap�[Bz,�A�gwB���A.�B1
.@$�B*SoB�4@o�	Bş�A駂A��B%��BGs0Bf(SA��AU�Bw�@�ԵA��;Bug�A�_�A̅HAW��A�5BǣyB��A�s@B9G|B��dA��(B43TB�N
B�ӦAp�2B�'A��^B/W�Al �@áJBɤ�B��^@�ͩ?�-B�I�A���@�ATntA=?�A@�PB���Bu&(@�psB�A^7[B���Atc8Bz`AK_aB&�B6�B�YA��AHQwB��rA¬�AOOB�u�BAB�MB��A��@�ْB�A1=A���A�̌@<)B��A�{B~K�B�A�M�B�V�B#
FB�V�A��.B�k�A��!B�4�A��B��B�uJB�UB�>�Az�TB�;<B�l�A��B��B�ˁB8\
B;�+A܋RB&�FB��/B���@#��>%A��1BK�wB��`B���@�`?B��AL�A1�B�{�@J�B��A<]�A�'�A�r�A�j�A��B�CB�szB6t.@V/�@�3�B�Q0B�{@?�-B�"B��wBzYB���A=gBӝBv��A��>B_�4B�`zB��CB�gBABM�KBC;�Aq�B8P�BfXKB5bbB�"�A�AB��B�n�AξDA�M�A60B�eB�|=A)�>@O��A�,�A1��A7�BH�WA�K"Bת�A��@��B�ЯA��A��B@�gBTVMB(!�A3�:BkU�A�BA��At�aA�qBn�{A6�A�� B��A�k�A�n�@��oB�f"B���ALX�B��%Bw�_A��pB(УA��!B���A}\B��QB��B)�A%B��aA��(BiIByB��\Aw�	@��@s�#B
lA�b�@Z�B�x�A�c*@�rB�߿A?�B�u*A^T�?���A�d�B� SA�]B?��A0�%B��Ak��A�A3�BүEB�۲A��A��A��A%B
��AH�6A�-�B��QB�n,A���BV�A��A�iB�nB�\QB��B�~.BkB*SBa
�B&#�BӎwBXI�A�dA��VBH[~Ay�A޲�@���?��B��$B�%�@�s�A�S	B�2B��lB���B��@�-BR?<B��tBA�`Bk�MA�!Bʿ�A���A�a�BAS4B�-B{�@���A�YB3�?�]B�J<A�V�@�i�B@�?A)�K?��
Bp�A�XBL��Af�Be��B�8�A�B�A�6�A6��@�qB'^B5�:B)�a@�iB#e_B �4B`B@~lB�1�B�pB��B��bB䡀B
2"B7rB:�TBe�B�k6Bu*B�pB7�A8#B� 7A�߉BW�%@�1�@�25A4�kBGyB�� B�*�A�f\B�X�B�B�cB�}BB�B��At44A���BܤBG{tB,��A>�"A��A���A��.B��B�8�A$�NB�bBlyaB���A�B��?A��AY�TB>N.B�ͼA���Ab*�A��B��B�B�x8A�GB;�By��AP�B
`�@�DBp�P?�*cA4�TAe�bB��eAC��A�ר@��A�{�A��~B��P@�MB|��BV�3Ak�B�ϨA�ʈBGŃB%��B�B޻�@,JB��VBS�mB�p?-�A�B;B�6?sqLB��A�.Ac��AQ#B��3AW�3B��@�n?�0�AfW"B/��AqB癡A.�ABjxB�A�dB8�AV��A~
BstB4|vBTB9#BB�B9��@f�B�A��Ae��@�)B�_YBXMB��A9UBfu�A�B'�A�(�A��Al�A7��B��7Bv�uB6�cB���As�ANB�BE�>@�}A�B�,B��A��B��Bd�@LeYBW0�A��A���A�B=(BÇB�qeBf�MB��nB6t�B�ixBZ<B�)	B�_B	teB��A*�4B�/�AB��B��@xZMB��}B��jB�-AX��A#	bB���B�FhB�ftAf� B:xA��pBﮐBX1mB�:�B�[�BU&]B6��Bd��A��zB��;ARPB�MGB��pB�t�A�)B�W2B+:�BmC�@�rB-�@PmBN��>���A���Ag?�Be��AFt[Bc_AB��/B�
�B%V�A�:B:8Bǟ�B-�IB��FA}'{B��B��BR՗@���A��Ay�@�1BO�B���Ao��B�qB�/B�r�A'FB(o?B�_B�XB ��A1��A)�_A_͈B�9�AX��Ar�B�M�@�	�B��B�b8An9Bc�mA�9B�9dB�=�A@~�@!NB���A�TB��3BieB��B�9B�$=BA<�B��AFݥA��Bhh/B7�rAxx�A��7B�A�T�A�>
A�Q�B�ygBB�B[Qs@ם\B���B�6B:�SB�Z�A�w�A��B�-�A��jB1�DBE�A�;B�)�A�B�q4B�_B���A���A�M�@���A�O%B*s�A���A2Y�?d�Ac�AyL�BwzBJ�B��$BM��A��B���Ay�A_RB�\vB=�B�pB�[A���A�YB�/|B�U:B���A�a�@o�*B��B�e%B��)A���B��'B� B���A� B�v�Bѷ`B��3BQ�vB"��A�M�A{Ss@�f"B��"B
XB�h"BP��A��MB�/�A��BjBs�B��B*?$B�RB�FBI�QB��mB��B�	+A���A��>B�8B�&BV��BX�Bu�B_J�B��A"�_@���@F
�A�^B2ÁB$~CA��>B 2Bq�UB�eiB_w9B$G�B�'B��3B˜�A��Bk�B���B˷�A)8FBs�+BCoB�s$B!�UB��AD�B"_�A�4mB�#�A%ȿ@6/WB���A%e�A�h�B���A�~BB�O�AQ ABkM�A�A_A956@�T�Al�B��RBw�ADΊB$�=Bk3DB�U�Aʴ)B��A�2B��uB�[�A��A+U�A�p0B�
�B|�QB'�CBH�B��A_�wB`�?B��@�BY��@^DB9z<B��lB�#�A�PBN�BB�"BB��B}�GB��/B?bA�3�AP�pB��A�JBe8qB~N<B�gt@"��AH�U@NBA��uB��iAx�wA�CA���A��A׽�A�]Bb��A��gB�
B�*HB%��A�kA�=BɄB*9UB'7<B/� AP�,A��)BL
pBS3
B�	�@9�AS�B#*EB~�AW=BEBk��>;��BzI�BI��Bخ�A�NB�H�B�;bB�֓A�w�A��B>�wB�QBBlB�5	B�46B��A��+B��BZ�BC�B��A��ZB�&B�F]?_PBj�/B�>B�<0A��@{OB�'B=6B�=B|�AqGB?��A��wB/�B�x�A<�Aʶ�@�
'BGa@B���A���B�dzA!MB[+�Ax�A</�A�˄Bf0B��B�kB��Bk�{B4�YB[L�?�&�A�0;A� B�҂B���A�"�AJ��B*B#�/Aj`	B��Bo�QB5VeByvB���A���A�{+Bo�LB�xB���A�-<B�-B�I0B��Bc8B�vRByI�A�sWB�)�B���B�UB���A�3B�j?��1B��B��@
^Bk�aBT�QB�B96Bǖ�>�	B��|Bw^0BwÄBe��@�?B��fB�\B�B���@x��A��"B�

A]�\B*3�A=|B%�uB�
7B{�A�[
B&�>B�}�B���A��A转A�+BCM�@�BbS�A��@���?�B��B�BU�4B��	B倊A��,B�.�B��EBt�BoXCB
�\B�t7B�XFBw�9ByhA�%%B�؏B6.�@P�A&`8Bq:�@��'B��0B
�RA�A�A��@J~�A�VB��*B�p�A˰�@|��@�s�Az�`A��:@�b�A^�BH^ؽRžA�EBo�B���B�iAxjBua@Tr�A��qBֽ�A�{*B0��Aq�=A��?B\�+B�;�Al�A͙mBDIB�!BJ�yB�
A4��@H��@�rBÁ�BlG�A�9Bo5BcS�A�σB���Ap�MB�`�A�B|�iB)��@:�$B)ABB5cAC�A:,�@L�WBH�KB���A���A��`@�b>BD^B0�	@�0�Al�PB/�A��-B(��A��@�,A�1�A�#�BV�:B�:D@ϛIB�
zA���@�=A��BˆAB
��>��0B�jBʋBCjt@y(�Ak"B9�hA�]B��fBB/A���A���A���A��B��"B>�B��;B��DB�/`B|�}B�2�A��FB`�A���?�'Bx��B�7B�+A�JDB3BS=GBKG[A�[/BzyB	4B��B�B�@�L[B�O�Alf�A�K�BHTB¡hBjH@�
BNbB{�YB�Z�Ae^BC�2BnۼAY�B�_YAW�kBy$KBą�BEB#B��]B�U�Au�=Br�>B ��A���B���@���A3�BA6�B^�LB��yA-ؐBL%�A��	B�%�BM�B�z�B7�&Bª�B:�A���B��B$B&yAB��B���@��yB���@A�JB�fB\AB�Bv�mBϻAiN�BfN�A��]Br��A�/�B��5A�KB#��Au�4B��B��B�rAP��A��AB?�@:{�A�W�A�#%B�B�݄BMA&��A|�.B���AB9[B�'jB��DA䎅B0XB�{B��A��m@S&#Bt�WB��Ar��A�\�A��Apd�B<��A~m�A���A�S-B4h7B
AQ�Ac9A�i|B�D��z�fB�cB��-B���Bؙ\A�B�JSBU�TB��Bp62B�#OB��A��_B�DPBZ0BT�B'F�A!�cB�)B^e�A��bAT�Ai�B��MB҃�AfRKA
�OAO��A���Aj6DA@
�B�$BҌ$B�\.B��:Bj�:ATmBI��@�k�@
�Bw��A{@���A"�B�<YB+��A���A��A�-�BV�An~
B�KB50]B�@�l�AR�	B�CBJ��Bdp�A���A�6�B��eBt��A�[DBWWmBZ�Bf�RBHBB!�B_U�A�u�@��KB[o3B�R
B�rWB�-B�-&B��Y@DIGB�,B�$uB���@�'�B;�GB�fB��Ba�MA��B�Iw@��]B�2wAo�BP\MB�3bBto>B;�A�+B��<BRRB��8B�7�A�q�@a��B�S�A^�BAeABڭA��XB@TB�y�B4�OAq3B��A�PB�3B��AK6jB҇�A�WBQ��@(	�@�9AB��B�~FAS�B��BNUAB��B��EB�#iB2��Ad"GB��k@�wBӭA#��ANw<B���AN/�Aw̔B��Ac�Bnd�BF�GB�_�BJ�gB��PB܏rB�)Bz�B���A�eB�BBL�BodgB{�PA�t�@�]MB-��B�[�AHٌB�tBI�3B�F<B��#A� )B�\B^<�B�Bջ@K�lBՇ�B���@]�fB�ډBBkB�/]Bv\�A��B�A�AW�GB.�-A��B�/,A�__A��B�WAB.ڏB���AQB��BBږ�A���@f<B��A`�BU��AR^9B��A�^3B���A}xBbQAB�B�j)A@�]BQrBoB�,dBi*B�>BpV@:"B`�0BīAD�-AЈ�AR�B�%VB��OA��A��B�OB��*B�0dB9LB,_�A��A��FB�A&B��B�>�Am��A��BjZ�A+��Af��B�E�B1��A���B+E6B��B�FB���B�+DBe0B��Aj�A�B�B�}hB`\�A�r8B�
�B��AXHB?�Bp]�AhzBi	�B��4B���A�WQB4�?��XB�+�B�JB��B�8�B~�B��B��KB�qA��.B�XzB��3B�eB���
��
�@�@A6�A6�A6��@<��CA?"Bi¥A���A�HB�"�A��A�3�B���@8�?��%B�X�@���A;[�@�hA-s�@1A
�B�qBcq�BY�A�IyB�JB?N78B��SB^�AB'ݾA!ՅB��AB>��B�NBꪤ@�UB&eBoxVB4CB��5Bչ8B��'B��BIkdB��B�ʀBR�A(�-Bb�7B�HA��cB�"BS�A���A�+NB7�A��@]ܢAD�@�:}A�gB)l/B��JB>�A�'B��AhOB�NB��
B��B�[�@ُCA���B���A�E4B@x�@��A�QB} �BS�)B���ANM�BŘ�AG:A�
@	�B��B�B��9B��A^PB���A�ϒBsVkB���B��xB�dGBF�gBDŊB?��A^��A�'�AR[�Bv��A��A��jBZ)�A�BDB��By�CB+�Bޘ_Bw�@jA�B��2A��A�gO@a&B�[1B<s@�WfB�x�A��A+PB���B�i*B���@=�>B R�A7B�u5B�*B��A�eB�=�@��$B�t�A��qB��BrG�@�BL��?;�B�:�A�A� B{�&B��nA��-@i`�BY}�B���BV�A��A��2Ba�nB8H6A��Aj}�B�
�A��GBG
3AiJtB7�A��?�F�Aɬ@yhBA]SBI��?9�B�#B�f}B��z@�Z�B��B�Q�=��B�B(>�x&Bh�bB��B��@eG�B'oA�:B �n@W�BS�YA���@qB�p�BS��@�'�BM�iB�{�@?�1B
=�B"�XBmXcB�B�BB�koB�E�A��2B7�@���@��BطBo�BO�B�j\B<��A���Ahj�A��(B��B�ظ=̰�BuwB�"lB���@��(B�kB
�rB�A��BXjYB��`B+fB��B�A��HB��!B_�DB^�7BYMBLۅB�x!B��A��A���A�eB1�A�B*Z<B�KJBg�8A
�A�3B�A`�A
�OBS��?w�ByyA�~B��8B0
^B�YB���A]�@�^B�?Y�AG�,B��B�SB"�B���A=��B�8�B�8\Bժ�B��0B|ͅA�:LBQ�KB	�=B�s�@z�B6ևB��3A�}�A?@N!JB��AqX�A��B�1�@�HB4�Bz��B�]B�v�A�$B�B���@�&7B+uB��3Ae�A
�A
�A���A^��A`GSBm�Ag��B)B�@B�oBr��@��AȆ�Bl(B�gHBlQVAA2B@)B�h�As=�A"�??A���A;��A�A]B�݅Bk�B���A^�jBH�9A�4B��B<U=AB�1�B6�!Bޭ)B���B�loB$tBYEA|s�A��9B�GB��WB�B�IB��eB��qB�@B�5�A��AeGoB���Am��@�0QB@��A��iBx�	B���A�UBA�RB,;�?�RB��4B �B��A�BA�k�@\�A�yB��_A�/B
`wB�2ZA0A@��+B$B�+�ArB�^a@��e@�%zB�z)B|'@AI-B��B2��B��A�!sBk�B�S�B;�B��B%eA�B�>�!P@n�>�)RBy=Bj�VA��KB�V9B��PB�=2BQ�PB�oA��Ad�@dۄB�*B�U�A�{ABC��B<��@��oA�MB�O�AU��B��?BP�A�BR�XAAY0B��vB��;B�1Ak��Bc�4BAMB*$Be�A�PABJ�AB�@hzCB%�4B�m@A�;�B��MB�u`By�@�zD@�9�B�7�A~(B��A�F�A:"�?�>B��2A���A�J�B��=B�#A�i�AG/BVB�B�BE�]Bێ�A\��B��+At�B*�,B��}B��@fSAʐ@'|�B���@E��Aô�B �B�B�F�B�DB3�A�;@B�l�AϺ�A�q%By5BO� BybB�'}BV�BE3�@J��A��&B%�B��A��
B�XB��?Zc7A3S�A�\@BkB,@K3�B[.kBc9�BG�B��B��(B�gb?dDFB
B��B�j�A�R�A��UB?�wBM��BV��@"܎@�s�@E�PAf�@B�X�B�mB\).Ar��ACiOB)�A(|NA 9�BH�A��3B�#�@�r�@��A�B B�E�Aޟ@�wyA��@�R@B4^Bi�?AU�?D:B��4BU�hB�[]Ba�A�7>B�'B6N�A��A%{B��PA��?U~Bi��@��@BP�`B�r�B���A`I�AMl[B-B�m~BA^�A '�A�(Ag�IB�)�A���A���Ak��B�8�B��B�/B�#B�/,@���B	5iB���A5.BY�Aٳ�A]^$BLiB�B�AI BR�AK|-B��xAC�Bp��A@��BI	BD�!Ba�@(~�AeQ�A��Aܷ�B
_�>���A�"@;W4Bp��A�}EB�&�A3�kB�B���A�DB��A��*@�tB?��B�PB��{B�`yB�=�B)(MB��$B"��B��,A�`�B��qB| �A�^�B/q\A��A�	�A��BF#yA��?@�
B��mA��B��6@��^?$�@�'y@�zB�B�;�@2�-A�;B�B�}kB�$qA%8HA��B�YEB�@��@� ~By��A!��A�^Bg�A*��?y7B�E:B=�A+E�A�eA��zB��B�(kB�?�BqBv*�B�uBS;[Bq�AN�;A�lAWf�AM9B���B�0`Br�wA2�B��B͠�AY�;A�w�ABS]B��0B]�@��rAO`yAD�xB3}�A&W�A�H�B%��A�>B��dBTs^BmԈB��!A7�@�B"D�Bƺ�?��B��}BA� B�uB��FBg%Bn�A��rB^�B��KB��rA�hvB7B
 BA��6B���B�HA��AUΏB
	�BȃuA��A�?
A/C�AX	MBL�B�	�A�<A�q�B:��A��A�f�B� B�DBf��@�"B���A��@��<B��BcW>A.�B]9�B�ToB�AS�;B��A��B���B�6=B��B,B;wB���@�`�A���@_[�A�g
Br�%AD؊B�ROBc07Bd��A�bRB��JA���A�EB]*B�tA2�}B�٤A�?B�q�AD�WAU�+A��rB�jB(M�A})bA��A�Bc�{A���AA�A�}�Av�yBwBFŌB {Bm.PAm�>RR$AA/�A�#B2bsAv�pBQ��A�50B��/BqK�Ba]B��	BF`dB�5hBEB�iB�A��UB3�A�AjVBSc�A��+B�7�A��@B�XBOq�B���A�*�AEk�AKVA_\B�,�A_�dB��B���?|�3A���BO�Ag�.BA��@��?���A�B��zB��gB�+B�A4B��AI�^B�-B~�IB�|VBr�Ac�uB��A8B�RBǔZB�NxB|��B}�>B	��A� �B�ǟA(/DB8Z�AcɭA��&A}�B�G:B-��AJ�Â(A���AI2B�߃B8;BP�^B�T�Bo�Buw3B�GB�c:B06�B5aBܓtB�Bqh�A��?��-A��.B�cHB*�Bz&�B�<�Bk�OB�
�A��LB�OEB[N�AQ�B;1�AP
�B���A1B�xiBM-(B��B/*�@q�SA�!�?��kADC@i|YB'�PBC��A�{�@C�B;1BH��BW�KB��B��B��jBh��Am'mA	��B[d�@ЋB$�qB�BM�6B�&�AߩhB�*�A�ϫA 4�AK�A�n�B�<B0Z�Au��@B�A+�\B�rBs�B��oB�iAB֚�A���Ay�yB�MB6�qA>P�A��	A��Bַ�A�:8Bt�Bd�NB���@��A*�A�%7B<s�AT�wB�"�B��-Bi��@�VB�0
BXB�'B�r[B�/vB��DB�
Bj1AiX@?'[A2�B�t@�q�B/%EBR�A3l�B�t�B��
B�4�@$3�AhT@��BS�?�CB#81B�gB¥NAtV|B�2_B@�KA�-�Ab��A��0A|)�Ay,|B8��A��
A�[�Al�A7+CB�ϦA/"B
:B��AC��A6�B��B���A��0A�"B	�`Bu�hA�uFB�NB���A�YB�tUBO�A�+Bf*�B}}B�|B�.sB���A��/Bd}�@.�BcM�@�@ B<��BU�8B�
"@�b�A���A,udA/g�A��B�A�_�A~�BqmB��`B�tbBM~rB�F�A�]Ab�RBjoB��hB�h@@P1B_�pA�|�B�:Bs�Ar�"A�k/Bm��Ar�}BQ�A(��B6�B�A�9�@n(jB�tOAD �@�AB��A_CB�>�AM�B%NB�ˉB�r�B8�A9ڌA��?B�B�kaBJ�LA�YBR5B�A�IAsfDB�P�@�,@�”A }�@Yj{@�ɁB+zB�BAJ�z?+pB�
Ak(�Ah��@���@���B��-BoH_BxB���AQ��ArGBQ�jBsV\@I��@��@��B}��A狌B[#
B���AWojB֑B�ŊB1YB'.Bn>OAi1�B$�@MR^B���B�JHA��B6B��jBdfB+z�Bl��B��jB���A��B�T�@^jB��lB��B_2�AQG{B܅B>QB�^#B��A��YA<m�@��Bhk6AQDRA�^�B��BdFBLfvB]�pBu��@Q�SBD��A�6#B�U�?i�Bb�)A��B �A�8�A�_Af��A��<B��B�2�B]>:��A*�$B��A�M`B`MB�#B�’B�}�@ڥZBcM�A�eA+�A+%#AD�*B+�B��vBf6B�KBB��A�1SASׄB�*@S�A*�5B�C,A�B�wr@�{AR�BP�B�L�AI�B�AzАBB�qB�.#@9�A1e�A�tB��B3 }B���A(`�AB��;B�JB���@#gqB^�>B�XFB��NB#0|B�CsB�CtB-�wB.�@i�	A��AqZ�Bm
DBL�B�&EB6Z6B>��A
�AG�AlmoB�@B��yB`�=B�NA�%B���AaB���A@6�A��B��B9�A���A�]4@��zB�Bp�UB���B��zB"�JBp��A�=B�!BhD&B��A*��A��y@�SVBdsB깐B(�kB��hAA<��@��A.YfBD�B��AҴ�A���B��}B�wMBxRB�?UA��
B���A��A]W�Bz�Bv��Ao?�@�NB@��A1فBF4B��BZ%
BNBw6Bv�@�:KB�azB�PB� �BM�EB�ґB��0B�R@��.Bs&�?6�Ah�B�Tn@$jB�,5A7��B�^RB�!�A6DaB��LB}bOB�(B'2�A]�B4�Al{B�,]B�;kB��=�l�B&aBX|B�}�B��_B �B9�B��DB���>μ�A�[�>�gNB�ЍB�@E,dB���A%B#�nB8:gB���Bc�AB��m@�B�/aAM�ZBЖPA���@�o6A
GLB޸hBb��B���A�g&B�XBIJ�Ag�B�XB�B[BzDB7A:�A���B�0\B
�jB�u(B�HB �B��,A�[pA�x�B#"NB��9BW�IB��?�R�A��A�c�@���Bz~B��AZk(Be�A�9�As�B�*1B.��AG֝A1��@��B�B�#�B xB��@�erBu
'B{�<B���?��A�cB\/NBPr�Bw�k@�kpB�B&
�A��AiY.Bh��B��%B��Bt�ZB��%Bx�<Bg�NA�0�A�-j@��A�,�A��>A��~BS�BbI/B���@(ۙ@�Ez@�iB��#B�|B�L4A��	Bw0Bj�Au�BN(B��vBHAc�'B];Aj�;B��B��AO��@�L#B��nB��/B=�B2u"Bk[�A���BnNB��B���B�ȃBz6�B�b�A�q^B��A!�eB1mB9jB�>0B� DB�ևB��r@nc|B�zJB��B��Aϩ`@�}tB��B��0B��SBj�IB>@�Bg�B&�@�[�@t�:Bi�@}�.B.��A/Q.B�mBHG�AS�%B�v�B�JB֪'B��B-A��A��A�[�?��AྞAwUB���A�	V?>zB��B҄UB<
�A�.�B�&�A/�?���A��\@ �A��5A�
�A47B��aB��A
�EB�_�BHc�A/wiB
jBI�S@h*
B��]B��ASl�=�sA�:zBRiBYPNBn�A�k�BV�BkA,\�AӺA��B��aB&z�@��A��Bf��@�N�B�B��OB��|B_W�A`�AE5�@�}nB�qpA�t}BN�B���Ah��A4��A�LA�,@B \�AcB=Bέ�@C�<A�_A�CmB��NAQ YB`�WB��@A�!_Bg7B�B�]�AZ�gB���A7ގA:�AxB�zB�d�B4A̹\B�S?B��B�j�Bl�A�
B(�BV�}BHVBu]yB�GAB%tB舲A��xB�kTA�ϏBDoBj$�A��AF8�Al��B�?wB���@@$B#�.B0"�A���Ak;iB�:B�RKA/�@��rB?�BZdYB��@F�-B�EBS�dA�VA�SB,��A��AV\oB1�A8�nB�eSB)�IA�w�B�(B�1<A�rB�A�w]AXqBif�B@-�A��gB4;MA�qA�
BdJ�@B��A���Av
�A�T}Bj�@��/B(�A�d@BE'�B�B��A��A�K�B���@��A�\OB�7[AqIDB�#B>'*B~�FA��zB�wXB;W�A�A�B
!�A�1,Bz��@�ۘA��oB���A^rB�AB-�BN�B^��B8t�Al��B��B��BDž@M
WB�|BJ�KB���@MbB#]3Bק�?tTXA´AY]�A�
�A�FB(�FB�xaBSJB�Aʪ�A��eB͈#B��:B�:A��q>/{JB���A�6uA�JKAe�	B{�BLR�Ak1|B��Bq��AH�BB�'dB�W B!�>B�&�A��]B�QTB��A�4�B�DQB&�A��@��>B��BߪVB|�jB#�BB��A]�>Bz� B�FA�XB�B��^B�v&B�z}A)�A �#Bp�qBP�B��Ae��@�!�A��=A��2B2B'CB5WA�x�A�m�@��9B%��A��#?Q�Bx�AE�p@>BW��@3/^@�vBsjB�m.B��:B��AB�/�Aҟ�A
ks@��+A�Y!B	dB��A��2BpcA�XB'��A�!�A8�~B��A \�B�u_@2��A���@�ߓB�
�BoBNBFeB%�>A:BI��A��JA��@k��@*ČB��=B�+�B�T]B��B(��ARZ|B��VB�1AT�AL�AǐB���A��&BWkAmv!@)��AE��A$B$b�A��A�VjBf��A��JB8�9B[�1B�=Bγ=B9�B���@�oCB�sA�̀A��BS�^B�RB!�mB�&MB�P�A��B�pB��QB�i�B.$�?(!B�'�A�#B 8-B��B���Bt0�B6B�ժA_��AD5B�mA�_oB��B�g@���A�	BK�.B��1B���B��^BL�&BN�oA��VB��WBX+B�'�?�z�AF]�AF_�B*�A��bB�ۉB-uB:�YB"��B�ZB$�B^�5B��>BZ�(B A��KB��A�+BM�A��vB��A�Z'@���=��@B_`B2A�v�A�mB�Z�BQ�&B�(�A��uB7��B�Q�A�=�ARͤ@�0:BW�A0B�[gB� �@��wBL2PAS<?���A�71A�kWAmŽB7��AxτB���A�9iA��zB��A�b7B5��@D�BDKB�j�AS�&A� wBT�A��H@�e_B#3�@�&
BLI�BQDB�p3A9��A2�BB1BW�/A���@���AՇB,��?L)
A��B>B7��A�c^B��B�BqIN@3�B�`A��B("�A�BdOA)��B@��A���B5�B�j�A�3NB~vB��NA�H�BS��@��NB��6BtfB�"�A�6WB���A�8KBq��A�8A0w�Ay�'B�-?4]�B���A�<B���Ap�A/��B���B��B?{B9�B�BqˑB���A^OB�dB�tBmx2B9�@B{3J=��-A�c�B%��BffBA��A���A��@~�fB7IPB�f�@��6Bͱ�?ǶBM�A��B�vAi7�A`�+B��A1Bb\�A�"�B���@�C�AZ��A޳DA��BA�A��uB�jrB�*B]B��!BT��AᴭA#H+B���BfDB��B��[B-7
B�� B��nAe`B��@���A�A�UAW7wB�B�RAB# �Aa�B�_GAS�~AkßA+�+Bd��B�aB��[B�#�B
`A�B�LA�#@�Z�Bj��AB�A���B��B�79AWooBnA�B͗@p��@�]B�X�B��A��YB��`B4ǍAz��B�]SB� �A�8B�"B��iA&�@���B�PCBh�?BG}�@=VB$zA`�-A�f�B�@�B!��A-!#B�._B��-B��B���A�QA��B9�B�B�gQB��BD�A�UUB�"�A1L�B�2BS��Bp�B�!�@$&B~_Bh�A��>B^��A��^@��B��B<�A�1]Bp�A��A��`B�uB�mB�0A��B��[B���AP�yB�e�B��^B�_�A���A�6�B�nB��@��vBķ�A&-�@,�(Ba�B�B`NBL^�At�@-�#B� 8B��9@4�A@��Aj�BK�B�c�>ޡ�Aժ�A3��A0^fA���A'{A}��@�UA{�B�ˏBe2CB��w@ď"B{ClB�A��wB� B�B�
A��BE"A^��B���B�K:BX�AB1�qA�ے@�RjB��7B�AJ��A�]A���AAJBP�dB`�Ab�XB�H_B�^�B�LvA�k�A���?�!sB���A�x�AێI@���A�-�@<DoB4ʆB�,yB4�B�B\QFB޴LBC�@�JZB�qjAn0Bdh�A�KB'��A�jsB�yAeSB��A�RmA�[�AS4PB�7$AwC?C�0B/��@"N�A7�A�ݹAX]rB��A4�xB>��@qgB}��?�dB���Ai��@EA|�A88�A\�B|H�A`��B���A᤬>H�B��4BY�A�Bsu�A�~A��vB~9B�
%B�|WB��A?zBs"@IB:(�B�A%�~Bo��B|,�B�O�A=��A��eBu�tB��QBM/�B��A0hB�,�B��MB��kA���A3#�A��kB�j�B��J@��4AS\BZִA�_mB�@�i(Bi�Bt�dB�A,΢Au BqG"AzlB���@��B��AwvtA(G@A*?&B�K�AR�(A���AUp�A0s�An��A`+�@`KBA��BR��A��.A�G3B��4B�3�AGB��lBY�BT2F@��A�g,AmXOBL��A�sB�	pA�BV�A�w[B�"�A�fB#ƪA�3B혹A��BN7�AiK#B�uB�Z@H�A�iB��AR�FA�#RB�4fB�kBa'B��.BHDQB/?�@tD9Bԥ�A�/B��BI>B���A'�Bg�B�<�B���A���B�0*>�5oBM��A�
�B浏B��zB%�AɎ@c�NB	r�A�A��jB��A&z�B7�B��A��jB�Bx4B
�Ah�BD� B��UB[B$��BaށA�]BV�,B���Bn�QB�A3~PB�"A�B�i8B۸�A��AV��@ㆋB���A�`�AGj�@%yCB0MPB}ǓBɇ�B�hcB�YZ@м�B�A��B�	/B	
�>�RB
P�B�~B
�BB�~Bb#�A��E@�
XB*8BAf,B�*�A�OBz0HB�m-B��fB��@�B�l�A�e�@G�IB�H�A�~B�.B�oAs��A_q�Bt�B(rB�oS@;�^A��	B�G[A�6A
�jAtP�Bfi?B�vfB�`�An͈At/�@@�A�JCA���Ab��Aˈ�B�6+B�I�AL*B�KBD�AO��ANg�A�?�A���Bi��A���A{pAw�>��B��B�BPm%BH[B�l�B!�A��nB��A��B%S?A��wA��A�m�A:��A��]AR&�B�}�B\�B	�jB3߅A�2�A�C|>��9A8��AA�?�-�Aw�4Ap�ABS�
B1I�B��2A�
�A�ϾA�C
B5["B�]B
*�A�$6BQ�DBi�@�6�A��B��B\��A�qB�[~Bu�PB��AqSBS�B�xB��A71�A@-A{��@��;Br&�@K�iBVw�B�d.A&�AodžB�`/B!XB�'B�dFB`��@+.!B\�B��A��?B���Ay�lBr(�Bx�A�&B�j�A!�rAPl�@ETBX�BE>�A�P�A=B�{A��B�^0Byҽ�v�q@���B��AzL�B��VB�WBz,�A�anBOOB},JB�ȴ@
��BP�XB(ȀA��B���@�v�B矕A�AУ'A���BhB�l�B8�CB�M�Bg��A��A�HB��B�BcCBɤ[Bv�BEr�B�&)Bq��A\��B?�_Ats+Bp�B��ApA'B8�WB>�B��A#�)B��AۊBBx�
B��BK5Bv�@�:3B��A�B�ZB�d�A��A4��@1}IA�y�B��-BoC@��B�L�A�NzA}��B~Bg��B:�B~BB;.�@���@6��>"�\B�7DB��Aݰ�A�P�B���A�
`B��A�AP��B�z�AL�=BJ <B��B�RB/��@�=�A,�Bnc�AE��An�A(��BłBdR2B�C�Be�BF�,A���BS�GB�B�{B�"B��A�"B���A}M�A� �>���Bu��?��AU)B�
zBڅ�@	YB��@�ÊB�qB�OA��GAn�B�&�A��B��MB$͍B]�AAB�B
�uBգUB}yB1�BB�o�B|
B��B��A$�<Bk^�A�K9Bb
�B���B/^�A0�Bj�BUmB��A� B@Y�A�P�B{�A�AQB��4B��)A�_�Bh�B�^�A�"B��B��AP��A�0lA<VB�.JB�ւBGN���-�?׫BqB�7rBֶOBΑByv.Bub8B%�eB�,B��AQ)�B�7XA�٦A��A��B>ևB2�B�eB�_sB�sBTE�B�ReB���A�K�@5�sB�LNBwLB*�dBU�BvmB�Z@�߄B��?�6]B(�B�$B��\Bh�4B�NhB��7B�iB}ȨA��AJ��Am�?K,�A���BV#�A�n?B��B%+[BolA8�QAӻ�A@gRB)LA��qAjg�AF��AԵAcBB��A���A�-�A�	'B��A�'BYZA���?֗�A.�B�	B��@ݡ�B��AB�.B�O�ASbtB�A,B��"B�ۇB�'�B��0BU�qA-�B�lA>Y�B,�#?�\bBՏ[BC�GBs�B[6B&�@B$�vA��CBQ�LBr�A���A�F
A��AA�/�B
�?B/2�A��B*�!Bv��A�8[A��B�e^B�=BUXB��iB���B8U�A
�mB�,�Av%�>6z�B�B�
!B��A�l�Ag�B���AovB��Au�/B�1B��BD	B׉�A�6B	<�A.�TB]�,@�5�A�QA��?A�ɩA^�/B��B�%oBD�B�/fB��2Ai��A��>B�WMBԬ�@G*OB��vB�Oc@�8Af�HA��An.�A�?B�v	B�ݬA5~7B���A���@�AT��AY�?}CdB%��B��@"��B�zB��|BzB�)B��CB��B��B��g@Q:B��B<�B
�xB���ARɇBU��AM��A���A5��A��CB��B��oB\GB��A+�B;D�AM'WBm%�A��
A���B$2XB�tHBiN3A�G�?챓ATyB�uBzm9BjʄB�>�A�ɎB��BݢB�͵A�)�B���B���A֥�Bb@)A	�'B��>B�NBQ�5B¾rA[	B��\B�<�?��{BcmvB�Z�@l��BJ��B$8�A�ܡ@��%B��BN�B���B+B"CQB�ZBiABijA���Az�qB"�B4��@��>RHYB�3�@�4|B<-UB��AD=B{�bAQ�AYP�B�זA��A7r�?�]A{�`B�ˈB�9�Bk�~B�LAo:^B�!�B�2@��A�}Aa�,Bb9,B��B�]B�YB��UA�p�@��BִyA=��B�CA�XJB�t|B���Bu�	A�@B��BB�AA���A�H�A?O�Bz�Aԝ�A�AKF�@_B�ئ?�M�A�iAӅiBB
�@��AQ�7B��cBW:B��}B	pBa�`AW�nB�?�@y_�B�]�AL&�B|m4B32iB2X~B�c Awy�@���A`�~At3�A�ZBFňAk�B�B)B�	"BwxA�͏B�0"B�JA���B��@��B�?�@��"BzI�@���B|"(B���A��TB�܂B��PB+�hA�bTB�laB��ZB*B��=BXt�B��SB��B��aB/'�A��gB��B�A��B�U?�Bp?�w�A�3B5�SAJB13'B�s�Bb>KB�yB���Bc�(B�"�A(3�@�tA��A#BUZiB�EB5�:B���AYlBN_B�>�A�HB���A�GA� yB\��A1ԉB���BkNB��B)�BﰋB[�0B���A�&B��B־ACnB�HB�އB�B�.�B(�Y@X�oBp�B�^!A}}�@�U;B��A�!-@��B'��A��A���?Y�/Bċ�AH?A��4B�JOBKzB�!�A.B��pB�B,A� B�(TB��B��A�8�B�JOBJ�B(RjB��XB���B68Bk��@cXB�;BV�OB&�A�VEB%��A�;�@� AK�zBj
Av�d?�IRB�D�@�OB�4�B��wBw5�B]l�Aq�AU��A&YBu��A>J�B��=AS��A�+BaI�@uH�AH�BIcB��B���BC̽A��TBc�B��B;��A��<B“B:�B�fAe�'B�o�B��*B�tA��=BK;jA�2�A��B�ҍB��A'QB��JA\�AtDA�,�AB��A�h�A(�`B�JB5w@@�[@Y#��%��B�mB�2B�9cB�PA���AH:@}̀B��mAg>&B�(PB��@ՂkBeZBJ�B<mBu��B.{�B;R@��BH�B4p
B��A
�(B��B�a~BQpA)��@�G�A߅.B�A�MhB~B�Au�B�[Bo�vB[}�B��aA9�/B�eB��A��rBM�A��A#�>�hB��B���A�QHB�9{A/�B�:�@�ZA]yjB�
uA	� B#�.B趬A�?B�{�B�9A�Bt"zAb�jB�;Ba�A�~B���@vB��VBnQ�@�G�B(YMB{B�$;B�;�A���B'PBq3�A�s�BȽ�A.�A�BBB�SB�zB���A�[�ANB^��A���B�1BJpB��B
nB�y�A2BА@�GA�ÀB��;B��@B$�+B���Aތ;��eBDZBE�<Bn^B<��Ah#Aȓ�B�rBB�`�B	$3B��TA*AB6,�A��A�qMB@MBΟ�BQ�?>AB~
�@Y�B�hB�d*BS�(B���>Ps�A�C�A��A�n]B_~J?��PB�ю@�ڊB�u�@-�B�{"B���AtlIA�^B���@L{�@:�B�F�A� �@ai�A?��Am7B���A=�;B�_B���A���>~<
AB<BP�@SBE��A��@n�AM#|B DbB��cB:�@�B�ˏB
"A�8�@f�@��	A�RB�xB|o@1�B�đAKDAV0B�bEB�B-A���A�FB+)'BX�Al��B�;BW�bA�mB.�\A0.wB�B�CbB4]B�jBWZ�?{gnB���A
O�A��qB��A߷gB$�BD��AV�0B���@ȣbB��BQ��BuB��A��B��lBL%�@�~�A+)�A,6AM߇B���A�Bw[�A��A��A��A�i�@�9�AG`�B�փ@u��B��iB,SBC�:Ba�DBuGBrb3B���AB�rB�
wBL4�B��B� �@�vsB��.BO~B�A���A�@�uB�Bx�lB��B.RB�o�A�>A�~A�ZB�p�A�\�A:�B$��A7`BU�B$�dB�UB��fB�\?A6��A���AKpBh�A�oAD64A�'A�A�aBe�dBjǛAuT�?r��A��B��Bv�B�HXB�X�@�U�B�I}AI�@�)�Bs��B�N�>˒B`!�B͏B��4A��*A�[�AzBx��A���@��BR�iB�AL��@{zBs�B�m�Ai�A�_gBXV�A_�CB)�!BYqB�T�A��rB�`AJ73Ak�MB!
*Aq�WB��kB^�AЁB�EBփ�A~��@��A��AgP�A�m5B�?oA�� BݡB���A���B��B�СA�X�@c�3B�3�@�Btl�A��)B	
By��A�}�@�
A�ҲA�_6B�f�AY�<@yNhB��B�'A�"`B�ZXB�(:B��8A�VuB
B���B*�.B�fBج�A�-B~�sB���A[�;B4�oA�
BG�$B�|BS$4B�RBjwB��8B9zBJtB�^Bδ�B�ފBj��A�LrB�/:B)�AB��/B�&cA�RB��1B�kB�gB�B�N�B�A�=�A�;�B���A�@9B�SHB��IB�7�A8�Bq�A��:Bn
�Bi��Am5A���A��B��A�I�B�l�?��A��zB ��A�^B0I�A#��A-�
B�B�*	B�?�O^A�9�A��#AS��AW��Br:mBJ��A�R�AC^B�G�B(�A�O�A�MB�N�B��l?��@=��A��-A�{&@QZ�A���?���A��B�B{A�GB]�A�G+BJ]B�ǔBl�?�'�A�7B�l�B~͗A���A�vhAƄ�A���B��@M)�AV�B�aB_ZB[�mA�f�A�DŽB4ՙ?fގBu;BQ�B��A�BZ�YB3�s@�`B��@D��B�TB
��B�3B���A�nCB-�eAa��?��yB��`@p�dAIN�Aa�Bx�?���Ah_Ap�>A)ȨA���@)v~BȃB��SBטxBG�"Bz�<B@��A���A�|A�݊Bb�'B{�BC�B�HA-�0@��Bѷ;Bs�B���B4��A���?�_IBHA�A�C#@V��@	w�B G-B��A�u	A6�AfB�7oB�@"B�
�B��A��A\:B�qA&S9BdZs?ʛA5�OA4��A�V.A>y�@��sAWA�qfAM Bx�+B*�XB\�A���A�$�A���BN�6BK�@E~Y@m��A֏UB/?B��YA|>�B1ڑA^s�@��A&{QB�v�@�-A��?�;�Bj��AڝcB~�aB`(wB{�@B���Bs��A��RB�4_Bޣ�BA�>Q]�A��A�ۏA�@��q@Q��B���AJ�A"��@y��Ba)�A͜�AQQzB�S@��@8[_A_�B]WA]�B5�A1�?~},A�1eBH�B\
�?$�Aq-A��&B�@gB�1GARx�B���B�lB�7e@�IsB]��Bο"B��A_�pB�K|A?M�A�
�B�=�B¸�B3�Ax�[BfOA��+A�b?Ƅ�B�9�A���B�TB�*B�vcAi0FB��A��iAg�)BڞA}܂B%H�A	EB��EBJ@,ØAp��A�]�B��@B:@bcvB�"�B;o�A�#�A_�B,�B��rB��iB7tB��@�U[B+ڞA���@έXB��A��JB�[�Ab��A��B��\B�eB�2BZ�^A=��Ar�`BVV�A�A׾�A��A�0^B� B�i|B,�bAE�yA�	@{�?A`A BR�uBY� Bݭ^B�I�@�3�A�qyA�-#@���B~�Bn�XB��7B�y�A+�A,MlB��IB��eBI�@��	B�(tB��BYIB)�B?�BP�'BH�Bl��A7$BK�A&BH�sA��>B�XB��Aߘ�@�|cB�͟A�{Bz�B�B�� A�R�A%�DB"i�A��Bj�B��B�|7BwN�A��B9�]B4�	B۪�B�@�@���AjdB"�7A^��Bu�
BԤ+B/��AT6uBF�.B��^@��3B��AOnRB�a�AD++Bo�lBkl�BA�lB�#B�x<B�sB��1@��B�[QB�PXB��B��B�bA��TBH�A��%@�3@P�OB��Al�A��Be�kB,RtB{;fA�](A�0�A-~gAov�A�]B��oB�xBU�_@�#�A�DBnt'B�>9B٭�?o�MA�MB)�BflBJ�@�4�@��QByFB��QB�B�
B}28B�fAe�B�,�A5��AIe�A,��A�AU�MA��A��BP6B-��BU�	B�w�A��PB�k�BB�A�`B�S�B�+B?8)@UCBͩ*A�BB<B���B��yBz��A��5Af8B�3?A��2B09KB���A���>T��Bx�/B�<�B�R�A�CB$�AR�(B�#�A�ieB�<@�ľAX7<B�ˀB�|B*D�A���@t�QA��B��iB�?B��9A���@���BFWB� B��cB}�A8�A�rjBȊ�A��A���B^�B�A�h�BP�@��oB`�>A�#B
��A(fUB��ABf�A-B)�@n��B��MB��ASCAG��B�f�A,�MA�ZB;B�B~�A��Ae��A6\wB���@�v7B�B��AK-B��SB$�BπtBU��Bݻ�B
��@_sAhB���@�aYB;�B���B��B�r:B�B
B&�B8!BE�YATWAB�KB��hB�БB�	�A�bB@�B5VxB�ےB��FBiy9A�[[BJZ0BW��A�g�B�6B��|B���AxCTB��=B�xB��v@6YxB^�BxHB�nMB�p�A�B
p<Bv��Ac��Ac�A�y#A_IBIW->`�A<{HA���B_�A=�dB�C>ӭ/B�~Bu�A��\B��Ah��A%�1B�@�Bk	B�$�A�tB55�A+t	Am[B�vA<[�B�lAB�*DB�\B�j@�MCB��1B�8@6�A�X�@8�:B�[Ak�<B��mA��~BbtB��Bf�$Ak�"A��B|^�A{׍B{}7Awp�A8�ZB(.Aa0B@Y�Ae!BDj�A/~B��KA��@�"LB�YwBʄB���A�PB���A���@i��A?�@+�CBG��A�7A�LcB�rBʟB:�FBVBv�A!��A�VB���A��B���?o7B�/BW�%BW@B:��AcY�A{1�A��AQ��A�N�?��e@�B��GBtf�B?cBB_�AM$)A��JB.�'B)�B`ǐBU��B��	@���A�u�A��CB�5�A(��A�~�A2naB<�x@��B[KbB~�'A�`]A�)BΑA���AC;A��iB�/�B@�@(tB,	A��dA�N_Ax�WB���@d$�Bf��A��JBX��Aǎ�A��A��B<tB�%�AƆsB3l�B�EBT�AEiAU;�B�j�AKR'A0�$BppB�Bk��B���B���A�G"B��Bϖ5@"w�A���Ad4B��+@�_B	��Bk��A8Ax$A�SB���A�QA�Q�A�ՏB���A��#BB�A��.B@V�BěCBoS�A2�gBP�AX�uBh��A�?B�y,B=	WB���B3>BꪬA�hb@���@#
�Al�CB��ZB

\B��'B�w�B{d�AnrXB�__A:g]BFA4-B��@Bt�B�tA�5!B~Y!AS-?zf0B.BB�gB%��Br��A�i(B�MB�!B��5Bt�AޠA�ZRB;JB��B}Z?�s@Q#B��'BJB
I�@A�5A��@loA�UOBN�zB)�A�H	B�UB�ьB�A�4:B�L�B��oB�nBF��BZZRB�c<A�]�Aw��A��B��9B]�@�B1�A��A�9PB��aBsEpA	�B��AՈ	B�A�B�f�AUA�k=BI��B�t#AB��AB��B<��B,jg@�J�A,�BO��A�S BlN;B��1B��jA,�MB�@"B�iCB��|B	E�A$3rB���AG~�@���A�8Ak��B���B���AV̗Ah�<B�qB3CB�۸A��@U/(Bx�AX[AWlB�^4B��!Bo�A��+B]��AqAD_�A��Al�\ByH�B^�8B��[BK��B��B��RA�<�AW��Bٸ+?�v�B��qADB�A�B�E�BB�oBߓA��>B�S?)R]B��(Ba��@��SB��A1$nB�A�{�?��B��DBB���A3�A[��A$6�B$B��%B݁�BPG@�sB%D�Ab�DB�$)B�O�Ae��A/l�B�NB�lBZQf@+��?��Bx�"B�)�AOQ AYB:	%>P	Bi�fB㈊B���Aԕ^B'?B��B�;�?M�>[�:B���A�=MB�)@�,�A�-�@��~B���A3!@u��Ap��A�ː@��rB�RA�a$A�ۓA��B�&�B�PTB;)B���@T�(B�W^B���B��`B]�:A�BzQ�BX�B�h�A�EB �QB;�	B.�xB��7BC��A�B�AD9�B�KTB�F�@��B`��A���A�gA�c�?�SoB�UAEsmAA�AQuB|�%B�r�A<ҋB�&DBw�	Bʨ�B�B,z�?ÊB*�?��FB���B�3�B�iB�eB�Bb�$@���B��HA4�WBpR!B�@B��At�B�k5B��AoڲA�?XB�%VB�ptB�:dB|jA[�A�A�7�A�~BaW�B��B
�Byg$A�@���B��B2Bx.hAaP�A��kB��KB�+B��p@��qA�ŊBQ7�@QR!B��A2��At"MB��Ah�B�B�4&BFu"Ah�#B�B[��A~:�B~^�B�g�A�B{%5B���A���A�f�A_[B�ה>u�ZB��A?�B�:B!@B-%�BǹBj��A��WBDOB
�A�!B\&B��@Bq��A�mB�oA�7Bn��A$cSB�BʱB�AE�fB�ʅB���A�r�Ad\Ai_jB|l�B�
A�B�@�F9B��B}x5Bv܊B�@3�rBaa,B��(BpTBYu�@nUaA vR>{R�B�M�B.I�@�xtA�X�BSjJBf��@�SB��+BB��A�MoB�#9B��=B�f@Mi�BBV5m@� �BZ4�A��\B��{B��}B �Bj�?B�"B4�MAԐ@SvB�ˇB��@vPrB�WoA�3�AfB���A��{AK�-Bn��B,lAn�	B�u=B]�\BЏB�j�A�v�A��~B_LBeگA��,BuE�A�gB$�B@�	B�
(B���BQ��A_�t?^	B'O�Bkb#B��NB�h�A�^�@�!�B�,�A��B��JA��<B�`�B/�4B��lBd�B��B�8Bp�IB�!zA�zB�GMA^NB��
A ]nA)��A���B�D�A�vB�C�A�]�A/��A�8�A��B��FB�
�A޶BA�qB4:�Ax��A!�kB�d�B ;�B���A�j5AżB�8CB�B���AKwB��A�t�A��A���B�YAr�yBӪB�t�B��iB�MLB��gBB�EB�z�AR.|B�n0BӈB�{B��B���A�l�A�ZB�?pA�Һ��A��B�*AY4 B؞[B׭�B�%BgB�u�AN!BX0�BNrYB�YB�'b@�ԳA��BC�kA�M_B#�A��B�@BQ��@R�(B`<�A�FlB�,kA��3B�Aj�}A-�A<�@����ֺ B�NB��5B2B��B<�yB��+B���@�E�AY�yB�o_B�)�AI
MB-cfBZ{BaaB�B��IB��A�~ABA�~�A�L@ݐ�Bc�sB���AȎ�B��A��[BkޝA�8Bu
'B�mB:�bA��NBAd�A)�vBݏB��Bn��B#pAy9�AP
FA>+�@��@���A�®A�X�@��Ak݃Bp�zB��^B�3�A��A�?zA��A��dB��B,�1B=mB�[?BY4pB�IB���A���>�BW
�A��n@���@כ�AE�eBr�A�=qB:CNB@��B˘�B���B%UR@P�EB�{$B-�<B	4(A���@4�=B5b�@���A��AB��B���B�DAC�kB���A���A��ZB�i1A|��@�TmAN�nB�B�opBpe@�<B�L(B7ҋB�/-@�B�2B=@�AI�T@ŗ=A!^@%�2A�!@:�B;�iB�ńBy&�B�EFBI��@�هA��B_gB�r�B�]h@�RA�6BN�:B�}A�U�B
��@O|B�P�B�CB�[B���@��bA+_B��Bt�zA:�A<DBZ-^B�&NB�0�A��B�kB,�4A��A�CB�5VB@!wB��>Bk��@Z3�A��BUgB�p�AU�4A9=�@���A�B<�xB�mfB�4MB��tAߵDB=U�A��@�1�A���B�� B/BB�A��A�UjAi�AlhB5�BpA��,B9��A#�u@��B�@B3�MBMB���AXΪA�7CB��EBGjIBF*?B��A彂B��B@�CB�]�@'^�B�'BB�>��VA�<�A�¼@̍GB�~B�kB��KB���A���AN�?Ǘ�A��wB� �@6��A�#	B�LFB��1B��UAz
DB�T@;�A�FwA�ą@�MB�DB̄FB��2A�)B��B$(/BK�FBcT>B���B�}BV�Aj�RB��fB�D�Ae�CBp�Bx5.B�a-B^�A6sUA&ˆBޘ�A�AH�A�m�@��wB�uB_��A��A��EA�4B̸�A�pB��B1ǒB(X�A(L�A�'B�tTB��@�<B'b�?�[B���@@„B9��BD�B�@\BI>�ΒB��B�B�y�A֡nA΢B�WkBCڄB?�6B�ԪA�ZB+�mB��B��A���AA��_A̭A���A�cyBX��@.�B
,B�N�A��+B;`@xȅB��SB*ΊB� ~B�CBn.�A�ȡA��Bk�B��UB kBŨB'|A���@��0B���AGl-B=�KB�#B��7B*��A��GB�NWB��t@u�SBj!2B���A;�uAj��B�R�AC`M?h7pB�~�BS�BO�/B��@@ׯ�A���BR�fBb„B��WBM�1B��B��#A5�A"U'BN��A��1BX˒?$tB�BGq�BiC�A�}�A�A��A���@
�#B�K7B{MIB��A�ZB�ЭA��A�A"-&A׍Bˍ
B{�~@
CB�;�B��LB���A���A�[B�J:A���A�dB��A*�B�B8B7B�uB�@QBVXBP�A��'B3�T@�@A�A%�Be�B�*wB���@�vA1.B}�0Bd{B,'@��A��jBAT�A�|B��B-c�A�B[�aB��A��B�joB�A��BB�o�A�"A��B;t�?��BB	��A�dOBUV[A���A��A dB��SB�51B�+!BY��A�XB�wB���AJ�B���A6-@��@�2yBm��B��B�͏B�E�A�'B��B&4B���AG�_Bl�A���A�1TB}�B�BҬ~@O׼A�HBNmRB��A�>�AyxB���B�,�@�t�@��A+QBj�AʾeB�[A��@�z�A)W�B@3�B��A��,B�@)zYBŬ�A��BWxIA-�uB���BbLB���?�Z[B��jB�>0Bh�<BE�Br�KA��rBV�Av�(A�mB�_�A�\BzٳA��oB��B/�B���A�xnB\U
BZh�A�ǪA"�%B^�4B+�A[cfB*PB�ZBF�B��@�{�A��B4��@#(TB4�B�6B��A�AL~�@b�@�,'BBGA?F"B��A;VGB7�HBgD2A
�Bm6K?Y��B�(�Bf�B���A��A7��AX��@��@'�A\#UB�JB��(BF1APŏB���B��DA�#dB[��A���B4�#B�0�ArUB�Ai"+B�TfBU��Aql0B�N�A�"BHb�A���='NWB�QB��?��NA���ABB��sB���A\F�AK^�B��AjaB��IB��B_wB:vB�@B�!wBp�B�
:A�B�Q,B_/B��B�|{B�]�AJ�'BE�oA��A�'�B�VHB�bA�eB��?�2�A��A&	@�15B��lA1A�dB&0�B�6�>/{/A4'�@xA�Bz�*B"�B/\BP�B��JA��cBq�A�C�@�{B'X�Ap�8B�4�A�B��+A�?��B@��A�BȲ?B"4�A�AƹdA��A
y�A�QBm��Ar�iBn�WB�SBM��@XZmBU�aB���Awi�A��B�Q�AS>�Aa‘B�Bb��A��B��AIg�B��BWt�@�Z�AN��Bn�B�[B��oBs�5Bbx�Aq5B.��A��-B��4B�oB�e�B�$A�d<B0
BW�B��ZBHׅBoW�AV	�@��5B'wBi�A��TAEB�qoBM7~B,pFAGPAډ_BS wBG΅B�r�A��B�'B�g�B�B�B�4@��:BK�B6I]B�J�@�QqBը�A��A��NB�	A�BOaB��BB�$8B�B)B7��A��kBc7B�'AtFbB��uA3�@�ϋB��B4��BzA�A��rAwmBAjQ@/3�A��6B/�]BwbFB�r�Bm��B��\BIǢA�'Y@��JB�l�?��_B]�B^]�?,B���B���Aj��Ah�Q>d%Bx��A=�vB6\EA�\oBuOA�ʀB��hB6�B2kB��B)PB�\�BOy8B���A74Ac9~A
u;B�ܿA��]B�A��B�e.B��Au��A_dB7��B1�uAc%$AKE�Ac<�B	�Ao�/B���A�[JB�)�@�T�A���A'@rBu��B��B��JB�y�B^�A�uB*�Bp�9A�nBimwB�dlB��hBTuQB�i�B�v@>�A[JKB	bB2	YAF+{A�BB�;�A�KnB��A�hB�`BB��@�]�A���A�B�>�BM"fBo�?ՃiA�PjB��eB�[Bw��@�ÃB��B�7BA��mA�d�@^�B�%�@�ĀBD�A
T�B��+Bd�nB�y�A�HOBz�@�oApB�w4B^�xA�eAlZ�B��A�95B�cB6|7B
-�A;
B)�^B~IDB+�A�B42A���A��B�?�*�Aș�B��%B�6�B��B�b�@N5�A���Bi�~B�vPB�tA��B�0�Akp6Bx��ACPB֓.B,G�B�4)B�rB�"A{rBJ�A��{B�]�A!�B��BzoKB�ܑB���A��A���@ljOB���@���A^��A��@�(�A[($A(Bf{Bu�
B(�wB�M�An�PB�s�@��A�d�@P@�)B���A�a�B]��Aa1�A%��Bjb�A�O�A�>%B��B��@�=Q@ZaB)��B��EAa��B�!wA���Blq/A��tB"ņA-�8B�nB��@�n�@�AyB	A�+B��@1ōB�C�AT{B�@uAK�&A(AB���Ax3�@^`B���A�8�A���A_><B��A���Ar�A>�^A/�B\oxA
GA��A��B��QA��A��B��$B�[gB
P�A��A[h�A���@|M�?_�B�}tB���@�/B���B�V�A��i@���B���A��A�DSAM#jB�:A���?֠�BCPBO�YB���?���?b=�B���A�WB��@ޠ�AG<�?(h�B�':B�k�A��B�+�A?(�A�NAPo\A#�A�k2@��A,j}B���@�{�@���A�evB���?���BCfBiV+B�s@i|WB4{[B��B�ʒBp"�AaȽA1�QBS:NAr/wB��B�H�B|2KA��!B��iA��?"�kB8*�>Ђ�A?<�A��'A�cB���B% �@
RB��A���A �&@�G@@��B/�b@2�A��B��B���?��B�.(B9�B�k�A�/�?1�AAA�]B��0B.�1BL�pBF�eA��,B)"jB�4!AȁB�G"B�RB)fPB�	B}�B@�B�ވAHE�B.��A��BO�@BjLB�e�B3ݺAgW�@��B��lB��tAqx}B��^B��wB$
	Be�TBY��A��dB�}#A��B�~�Aoց@ÄwB��@2�BR�ZB���@�)�Aw�A9p]A� B�B�guB�O�B}�fB{ї@��BNE�A[[?ACŐB5�B~/B<-�A.�A7n4?�_"Bո3B\\B)�AZ�uA��1@Q��A�K0B.ZBWEB�yBH�5B@L�A�{A���AjU�A�ɾA��_B��@�JA+�uBT@�@w�[BM�qB"�JA��r@h?Bj3�B��CB�C@�NB�B�=A?��@���A���@j�@B2�B��eA߇�Bl��B�IB��vA5��B�5�Ah�^B�BS,=Be;aA���B-P�B��BAWځB
��A��@s$oB�#�B�q�B�BGDB�\RA��@B+��B�yAJaB��B�A&BG�B6΂A��sB��:A.�+B���@*wcBS�bA�T,Bs��A���AH BB���A�"+B�@�zlB"�tB��oB
"A3$B��cA�eBu�tB�A_xJBf�lBÁB��?@�דB
\B6�B��1A���A�i�AVo\BR,B�҆BR�B?	A�}B'�B�ӃAA�o�A�÷Av�NA!� B�B�?�2B��{BR'�@��JB���BG�&B��TB���A���AB�FA�vA�P#AyK�BY�&@C�b>٩mB��+@��>CkB|CBK�mB��Bm>�A�*�A�>Bp6�BjW�A[�A�wB��Bp�hA&��B�x�B��B���B��@O�	AV��B�5B�kB��B�|B��:A-�B���A�f�B(.GA���B6��B��,B+��A�2B���B=�uB��B�^A�0aBB�B�A�T�@cN_@�AꛓB�ΓB3��@#�{B��SB��B���A��A)�B�]DA(��A��-@�>A�j�@?YG@�h@8�sB��dA�v%B��A��>�AAD3iB}[B=��A��A]:BE�oBx�@Bs�hA��B�F�@���B�7�?��BA	B��+B�8PB^\B��$B�`�@�6IB�vB@
A/Y�A1��AehgB�whBE�hA��3A1�#@zmB��nB�n�A���@Ȃ�BY�9B1�B`Z�A�NBl�B��A#�%B�k�A�L�A��>B~�B�SA��YB/�B]�;A�ΆB|\B�B��LB�B���B8�IB�w�@�_�@�9B	��?�lHB�V�B�]{B�Z?��LBаyB��AP��@Lk�A���B\�Bt�{A���B�҃B�xAM})A�(`A��B)�B���B���?��AVv�A4�A�
�A)3A@@>B�-B)a-A�B��B�ËBN�B*��A$džB��hBd�Bl�BQ�%B/�*B�A�A��Amo�AK��A@*�A�3tB��qBs�\A���A�B�ޱ>|Z:B���A/�gB�Z�A�;�B�"2A4�NBҲ�?":�B��@y�cB�IA�iPAS��A�W}Bp�A�t
B@��A��CA-��@˳.Bͩ?B�GgBozB�mEBff@
ZB�
xB�d(B
�~@Q�xA�<@@{oB�"�B
u�A�]�B0��B�/yA�eB:0A��2A<A�#BqA"$6?19�Bڔ�?��!A���B؇�B�9�B��;B�>B֦�BA"B��B�FnB�-B�/CBZ\B��nB�X�A�J�B��8B���A���Az��BXp�B>D@���A�4jBBɽA�B�CB��B�[A��QB�6B���A���@Q6MB���AJM3B���?Ɂ\B*6B��@8�/AʆB�BPB���@��A4�|@ޑ�B���A��=B6x�A�ow?�9FBlvBH@�A	�hB!O�BH�_A!(B[:TB�XB�U�B�_B�_qB�#B�l�?�c�A��Bp��AUN5B9�B���AL�kBqPBY��AD 1B3�B�ҏBِB��@�	A��B��pBF�rA7"�?I�Bw�|B�&�@֓�AS�RB�)Bi~B�:B߱�Ba��A���Byr@B��A狢A��NBhBm1B�AT�[BԀ�A�ܚA��A�v�B!tArj�A9��A$�A�ԁA�P@B7�@G~@�B���Az\�A���A`�(A�eq@�S@.�B�|TA�|�@��A"��A�n�@�ShB���B��*A�%WB�N�AΨ�A'�B�sB��zB��A�M%A
�~B��Bo�qB	�(A�]�Br�Ah�B1_A���A���B4�{B �#B��Aw��B�B(FB�4XB�WB
|oB_�[B��@��B��<B.уB4nBIwA��3@'	gAD�
B�m@�oA��Ai!�AZ��AWBB:�jA
¡Ak��B��A��?A�G�=[��BK�A6ԈA�Y�B�By!;B�O�A�5�BT��A���A���A���AF�QB��A�z�BȀB�Z�A��A��FAԻ@B�=�B��lB�SB���BƑ�A7=A�pJAD�ARA��?"؄BKn�@b�)B;��A���A/�=B�.B!ĐA%G_B �B��B]��A�B��KAO}A���A^��B�;�B3�^BN�B��BB��A�[�B�"�AStWB#T�@�%B���@��B0��A���A�FB|�GA���A�A{B�ʉBa�fB���@�jB▇AG&�BN��A�7Bڬ9B1��A��jBN��B�)�Ae�zB�sA�N^?��B�.B�6JB�s]B�gB~��A�25B��B�IA�$^An��@!RBux�B[�A���A��-A��BdfB��aB'V�B��cB_�#B$z�A�B�A]��@PbA4�BJ��A{�A���Bݵ�B���A�q�B���A>�OB�
B\B�;�A#�[BI��B��>A�B�Q[B|s�A��B��AI@]@�P�A�
TAށOBg��A��TAxn�B� �B���B4�A�
pB��NB��FB^EBu��Aq�QB�6zBo�2@�_�ARS~B��iB��TB��B5A�B!/B�\)B� Be�B���B(ڡA\I�A�,�@���Aq'Bs�`Bf;�A�FjAf^B��B��A�
�A�j�A�1dB)�pBh�Br7B6pB��\B��B�5�?F̎BrOB'��A�IB��
A��A�R�A�̣A�N7B
Bo4�A��A˄�B�h�B0�eB=�sB�4B�B-�iB,�)A*�NB+@)BqrdB�]B�B�مA��A�&RBY�MB���BZz7B��rBK�EAO{Bf��A�:B�\(AIvIB��A�uBރABx�x@��]B@+B��B+LXBt�Aj�A�|A1�A&4�@ē�A���A�5�@���BKpB�uGB�!�?�A���@�!A\3�A�B>?CUBܕxB��@�BAz
BHmA��G@��A��>��VB0�/Ba��B%U�A��$B&q�A�qlBt
VB�5B��B�y@y��B���A1�B�G�Av��Bk�B
�?B�'�Ay�IAY�dB�a�@\�A�^�Ap�uBS��A�A3AB��xB5��@-�lB�TDBx�P?�̒B�:A�zB�w�A�ՉBT�A;&<B�#
B0�}B�Bt'�AfBI�GAA@T��A�HB:�HB$�#BcB�MIB+HB��vBF1A�9UB�B���Bݺ�Au��A}q�? �B
�qBx��@vM�A<�(B�H�B���B��B���Be�>)��B��tB�)�A`�A�VBbFB2L�?��rBM�A�<�A��UB�R�A�b�A܀�BL�,BT�{B8�Az�B�&AHB{BH�An��B��`B��:BE6�BL�B��@+��A��B�wB�TyAa�>`�BvտA?B�1�B��A��B�+�A�c(B�mBA��An�BΒ�A�9@8B��(B��ɼ���A�U�@��AЏB ,ZA.�tB�2{A�NB_�HB�+B��aB9�A12�@��Ae�GB���B_�;BW��@wµAe��A���Ax.�AY�^B;^�A�vyBz.�Aò�BԹB@���Bo�nB��?��B�%�A7��A��Bdk�B�S1B=�VAe�A'U?��@�u�A�j=B8��A�g�A2jHA�&�AN�5BzwxB�l�A�hAB^z}B@�qA��*B-SBV4
B��A�C1BZ�A��]B��uA�	�@�KB�0�B��c@�M�?�pB��A�M�@Y��A�%~A.~�A׏PB�Q�B$@��rB	�A~�ZB��A@V6B_�A�_B���B�B��AS��A��xBv#pA�A��LBb�B��BC-B���A^�@��B!G�A��A���AY�@T�B��A�yB�9�BF��A\ŐB���B#FB��AR-1BV.�A�� B/t�AñB�j
B��GBR�B�a�A��SB*�<BoАA6qB�u�BoBC`B3v+AgTBåEB�/B�v�@1v?�AD�2B��vBM�\B��@-�@B�-�Ab��A0B�
�@A7�B���Ab�A�A�A��A�Aj~BE�B%*}B*@��@���B�/Bo�@</B��BxyB�>YB<f�AT	eB�ABMϗA��=Bx�6BfoyB�CB�fB�uB��NB�'�A��BeɒBn:MB�4_Be��ACB/�B�@�A5�IA�Al/Bm�B��IA��'@煪AâA�v�A�ՊB��TA�� B��A=.�@���B�s�A AP��B��iB�bLBն�Au�7B��A4�
B�[�A'�^A��nB0��An��A1�B�%�A���A�H�@zmB8�"B��A��B24'BdYA�rB��Az: B��A/A	B�sPB��BW��A2+'B�/bAg�+B�AHBkB�tNA�)@���@�#B�2yA� �@�iB-ͮA/D<@�?sB?ϽA��B�6A�`@_��A�BE�TA�B�}�A�|%B�UANA�A���An
B�0CBӫ�A�ߗArm�AЫ�A8EB$��ARx5A�b�BP\PB��.A��B�P�AzQ�AM9B�B�pSBLBm;/B�BEWBn�B���B/�vB�M�A��cA�XB�(�AoU
A���@�X@�B9�%B�i�@ �A�dB,�1B��nB��Bs��@�
Blm;B�vB�l_B��UAdBI��A��A(�B'�4B��,Bj�@�)�A��XB��@�qXB�8A�Z�@+��B�.=A
�;?O�
B���A�KBT��A~�B��B/�Afs�B�+A��A)�@|�tB
2]B�n<B�Wc@��fB�__B�0Bs[�?��lB���Bf�pB�BI}aBAB��#BD�tB�TBM��BOe6B��)B��qB�ͷA��$B��0A��B�#d@�֛@��:A�lB��zB�3B��A�&]B|�B��BόeB�hBB�!BZdA��2Au��B�B�+tB�B�A�p'A�l�A�بAs0B��BY�AƝMBYaBdcB9�A��Bo@̶�A��MB0�0B%��A4��AO��A���B>�B���A�M0A��EBSj�B���ABu��@�CB%�?B:gA�]MA��eBfq^A\��A��@-A��A�~B9"a@SQB��Bl�@A1��BA��A�ÇB�قBK��B�sB��x@�HB�eTB`�lB@t�>�A��:B>��LB���A106A˅�A��B�=A!2B���@�S�?v�A��#B���A-�qB��A�V@B&mwB�AL�gBҶ�A��AX�B��B�/wBH�B�9!B$�B�Ԩ@ӁB���A��
A���@��'BsYBQOB��A�`SBA�Ak�B�CAŽ�A�2A_|�A�h�B`15BĩwB��cB8!�A)��A!KB3�B�
@�uA�AB0�B2ǻA�B�W�B���@��WB�f�A�L�A�K�A��"BE��B��BBydBKOBZjB��B��uB^4B&�
B�_B��bB�>B��2BYAċB�<�B7��@R�OBC/}BSgB�C3Ab��A��bB!�B��gB�reA�BGy�A�AmB���B��lB�ՍBx��B�]B�ʉBd�Aa�~B��;A�oQB{RFB��mB��A�^.B��5B[%�B�q�@��B�k�@=�mBDu�?c��A��A
�B�I�A�ZB!�DB�R-BP�Bb>�AYfB�B�(�B\fGB��CA
{B��B�B�BW��@���A*��A��@,�4B�0B1��A|^�B!B�`/B΂�A��DB��>B�rUB|�B�԰A:��A��QAXo�B]
�At�A�B��@5h�B�B��+A�x=B��jA�o8B�heB��A�l�@�"B5�A
XBsU0BO�B�B��6B��AB�=�BL6�Ao�AB�?1B;�mA��Bp�=BAA�x�A���@�L�B��fB�EBx�D@M�`B^X�B��9B��QBY��A�BL��B�6�A�,iB{�EB,H�A��B��qA��Bs-2B��bBq/�A�	�A,��@�^�AD(B�2�Ai�A|��?۽�A]��A��B[{B�5B�o"B9*�AE�B�h�AMkA}�B�ztB��B!�B)�TA@��AR�{B�hyB�#=B���AS{�@Dp+B�BZ*&B�#A�f�B��%B�EBV��AQ B��B��^Br�3B�vB�s�As��A�S@�e$B��BźZB�$B�3�A_}LB$h�A�B�(B�6B|_B�"%B�B�BO�RB~pB�B��&A�V�A9�ABB8By)BS�Bn��B�Bm*�BtM�A�{o@@)�@���A�WB_N�BWBEA�m=B��0B׿TB�kB��8Bdu�B�'B֝4B�K�A��B�aB�ɌB�B��CB(�,B�3B��&B�kRB_��A:��B.�A\nBR�Bk�@2�VBl��A�r�AoюB�A�A"y�B<B���A�kAB��AK�oAE'#@��A1�B��RB���A=�B�e@BQBBO	�A��-Bǿ�AU�3BA�xB�7�A�d�A���A��2Bb��B�FRBCB^B�i�A�yB��?B���?��}B���@�&DBC�=B2�mB���AS�PB��B�e Bˮ�B5�CB�|0B��A5�AӰoBb�A�bGBt�tB9=B�Zm@���A?#I@��B�A��sB�8jA}�A�8<A��A�{�Ah��A':ZB��A�eB��B�IB�t�A��tA�>B��BP�RB�o5B��A�'A_3)B�fqB/�
B�;�@���A���B�EB�@A��9B��B��;>��B^��B*�B
@�A��JB���B#0aB��A_�AS��B�vBA�Bz,B�TB2�7B��AC,BB;e�B��B���A.VB��&B�j?�RB_�,B��B��4A$��@�sBL)B�5Bj�B�5�A�+B���A0yB��B`�A���Aޣ@�Y)Bj�EB|��A��B�?�A�LLB��AY��A�H�A�^�Bw�3Bs4B �nB>͐B>yB�lYB�q�?w�A�7A+B㈃BAv�A���A�c�B'�'Bt�6AKB�yB]ARBE�hB�uB܈�A�=�A�D(B<<KB��Bx9�A�x;B@�+B��2B�BD�<BXVQB���AEWB��B��B�WB���A�70B��?��1Bu��B�+@�,\B bB&QBBe�8B�T�?@B,'zB�3B�z�B��@��BBEcBA]Bh�BvӺ@Џ�At#B�
A�1]Bx=�A"�yBAFwB�V7B�5�A�BX@B���B���Av��A�d�Aö+B��@/PB���ABW�?K��>p�Bx�By�BE3B�
B̴�Av43BGT�B.[AB��B��CB��[BS�8B)GBA6Bk7A�r$B�яB^7�@��A!�:B|֯@~�)B�0ByiMA��A6�@2�A{bBpj-B��A���@n��@�\�A(�aAJ)@i��A=B}�B��A�FBBL��B_OsA��kB�
@#��A��oB��A��+B	&�A��:A0AB/a(B�1�A�P�Au�mB��HBBnB��}B+'A��@o`�@��qB���B3�A �8BB8B!��A�:�B�F�A^�NB���AܮB��kBU�@v=%B�6�A�YAt�A��l@ܻXB�FB���A+a�Aܹ�@��?X�^B<�?���A��OB-�AU�*B3��A���@��Ab��A���B��8B]�?��LB��wAU?�@�3	A"E�B=�ABA�?f5B�ynB畉B,�|@7k�AC"#B"_A�
B�bB��,A.��A���Ak��A�l~B,N!B��	BN�:B�GBsp_B{k}B�K�AۂFB˦A�Ɏ?X�$B���B46B��(A��CB��B�:IB$�ZA�m1B�rB��3B�w�B�@>�[B�[�A��AG�BOeBIfB�SS@H
B�dB��YBr+�A�_B�c4B�:�Awq}B
R`A��iBs�IBBwY#Bp�_B~�A��=B>�@B�q�A�"�B�/�@j�A�\<A��B-(KB܌nA��Bl��A�Bp]�BSB9�B�T!B$��B
��A7��Bw�B��#B��CB.Bp'�@zBg��@��IB�FfB�v?B��BUVmB��AG�B���A<w]BnW�A�f�B�0A�}IB��A�5BgB�r�B�syA� �A)�>B�@#�A���A�+B�:B��BY�YA&��A%,B���A+wZB�=iB�GLA{
�BLO"By�BA�A)�@Έ"B�mXB�/�A�[�A�A��A\��B�(�A�&�A���A��/B~,6B�kA���Am�$A\�yB
p�B��iB[�fB�Z+B-��B�?QA _BTB�dRB^BK0B�LB���A'D]B�NB�G/BӘBc$�A-�eB*�B���AllAQb�ApIBj�NBf��AY�FA��KAz�A�|�Ao}HA���Bx�B+�!B�0BV=B5?A�GB0��@�:�@���B�P�A�,@+o�A�Ba�[B�/�A[�A9��A�0�B�y�@4D
B1�JBM�`B���@��A5B~BB!�B$��A���A`j�B7dB);�Ao�FBz�lB��B��RB��BBo"Bɘ�A)�@��IBS�5Bu]B�WB�RBq�&B��`@$JBb�/B�tB_�@='�B�wHBRfBYsBR.JAy�B��a@�s\B��AɩB��KB?�bB{(<B8�B�*B3�<B�hRB�T8B���A1��@�B�=�A8�B��@Bgi�A;�VB�ZVB8i�B��UA]�B[��A̼OBa3B���AK�kB	��A��B2�@iɤ@9�?B��	B�7>A�~B��B��?Bv�
B��IBxkB� �A?HB��P@Yw
Bv�A���A�?BI��A�8�A'.?���A�
B�9�B��IBq݋B��cB�"OB��tBT�+Bg>BU�AYfBJ�B~��BqhB��TA*j�@��LBR��Bۉ�A�*�B�0
B�<4B��;B��A�(B�M\B�Z�B��B�Ͻ@��kB�?�B�j�@��dB<߉B��B�bZBG�Ac�B��A�^FB3j7A�A�At�,A�ZAa"	BO�CB�"�B�zBS3PB��Bn�B���Ap��@>B�?�A�)�Bg��A�;B��A�O3B���A��B��>B,�~BR�)A�[B�BaB�cB�*B�;B�y@K�Bx%Ba��A��9A���A{B�+RBb�NA�$�A�#B�BC$B��eB54LB�'�A��A��EB�%BK�B �A"t�A�B���A"��Az�B�$�B�!�A�B�B�A9BbA�B�DBm�BČDBX�
B(�A�X�AL�Bw\mB�4�A�47B�v�B��A!B�VB��AJ9zB�ՍB�e6Bl��Af�NB��@J�WBv��B��JB?;Bm��B.�B���BY�MB��}A��*B��}B�2B��eBv��
��
�@�@A6�A6�A6��@<��CA� B���A���A��FB��A�\�A�`�B��@�j�?��(B;R�@��A���@,�xAXL�@A��BJ�nB���B��A�UwB�֙?{L8BX[UB�}?B��AnW�B\1@B���B��OB���@�UBtjBi[UB��@BYk;Bi:BB&B��Br#fBk̈́B�R�Bk��@�x.B#�:By��@O�eB�=%BA�,�AS�NB��A�|�@��AH3�@��rA�B�-B!�KB�Q�Aq\Bi'�A?�MB��MB�s
Bw��B���@�Z?Ab�B�×Ax�3B�c�@M�A�mB+��B�#)B��AT|�B��A��Am�,@��B BcB|=BP�A�B~��A>f�B�IjB�ފB�"vB~�GB�]gB'ʉB���A�0�AG1�A#��B��A��B��jB��AIBB�xB�"BB?��BT-_B���@���B�2Ak�A�D@�-Bf:3B�?�hB�+�A�ʱA1wQB[��B�2,Bp�@�<BP�ABL�4B��BZ��A��`B��@��"BTѧAu~rB(BL`>@�B98�?�Z�B��zA#�A�/B�%BZ�sA��4@�!�B)K�B�k�B�X�AE�!A��3BNQkB�0+A���A�B�`B��HB�&/Ak/wB/ �A��?���A�m�@KqbB��A^�VB�D�?B8&%B��}B�R�@~��B��!B�ޒB���B�גB��%B|``B�+B���@�BBJmA�=B�(D@oB��\A	��@	qB�F�B� �@\�B'SiBa��@Z1B��B�vXB��bB��BUBB�oB��Ai�2B�5�@<x�@}�B�B�
B�B��XB�m�A���AྸA7�,B�L>|,�B���B'�xB�pmB�Ÿ@�B(B�lB�vwB�A[ҒB@XYB��^BB�B8�A]V?B��B`DBJ�6B�PKB�%�B�� B��A~�A�A��gB��A��B%X>B�mJB�2@A���A�2B���A��+A7PB��?,Z�B�,�A&8�B�'8BԠ_B�jYB.��AL��@0�^B)�?��Ai�4B��B�QB��B�$�A8�B��B�ZB������.B���A��MB�LB�,>B�\�@;ˌB�w�B��,A.��A��'@V.NBib�A���A7�B#�@B��Bײ�B�J]B���A�T#B��BW��@��7BZwB��0A�3"A��A�6�A���A�$�A(UB���A0�B�(B�-@B$#B2M�@L�A���B �'BLB*[A�v6B��+B��Av�A��@���A���A1�A\�A��B\+�B���B���A�5pBA�8A�]5B�P�B�;Aq�B��B^r!B�L)B9�B0jpBsIB�MAzn�A5Y8B��BljWB���B��LB�qdB��rB��=B'sAi#�A�nBg�AHc�@��OB���Av�kB�c	BǪ�Ax�YB�PB=�?ܾRB��5B���BDC�A,BA
��@I�rAe�{B�H]AE3B>�wB`5aAw�?@�Y,B+�B���AҠ"B�o;@�j@=�xB�)B��CA�C0BW�B�J�B�T�A�ppB�OBzS�B�tB"�B_�`A���>G�P@��e?80NBzB�PA�FNB��9Bz�JB��/B��RB()zA{dAT�@B�B���A�CB�P�BY��@+<qA��KBC��A��B�|GB@�A�5 BW�VA�G3BӻxBf�<B��3Ai��B��3B��NB�'B�A�YIB.wCB���?�EBxv2BʯOA��B�OB`B�_�@>�#@}�Bv�A�+B�'�A��A�@d=B!�4A���AM��B��>BH�A��A��0B�Y�A<�B�jBc]B���A��B��A�BW�-B�^|B�=�?�MA]��@'W�B
r�@�AB6�B �B$�Bo��B�0B܈A�BB^Y�A�߻A�%B| 5B��B-�bBЌ}Br�B�@x�AK&B�Bt��A�
BYYB�&	@�%.A�&�A��@BB�@i��B>5jB
��B�߈B�B��*B_��>J,EB�RB$�B�?�A�v�A|�XBS�vB���BU
�@Zpw@G�@?�ZA�;B��B*:BO�:A�F�A2oWB8�A�?A1~�B���A�86Bܸ�@���@�t�A�� Bڮ�A�ؽ?��pA���@�0@Bt�[B�K8A���?��
B�6B�
fB͐[B&BA��DBT�&B�L�A���Ay:B�\TA���B���B��@��BB
�]B9��BHG�A���A��[BByL�B�V�A�@�A�*A�JB{�Aaw�A���A��B�B��~BgB�V
Ba$�?���B�jB�@�A^|&B�J�A^��A�P&B�B[�B��B�kB�i�A{�,B
��A��B6�A��B��B�/ B���@���Awr�AA��Aoy�Bhy?�˙A�+@��3B�A�AB�A��jB��"B-��A�8=B�H�A�<@MvBBa�B�
B��{B�wBT��BaUB�1BJăBi�,AMp�B��oB�E�A���B��_AG��A\y�AB��}A��@C"
B�;mA���B��&@.�=?}��@r9|@GpB*B�@�.AV%7B�8
BC�iB1�iA�LA�B|�DB���?
GA@ ~B�]�A��A�U[B==A+0�?
�9B	9B�ͿA(^�A,�iA��|B���BkB��B]�tB�́B�;tB�\B��AQ5A7�hA���A	68B�w�B�aBT~A��B�W�An��Aj
8A�a�A�`^B�2BY]�@La�A�ՁA��xB��A�4�A��B���A�B��eB��[B���B��1AP��@��Bb'�B1��?�|�B��~B*<Bx�vB��BBÒ&BnAAcTpB#�Bv�KB�̅A�uB�4BG}PA�7Bo�B�BJA�A�A��B3�B��rA�"�AXA���A�2HB�'�BE1�A˄;A�݆B,�A攄AL�B��B��BJ�@6!B�x�Aa%@�:B'ǏB��GA��B�(�B�HnB2B�A��8B�\�A�J���B-�5B~6�B�HBy�wB�'�@���A��@�$�A��	B��$A�ڊB�oLBb6B,��A1�QB�{PA�Z�AzCBȋB٦lA~B=��Aw=B��A��\A-AxhrB��kB��A��VA��A��B�9~AX��Ayo�A/��AV�AخvB0-uB��BM�xB��VA_�P?�%A
��A�"BB�bA�qB0S�A�m0B��.B��B=�]Bi�BsdB�ygB�BB?�B���AvTVB��AP�uAXB���A�*B��A�>B��YB���B���A��AF��A(�QA�2B��B&eB���Bn�?�a+A�F~B���A�0B�	�@�Ӈ?��A�ԓB��|B��fB5%.B�p4B�d�AS�aB�J-B	�KB�gWBmA7fuB �
A4�B�6RB�pYBߖwB{��B2�@B��A\J�B:ěA��BB��AHC�A�A�~B0�=BC��Ao��A��0AM1�Ae�Bk��B��BQ�bB�?�Bz�BM4B�%GB2O;BP_�B��_BW�vB��B�
�A?-5A�n.B�1GBLR�Bh��B^�B��OB�A��LB3hEBC��A��BE��Aɭ�B�t�AȔ-BLZkB�4*BX	Bj8�@��RA��:?�WA��(@��ZB�)QBʈ�A�z�@��B��0B#S�B�LLB	DB�֒B{jB���A:�nAڔ�B��@� �BRPrBH�BU�7B��A��gB[��A��Aih�A�ʂA�i�B��B��A���@��A�jWB�)qB��B�nB�hAB���A��A��yB= OB�nA�I�A��A�EB���A֏9B �B�;PBD��@8+AϑA�r7B�A�qwB�(�B��.B2ݿ@��TB.B�jB$�
B�xYB�vB'�BBNBC)AE&U@�;TA�Bgd@�كBa�EB�UB:�B��B��B?A�@�Ad�|@�S�A���?�
B$�3B/rhB�XA��{B�CaB�UUAQ��A���A@&0A&��A�[}B���AX�A*V�Ag~�A��EBa3�A�uB��BppA��ATB��B�m�A�T.A��"BXI_B��fA��EB�ZNB���AA�VB��TB���@�)&B���B�W{BW{B�rB�F�A!�0BA��@���B���@!�"B�ЌB��6B�{@a��A��A�;lA���A�bB�vA�\�A�=�B<]pBi�cB�~aB1�rB{�AZ�MA��XB	�B�+lB�>6@m�2B-�uA@�B�}5BKқA�~A�W0BT:�AƤyBF�A�Bj�BK��A}(�@a�kBE*;A6�@�( B��A�KB���A�%�B��B��BU��BA�A���A�J@B3B��bBW<A�E]Bx5B�ϳA�
A&�BB���@|�"@���A
��@,4{@;~B�e|Bӈ?A���?r�BA�p�A�ڹ@�;�@��B��+B��_Bb�B�A�A�|!B�lBVI�@���@O2�@3BBc��A�e�B��BR�AP�lB
��B�)�B+XB��0B�2WA�ŊBZ{@GaB�=�B��HA2B�86B�kB�JB
�B��B̟iBw�A���BP*�@�hB��hB���B��A]yBrz�B�MRB�� B�<�Ak4cA$��@ZێB;8?Al�QAg��B�r�BFnGB+�uB��qB��Aa�TB���A��"B�c�?<��Bb�"Ao�B��A�
�A�vLA�0�A�2;BߊB�`�BOy/?I�A$B�F�Ap*XB}�OBV!%Bk��B��@ �XBE�A�]kA,��A
 #A��+B7B�%tB�n3B��DB"/�Aa�]A��B�@��Az9B�*A/�B�Mu@ǀA�1B��
B�L�A'y�B��A�B��rB,�@-��Aک�AZMvB�!B�B~Bf�A矄A�#B��;B[�GB��d@�+qB@�=Bo
FB/6MB�)zB�rB��uBO�yB�k@\"A��Ak�BTGB42B�vDB4B1��A�A<��A��pB�;
B��wB�8:B�sLA1B�2�A�?BE�A<��AOBS�BF�A�@�A�B@aYwBB�Bu�TB*R�B75zBg:KBd��Aڝ<BP�B�NB|��A�
�A��n@TB{�B���B�lB�vhA~�A�w�@5��A�UbB��B��A���Ah�B�{Bj�NB8QB�bA�tBE�A�̲A��B�iB$4�A�;�@CSOB�ŔAl�Bo
4BˡB��BY{B~�B���@�<HBd]}B�~B逈ByFBT�B�x2B�J)@N�,B��?T?AzuBQ9]@�VB�4AHՊB�QBOʈA�`B��KB�QB'�%B]B�ZB{C�A6yB=�\B.�dBK<�Bnp�B��A�B!y�B�IbB�fBRݎB'RDB��%>$��A��B��KBuU�B@�gfB���A�#B�nB2�gB�^�B��AB�I,@�B�}\AoCYBb�KAv�@�7A�\LBahB�H�B���A#&B�WBg��A�ÁB&,WB�ZBhB�@A��	A*�B�M^B=�hB�%)Bu�B�YB�(ApA�<�BRkNB/�<B'�NBaW=?��A���A蓼@S\�Bp�B	��AD�(BH;�AL��A�B<�1B���A��A�W�@V��A�l�B�]�B�yBٞ�@�gtBoj$B�;BAu�?z�A�#aB	vPB_"�B�J@,�qB^�BpɲA��A��/B�/�BL�%B8�BM]XB4.$B��>B�AA��A�@2�A�8�ADRJAvB�B���B�/BF��@
��@�@��hB�P$B��Br(A�B��1B�I�A��B�(Bb"wB"MA��%Bmx@AF�<B���B9��A��@�5%B�oB�.0B�"�B��B-}�A�L�B7#B+B[9�Br
�Bc8�B�F�A�	]B��A�UaB��mB;NjB�J.B
�CB�ՇBL�8@n�{B�*LB��B�=#A0j�@�uB���B��0BRB1KBt5�B6�B��{@<@�@M�<B�ҟ@H/B�?�AE�+BzrmBj��A�'B�:�B#"B�*Bnk�A��
A
=�A���Ab�@���A�P�AC�B�۴A�-���{B�\�B��UB���A
ƓB�I�A~�@�׾AU�@�ԇAX[.A��A��B�'aB�]A�rGBjh�B&d�Ae�lB�iB/�c@%�
B]�`B3�A�,?��oAn�wBj�hB��QB�[B8�B;�B=��@�6�Ah�A��B�.bB��@<��A�$�B�S�@�߂B��BŢPBl�|B1��A�*�A���@��pB�cA�_�B��Bnx�A�|�AX�A<�VA��@B|ПA$j=Bm��@�2GA�PA�AmB��LA؞VBZkVBfpKA�[aB��&B�B��A�gBT^�A�>�A-�Aa�B7nB��B�?A��\B*�@BT B@��BlO�A<'B{3B٠}B�FVB�YxB��BB�#vB���A�AwBآKAu�BO�qB�Z�AX�A��A��B�wB�ژ@�#B��,B��A�ٛAr�iB5�<BK�HA��@0SuBQ1B��[Bf��@�
)B�CB�UA�%KA��UB�B�Az�A�~pB���A�kB¨TB<OIAN�Bp�{B��CAe�qB��A�{VA��pB	�Be�Ab�gB��XA�l|A�xBHn�@@V�AG�A긹AƲ|B:��@��-B�t�@~1CBKҁB��B�	A��AE�B���@f�A��QBbqAۜCB�
B'�$B�OAAcyB��ZBz+�Aj�A�BeǂA��.B5��@|��A��oB5�A} BFhAB53B�<�B���B�w�A��BU�BX��A|؃@�JYB��BnpOBz[�@�bB'Y3B��"@�:[A���A|��A'�A��DBa�FB�YaB��B�lA	��Ay�eBd�$B//:B��8A��>��IBa`�AL{A MQA�CB���B�ˆA1�{B���B^��AFCAB2�dBD�#B�=B�~�A��\B�,VB	��A�B�RB cA͜�@L�<B�dB�9WBSjB�vCB�P�A��@BYhBS��@i-B���B>�^B��$B*�A���A�U"B�rB�F�B�
�@9�A�A�@AѶ2B�2B�AB�qYAj��A�@PD;B �AZ)?[�B��A�G<@��Be��@�l@)�uB��iB�/BGY<B�PDB;R�A6��A�MF@�#A��!B��^B�D�Aݞ1B3"cA�PB}�A�}B�pB�A�b�B
jd@�A�A��@
�=>�[�Bf�B�@B�;cB��>A-�9B6V�A��SA$�@aE�@��B�<B@�B�\B�
B�i�AL�|Bh�RBUP1AIA���A���B���A��'B�kAm�@o�A~k�A	c*B�(�A@��A/�kB�r�A�LB�`=Bl20B�T=B�?B�n�B���@y�EB�ZlA��{A���B��`B�YTB{xoB�@JB4ĆA̓BG�BM�RB�a�BQ��?�B�ЌAd�!B�].B�
B�b�BI>�B��8BX�Aw�A�0B+oA΃pB�R�BVeu@T�A�?Bs�/B40B�ÒB�N_B�'B.]wAxHOB��\B��B�S?:��A���A�}�B�A�XcB(�B�IuB۠\B��BD�^B 0
B�G2B�>BtI'B�A�JB1�A�h B���A�jrB���A?�-@�}�B�K>B[�\B]1A�A��B���B�z&B�A�
vB�8�B�;�A�B�A͌�@s?;B��AC�	Bt�hB�0�@��wB%QA��>���A��:An�\A'��B���A\�B���A~WmA��{B�%$A(s9B&��@��B�KB���AҞA>�vB��|A��m@Z�bB�[AL�BJ��B�YB�W=Agd�A��@BN�
Bgm5AG	�@^�A�ňB�@�?�EAf�B[�B�w�A��\B�w�B�B]�>@(�B�wAj�B�e�A��B""DA�ُB��A`��B��B�y�A�OB*�BhFUA4�BR��@�%MB�96B�6B`�A�:XB8�A��LBU��A�AA:��A��'BP"�?�S�B��A��;B��A��Av7�BA.�B�B��B��B'>B+�B�k�A@MB�cBvB� 2B�}?B?�B{�.A�v�B.��Bw<BF��A���A�K�@ )iB�)KBι�@M�9B�[�?���Bl��A?J�Bp�uA�۽A6G,Bn��A"�B��A��B���@��A~�A9%KA��B�u�A tBm�rB�+B��[B_@ B�w�A�h�A�-B�'�BOoEB�SB�&XB��BY!BcSfA:�]B~q�@Y��AIb�A�aA9�tB�OB��ABH��Ah�BGQ:A� �A�c�A��&B�X�B�jBrYB��BpAǔBL�A�m@τB-O�A�}�A�W�B�;�BR0AkDnBNG�B��P@�S�@DZ
BĞ�B^��A-�\Br�_Bө�AG`�B��SBE��A+7B>� B�_A���@��B�dCBmWEB'ּ@<NB5�}A1/,A�#�B�ߓB�q�AwY$B��cB��,B�=B���A��gA3.~B��B�UB\�MBt��BJ��A��UB��A���B��B؍BM?BP<�@~yB�VbBy��Au@B��Ah�>@چ	B��A)Z�A��^B�*�A���A�`BY_B�;oBUA֫B�r\B��A�8zB�A�B�\B�$�A���A�"uB��mBs2�@ɚvB���Ae��@Vj)B�B!�B�OBV��A捭@pz"B]�7BrOG@v��A���A��
B��B��!?��A�"�A��AdzeA߅�A'x�A{f�@\)LA�B�ɏB�HBώL@�#B8oBjAf�wB<B��B�A/a�A��A��BN�B��=B5AB��tA�@YlB�8B��A�
�AM�A�`�A[�Bx�dBD�A�8WB"z_B�U�B�}A�}A�4�?0�qB,��A���A�_@\"�AP��@	�jBm^�Bo�zB%e�B�xB�~GBu�IB���@�\B��]A�&/BUN�A
�xB�=�A}�sB�zA(QB4s�A�-nA��A�)SB�cA �	?�0B�D�@Ag�AX$�ATA�A��sBF��A��zB�e�@zfB�|?1~fB�#�A��`@��EAb�A��A�6�B�P�A��B3��A��c?a��B(.0BwߘA�N~B���AL-ATJxBg�9B��#B@�WB���A0�xB��R@��JB7��B�+�Ax�B��B��Bf��AG��A��eB?�uBz�SB�9�B5�A4�lB�8�B5LB�t[A���A�J�A)jBL�Bj@D�1A��B�|�A.iB:%@^ (BBBVKcB?��A��AfyBC� A_.lBN;�@��B0Z�A�2�A�d0A�'B���A�C$AkB���A��A}�A۹�@�GB؅BS9�Av�+Ae1B��1B�ƮAdBn�mBtȈB�QY@
6�As2A��RB�ҤA��uB�mA즑B�E�A��]B+�A�(_B���A>�	B��A��B���Ak�%B�)B��W@���A*�jBD�A0JA.RPBݷdB�siB�l'B��.B;OB���@n�8BrJ�A/�B�B�R<Bh��A%�B��B7��B���A�c�B��j?�)pB��A��B���B.{B�

A4��@�:NB��A�� A.iB��A��Bh�B���A�IfB{E�>�A5B�9�AhBu<#B\RTB��A�הB҂�A�6^Bd-B��B��TB%D�A��QB��AsB�65B���A��A
�r@�i�B���A�ŏA�X�@LMBB�OB!x�B���B��aB^RZ@9��BK��A�5B~�1B���BlRB�(�B�WB�f>B��|B���A�R@}�WB��8BA�/B�x�A��OB
IB�U/B�gB�PA�� Bj%�Ar�@گGB��AvB<"B��nA�ʘA��Bh˅B��rB�\@��XA�B��AA�4A�zbAL��BR ?B/�dB��An+�A�"�@�*�A�EJABF�A�5�AF�B�+B?�A�a+B�qKB�*�A4��A@��AҧAO�BhY�A�>�A�~A��u>=ۊB���B+pB�
#B{�B��B�A��rB�r�A��B��5Au�tA���AE�A���At)eA&�B0��B�B�gBC��A�:�A�#?J=8AӪBt2�?4��A��,A��AB��
BW�B8b0Al�AN�A�dB+l#B�`]B"�A�*7B:�EB@�A@��A���B���Bx��A�mmBe��B5YOBٴ�A�TBXx�BsyB
��A"��A��-AA��@��9B�e�@�UgB'�B��$Aj@�A>F�B�#/B�]ZB��(B�HIB���@��$BᑑB���AS^<Br��A��nB���B���A1h'B;9�Aa7rA(��@��RB�B�ȈA �A(oB9:yA�BH�,B$��>��s@Y�B)v�Az�W;J�TB��SByM�A�nB�_BllKB���@�^�B��VBq�uA��B�ۦ@cp�By֗A[��A�_,Af�BwB��B��ABB��=�9�A�^�A{�B�B�K BABDW[B��BEC�B`�.B�k�A��Bh#]AH�*B��B;��A�#&B6�XB|B��A�O-Br�Ak�EB�
B�@�B�:5BM�@c>3B)��A~k	B�lYBRv�AFs�A̗�@�IAP2�B�/B��4@�B�e�A�sA���B�%	B,�B�T�B'B�Ŏ@]��@��]?P�\BYeDB��A�}�Ah4�B�h�A�	bB�'�A#�AI!�B���A#?8B2�?B�8�BTB���@�ΠA��Bj��A2�A�B��B�BQ(/B"��B�a�B�2A1H�B��GB��BN�
B�5!BQ�A��#B��AR�A�#�>I��B�L?�y�Av�)B
j{B�:p@;B���@�*�B$�pB̭
A�NA�.B���A��	B|�NB_��B��A�l�B��vBJ�UB��B��BB�7�B*1BD�B��AK8B8�A�q:B��BƑ�BČ�A|�B�4�B��kB3A�BZ
�A�&�B壊A>QB:4B�
"A���B�\�B�p�Ae^#B-�BaϢAl��A��dA�QVB{�JB o�BȀ�B;��?)sB��
B2,sBؤRB^%Bw.B	L7B}|gBbBjVBL̑B@�UA��A���@3�B�!�B׈B�qfB�qqB�BBdT�B��eB���Atؗ@
�tB�NB��MB�bmB� B=�lB�j@lm�B��E?i
ZBC�BFB!'[B�1B��eB�7B	�B�ߥA�k�A#��Am+@?uДA��B�z�AAAB��BϚ\B:�kAq"HA�2cA&�PB��YA�uA�V�A\w�Ajr�A�2B�a�A���AR��A�J%B���A��)BCchA
��?0�A��BdtB��H@U��B��A�EB�݀BM5�A�pB��+B#� BZU�B2�B;BH�AG��BA	��B*��>�E`B�/\B5oEB@B#�6B�lAB]�nA~�CB�4KB>E�A���A�
A�*DA��B�@:Be��A��	B*�$B˻�A��TAu@�B�M`B��<Bo�BR�fBLڍB?��A}mBB�AP|X?���B�FBc�Bܬ�A��AY�B���A(oB*��A>�1B��BcBKBi��A� 5B���A0�YB�t�?��A�,MA��?A���A�/B��B�JnB���BEgB�m8A���A��@BۂLB�݌@�	PB�tBF�e@�BAH�@A�Aĵ�As�?B��
B���A8(4BI��A��@�A���AF�@��cB���B�J�@z��B.XyB�Q�B�%}B̟&B��EBfB��~B`ʁ@ƛBBw�B�B}�wBIS�A��Bh��A�X�A���A38�A�MCB~�B
�rB@�HB���AVu�B�AF�ZB�ǪA��A��B#Y[B��GBN�VA�,?��A��BL�wB��9B��B���A�7�B��B;PBj�A�o�B��B2��A���B9�7A()BT�=B�eBb8B�!lA�BlJ\BOV�?�O{Bj�vBi��@��B���B���A6��@i%B5��B	߄BpK�B�m+B�RB-N B^)BY�A��AA�rB��B�d�@���>�nWB4t�@�=~B�UB��A��>BdljAe��A�x�B���Ḁ�A�ڍ?a�aA��bB�%�Bc�}B��}B���@�^Bۺ�B��!@�-�A��A�>,B��,Bh��B�[\B8ZB3�IA=Z�@ゎB雂A٠�B��@�_LB�{B���BAծB��B_t�A�Aѐ�A�AÝ~B�2�A���A�A��@�TB�8�?���A�UA,�iB�$�@���A�77B�AaBvaBE4{B(pB�8eA�nB8A�ӐB�}�A�\�BJ�4B{�iB��B�% A߮�@��AWyAXq�AL^B
�A�oB���B��B'�$B9.A���Bo!B�]A�>kݨ@Q��Bbg�@ĝ%B���@�g�B��'B���A�UUBS�BSQB�hbA��RB��bB�hZB5$B��;B���BȞ[Bl~�Aq]B���A�iB�tBP(A'��B��?6�BFW�?1+�A�B��]AK�@B�'(B�ӂB5�IBl{B�Z�B׊(B-;�A9�@"A���ABDgkBţJB�(:Br�A�#B@�`Bn�A��IB)ۿAYFA��}B\��A9��B9��B�XB��B�CB�%�B�/B��A�T&B&4�B���A='B�mBA��Bmv	B�ɌBy�@��oB�.B�A�>�@�#:B���AYt6@U��B�ĉAP��Au��?*_4B�ĭA���@nT3B�UQB}B�wB�"
BrnB��B�(A��B�TBo��B���A�b�BlNB�4B֯iB�[VB^T�B/w9B�d�@��ZB��=BkNB��B�LB���AO��@�/A��vB�t
A��R?�$QB��@2�NB��BHvB꓉B"U�A�Ay�AF�WBrh�Au�B�h8Ay��Ay��A���@��A�V�Bb�B���BQ��B�?�A�TBsB�nB=_�Aj:8B��B�[B�A]�'B�Ba�+Bl�A��;B CcA�W�A��B��B���A�B��IAH�Af?MA�_�A�U�A���AK/^B1cKB�.;@��g@��>�B_nBa�3Bd�[Ba8AQY�A+c@�~B?Q|AT$Bz<OBo��@�emBFBB�ېB�nB+|�BeN�B�$�@��B�B�nB���A�C(BY�B�%�B�hA�T�@�t�A[/Bj[A��eB��B���@+�B��]BS�yBh�B��nA��.BJ�cBI�A�wB5�A�H�A��g?3vB̗�B[�Au�JBx6sA���BĒ�@#�\A�5eB��zA�#B� 1BM�A�?Bq
�B6�9A�RBq�Ao[jB&�>B�]�A�B"��@)�BWQTB;��@y�B�LB<�B/-:B@�A�c�B�NPBW��A)
�B�Aܥ�Aȱ?B�TBo�xBV�Aڽ�Aƍ
B-q�AQρB��B;rB�0BB�K�AEB�?�?2WCA�+�B�^<B�AB��-B�Beۜ>™B-�	B6a=B0�]B��A_(A5��B�EBW��B��3B�QA�}Bt�A��A;IBv�LB���BSy�?�EB<��@ͨB?dB�(BA�'Bx�e?�n�Ah��Aw	�A�6[B�ɱ?x�PB蚑@2r�Bb��@u/Bm�"B���A~OA/aB?��@
��@y�B�˜A���@J��A�!�Ad�7By��A\:B�XaB⳺A�o+?��@�B���@
B��A爞@pI�A�c|BZzdB[�gBA�@'�BC��B�T!A�%�@~��@B
A�QB{B��g@��B���AQ�DA��0B�FB_87A���A�JB�T$B��A���B1`;BveA�lB�;kA�7qBY��B�aB_�ZB��kB���?��iBܲ�A]�A^sB@�A��eB��
B��Ad�.B��@�bB%�BC�B�&B��A��B3#nB�CAԜA�m�A_�AR�B�Y�AE>�B��A7&�AZ�A�J�A�t@���A�ӆB��{@��B��gBJ�VB��9B��CB�s�A��2BQ;�A��tB3�tB���Bz�BR��@`{qB~�/B��Bz�AM,�A|ȗ@C<uB"�B`+nBd�B4�SB���A�7AV�A�dYB��A��A1�B5>�AنBw]B�cB�^Bj8fB@~;A1��A���A�oB�H�A�!uAg+A��5A�	�A�/
B;lbBՔA!�	@/�A���B�NB��B��XBc��@'r�B�^vA��u@��B��B�3?N��B��B��B�>8AV^+A�O�A�*�A̡�Ac`�@��B˿iBz�A���@��B厊B8��A��A��gB�A�~CB�aB�{B��A@rB�
A��;A�LFB߉+AkpVB�#kB��A�BȼDB�m�A���@'*�A�ƛA�ËA��4BװtA�)"B��B"�A�B�o�B;��AG��@6..Bg-�@C7B���A��%B&(B�f�A�D�@A\P�AB�2B�ĊA6h@��gB�!�B�wA^�aB��WBW�;B�7AVAuB��B{g�Bm�,B��eBᝰA<],B��wBE8�At�8BtXyA�Bo�'B��{BQ4B�B��B�/8B�xB�xBP"B���B�ljB���Ao\rB�8B�8@B��0B�?lA��B(�1B.B1�iBM B< �B9��A2.�AC�Bv��A�E8B��KBqKB�8�A3��B�.AT�;B��B�A�=)A�x�A}!B�z#A��Bo�@?�b�A+�xB�3�A �	Bv��AS��A,�BLB��BD�?&�SAs��AAmAQ"�AkA�B3<qB~s�A׳�AdX[BGb�Bm�A���A~B*�BR��?sCA�\�ABA�}@J�A���?�|�A)J�B
�B�k�@��MB3��A��.B�ZB��B.�@Y�Aɓ7B���B�d�Am�A|�fA���A~�Bu`�@���A�sB�_B�BɭvA���A�/�Bk9,?LG�BZ�<B��Bn8A	6BV�^B(�@iOcB���@�!�B�KBrֆB7�3B��A�EBF#lA=Ȭ?b0yB>B@�WeAH�sA��B�s�?�&�A�RWAOSPA��A���@.�|Bz|�B��SB�2xBG� B��=B��A�b�A��Ai�BYH(B�$�B��B�#A�I@8܊B�<B��B ��BPZ�A��@	NGB���A�$@L
�@
�B��+B�#�A�WA���Az�BJ;oB��"Bt�B�(�Ay�A�9B��A��9B�?�a�A�gMA�[�A��A#�@A�yA�VA�'fA�Bҙ-BM�SBǣA	��A���A�Q�Bh�5B��	@�*u@]��A��UB�+�B
�VA��BFy�A$�@+�A�QB��@�uA�$�?/��Bx��AMfB�%`B�kxB�DB܏�B
��A��SB90_B���B�+�BgZ�A&��A\4�A��@�j@�̆B���AJ��A��i@�5�B6]�A�z�A[�yB��=@�[@�V_A��B��RA�ߌBr��AkJ>-�3A�y`B���BsB�?��A�A��%B@�fBGBHA���B���BEB��w@&pB�B��B٫�A�lB��vA*��ALB�B��BA�Brf
A�=[B,�@!�'A�t�?�Y�B�
�A9>�BWTB�,BO"cA�^FB���A<tA�)B��A�B���A��FB�KEB�m4@���Al��AC%�Ba�;B��6@tB�v�B���AܫA1�BF�Bq�qB��fBR�B�S3@�\B4\�A��A��YB�,�Ad�GBrh~AGU�A���B��\B!�B�:4B��rA�-�A�J[B�H�AW�AZ��A�_&A�aB��#B-|BHYA(�vA�!=@{=A�!B�`vB�B��]B�{�@���A�vA3	@=3�B�o�B�TB��8B��A}��A�=lB�JB%�gB�@P}
Bx�uB�H�B��B��BS��B��'BǔBOv�A��#BJՀAr�B��xAyv:B��UBW��A�)�@��cB],�A�|B��B#�Bs�A=w�ANJDB!˩A���Bm��Bd��B�37B���A5UB��aB�B�ì=l��@�1�A��jB��&A.ÏB�eB�n-B;f�A\WuB�,B��f@A�3B��A��UB'��A{�+BNPiB^��B
�lB�w#B�<B�B
R�?�h�B��RBdQWB��B�сBkpVASBN��A��J@R�V@O�QB''A��A���BR�lBPuB��xAs)$Aյ�A��^A���A�_B�/lBi�yB�0O@Z��An�~BU�&B��9Brv�?�vJAa�PB���B�kB��@�5�@�OB/*CB<�KBC�|B��B�5BO��@Pr�B>��A�߷A��A���A'��Al�LA�B��B��7B���B�&B�i�AL�OB�_�B�a�A��aB��BP�(B��I@�zB_q'A��B}�>B��B��|Bv�A6a<A��B86A��0B>�LB	��A�B��B*0BJx�B�A�CBl��A)B��A�veB� \@�=�A��=B=��BC{~B4�A��@�?DA�Bw�iB��B�
AAS�@K��BH�TB��%B�wbB��A�Y�A��mB���A�Ao�B�_BP��A�"�B���@��pBF�AA�
$B\4�AٍPB�AB���A�a0B���@?��B�KBռ�A��7A���B��AD43A��ZBL˓B�p�A�$�A���Ar�vBk�A�*7B�BN>�A��*B�SB�/�B��tB~6�B���B��@��	A'fBc�@�ZB�B�֎B���B��:B%��B�
B�1Bz B�Z[A�BB�3KB$hB���BȻA߳`B�B�zB��B� FB�3FA��UBF�-BL��AX��B�
7B0|B���A��QB��@B�PxB��@�2xB�QBs�GB�JBf��AlEB
[>B��A�%�Aa��A�D%AM6JB>v�B9g�Aw�?A]݋B;��A�|aB�6�B�4Bą|BP��A�^B���A�y�A�2/B���Bz�B�DzA�,nB ��AU�AϥZB�A
u�B�9=B�SKB��^B:@9BB�,BA�2@��A1��@��8B��jA\X>BqA��|B��B�B�g#AKH#AՋB�E�A�y�B��5AlܰA��VB��2A3�B=��A�!B�E�AaB��1A1�@�MB��vB���B�;�A,SBN�A3�@��A���@@�EBI��ACmCA7=_B;tB�B��FBZ�UB���A,+�A�WB+��A��B
�?��7B~>,Bw�"BߜCB
��AA��A�U�A�A��Ah*�?�w@P�B�FB���B��BB�z�A��AaKB�&B��B4��B��B^��?ʵ�A�r�A��AB��A��A�@�AIBaB���@1��B��_BK_A0([A��BJD(A}��A]�&A�eB�"�B�@�B�9�@�{^AS�aA�>YB琝@�ņBu��A	�HBm�A�F�Aaa�A<G�B�B�Y�A+�qB≈B*[EB73�A��@zi�B��AM)ABw"B)�oB5�Bl)�B���B�h�Ad#B��Bߎ@���A3G�A�7B�@��_B��{?N��A�G�@  A��RB��A��AT�A`�BÙ�A�'#BR��B�T	A��-B�k�B �BB�͢A
mgB��Ar�sB
��A B"+BD'\B13�����A�ĩA��2@�@��AM�FB�YB+�]B�%B�?�B{o�A:iYB�JhAD\Bh�3A�qB��@BBaA�!B�O3A�n�?�}3Bc�B5"Bk�B A��'BBϔ
BVS3B�1�A�ߣA�UTBiHB�B��=f@��#B	)BS�B��@�=>A&>�@��AyrOB��xB���A'BBF�WB^�B>܌Ad�:Bg�B�GrBs�pB�͆BXQB�@A,�A�f�A$��B2;B�u�@eaB��A��A��QBK5^B::zA$î>���A��	B��BgR�A�7�@>=Bȫ�B�CA}@�AkB�5B.DŽB��@C�A͎�B�$�Am!Bm�>B`p/B�(qA�mOB��!B:�DBm�B�>|A�rB�6�A�@���A' A���B�t�BϤ�AꇗA	�8B|�mB3�B�U�A�W�@KZ&B���A��fA�OvB�+2B�#B˒A��+B}�wA`�A1e�A��AQ�\B�_�B�6B&9_B.
�Br�B��RAo��Ao�B(k�>�?^A���A BT��B�bnB���A�W<BG+>PE^B�(B�k�@IRB¨A�SkB��Ag�
@�VBP[BB�!B̉�A7U�A���A���BV>BZ?"B���B��{@%hB�ϫA�fBB��*B@(�A��A|ؓB}oMB-�lBf�S@��?$J�B��"BC��A��A��B�~�=ܗBsfB=t�B�/�A�'ZB��?Bm�B��?2!&?�);B�,�A�`KBa�!@��A?b�@��}B�0�AȖ/@ɗ�A	��A�op@G�mB��
AKA�r�A�n�BL��B+�TB}(BU��@�))BY�`B`�BJK_B
�:A�B{��B>�B���A�EB��SB��B,�xB�W6BݩA?�A��BdBSB��@18�BV�A�A�ZoAB��?��qB��YA�)aA
�A91uB�z#B)��A޽�B[GB�	B�<�B9�B��1@�
�BY��?�EB}��BHЁB�2kB�B_�B��@���B��KA+WBsy"BS�?B�ýAg&�BZ�6BZ �A�H�A�lYB�pWB�suB_�dB��eAPh�A���A��AK^}B�w�B��B QB��0A�
@�c�B㡉B�UB#ZiA2��AY�iB;{IB�*B�e@�sA�܈B���@K&B���A�w�A��LB`'�A-o�B�Z BTm(B��A��&B� B}`�A{��B�j�B�$�A��B�}3B�˲A���A�9�A<ZB~��B�ZWB�|�A�GB��5B*�?BfՊBX�B���A�WB�[OB�=�A�!B��&B�>B��A�oB	o
A�25B�3�AʖTB�	Br_B'��A�fBK��B���A���A[�WAL~jB���B5A���@�;BSC�B��5B�~�B��@�]qB�,BUC(B��UB[��@/�_A|V?1��B�8�BT�@&WqA�7�BIFB�>�@�PB��*Bn�A��qB^M7B�7Bi�e@�n�B0y
B:�4@��BL��A��\B��|B��{B	�B��=B�
!B��4Ai�@HwB�9�B<�@s�pB�}A�
�A3�gB;6�AsAN|-B:�B��UAeB�N<B2x[BY��B)ӪA$��A8�~Bt�B���A��0B�#�AatB[	�B)�	B��(B�
�B���AA?�T	B��}BD%B�SLB?ȞA��@��B7��A��
B��6A��?BUJ�B��5B"�lB�B��B�:B��GB�g�A�(xBN&@A{�PB�}A��nAKQ�AE�B1�tA%vB�{�Ax��Ab1�A�X�A-dB��CB�R�A�46Ah�rB}r�A�)�A�mB��Bh�B�]�A��1A�}B4�CB�Z
B���AxuB���A1\�A��Aih�B�]WAImzB��B��B��gBW�OB��iBl�EB�s�A9{B(	1B��	BG�{B�p�BL�A��A��A��pA<��>��Aa�~B�2A�$B=[BZ
�B=�%B8hB�̚AOc
B��Bn�\Be�XB~�b@���A�7�B�gkA�aB��A@[�B^oB���@��(Brw�A�nlB�loA��5B�A���A�Y�A�)%@ļ�BضB��OBD�2B��3B�B	�zBuy)B�v�@U��A�4tB��dB���Ai)MBeEeB3yB��bB�kBrGB�d�A�"CBt�A�>�Aw�:@+��B�*qB�w�A�ʅB���A�1ZB�͡A�*~Bw�'B��B�]ALNB�<�AE�yB�
�B�B��B$nA�ADA�T�@+�?���A�h�AT��@RBS�Ba{B�=_B��A��A�VoA���A�IaB��B��3Bm�lBP�?B��lB��B�AP��>�BM��Ay��@��@b�A�DdBMJA��sB��OB6�B�Y�B��B�2q@=aEBY�&Bc<B�;A��@�A?B���@���A-KAӒ�B���B�xHA��mB�7�A�s�Ab�\BE�*A�i�@nDwA��pBY	Bs+rB�@Fn:B��'B�یB���@{�B�;B��A�Ki@�?A~��@�!2A�O@m�B��fB�N�BI�B�HB�vAP��A�BGB�W�B��i@�6@A�t5B�;4B�AΒB���@��}B/�B�
BBK7B]��@�fA(Z_B:�Bi}A3A�A��EB�m^B��PB���A��B�hlB�(A��Ab�BBRWBQ{BF?BBKe�@��A�?�B��eB�AJ�9A^��@$��A=�B)yB�RdB��LB�pA4EB�A�A ��@L�A�.�B��B�?B��A�j�A��lA���AڵBZE�BT�pAE�,B�{�A�*j@�5B��@B�0IB��NB�A�A�a�A��DB�BB��FBǮ@B9�Aԡ�B�dB��CB'�@0~B�AB�?؍LA+q�AS��@L�KB�X}B4(jB�tMB'��A2&�A�ax?�.�A��wB�\A��A9J
Br/FB��1B9QA��GBC�j@�#A��zA��y@@,NBy�Bt�HB�aA��(BcGB6�4B�IB��<B�7�B/J{B
F�A�XRB1�gB;
�A8DB�B=./BO<,B}�A�h9A���B���A�A���A�1�@��xB�5Bg&�A��A�QASZ5B��AbxrB(,�BN,�B�ȖA}�A�B|�VB`�\@��B�1�?�B_M�@k��B��B��B�aBS.>f2�B��B�OBO��AlzA��B�mBdޅB�c5B�A�[B�:pB��B�~	A�A�oA��kA�A��A�~yB���@�V Bu�,B���A#�,B+�@*�B�lSB�B�Bd�zB��CB�C�A�ԝA% Bw_
B�VB4oB�.B��A��@��0BA�A�@*BA�IB��"B�96BP:�A!�FB'HUBs��@2IRB��5B:$BK9yA�1�BlߕA�O?E�oBo�B��BO�1B�S@���A���B��iBBڅB��[B�2B�=BÐAO+�AB@&B�A�Ar/B�?��B��B�@~B�A�C�A( �A�w�A=��@� Bp�7Bd\KB+��Ab�B���A}�A4�A��#A�b�B��B�r@��CB�E�B��MB�d�AoT�A��B� 5A���A9GeB
X�A��B��B$�9BܶB��SB��B�A]'BÁ@��:AI�@���B�LB�OwB�%@%Af�-Bͫ/B��{B���?���A�hB���A��B_qB<n�AN�
B��dB�iAW�B��mB��Ab�BB��A��)A��~B���?m�DBt��A�jMB��bA(U�A���A�!dBM!PBu�2B)*BJg�A�B��wB�a�A7;Bv��A���?��A	�wB!�B���BN��Bo3�A�2&BʉBm5B���A��_B�W�Ab��A�UB-��B�
B̔~@F��A��GB�PBGv�A���A�xB���Bsŷ@��A�H%A!�B��AmK`B��SAd��@"�A��Bm��B�\�Ai�*B7��?�zYB�^�A�B�bNA�sB>��B�|Bjp�?diZB�NjBr�2B&
=BF�B��DA�	rB�A�&AA��mB�Z�A�e\B��A��jB��B���B���A�kB%Z
B��A�Azf$B��2B�r�A=eB}�OB`�YB�B�@;�A���BQ��@i�RB	yBAs6B�@�A���A|��@�҃@mO)B~A�D Bx��AC�HB�HB)�3A�RB�?��B�G�BpƐB1��A'��A���A�r�@��@f��A~�TByNBFc(Bϱ0A.�B�k�B�;@A
�dB��Bw��?��!B}��A�YVB,(A�8*B��fBU��A��,B��A]T'B��A�F�Bu;WB��BP?��mA�?�A=nBq�BoBP��A�8�A`��B$�A�<gB�CIB�XB
BE�yBO�GB�3xB=�BRU<A>B,*B��/B�7
B0|B��A�(B��lAs�Bo�BUGB�OiA��eBv�	@y{A���A'n@�J4B��kA�IA�kdB�-�B9�=	F1A�I@���B��-B��BmB���B��YAcdBR�A$4�@+B��A�J8B���AFB��-ACF�B�B9��AB`"@B��AFuA��jA�d�AO!�A17B��A@iB`�WB/�PB�C�@S#gB��_BDp�A���AR6B�h�Az�A�.�B{�B�S�A#BCIAG�B�B�P�@q�A���Bi�B��_B�mB��4B�`�A~0BVـA�X.BO/B�nB��}Bi�A	w:B�B��B:dZBS��B�<�A��@��5B�|wB���A>NA jB��mB��|Bu�EA��#A�v]B��vBDąBR]�A?�B�k,B;߁B�B�UB�q�?0�8B#Q
B"]B#��@^tB�[�A'sA�LBl�A�xB��bB�CB��5B�z(BH��A2#kB�B��+AspaB]�rAe�@��B�B8��B�ӫA�/]A-B�i@�͈AJ(8B:~ZBF�FB�W�B��B#�ZB�5�ALT+@�NB,]
?��bBQ��BPs�?	dB{\�Bw��Ad��A%�.?K�Bۑ�A�uB|�<A�
lBQ�OA=��B��iBA�B�A�B��OBh��BZ7B2@�A��(As�|A�<B	޺Ac]\B(y�Aj�AKi*BM��A�mA��fB�ΌB3:kA�}(A拙A��BZ��A��/B<�A��IB�pAk��A#��Ak�8@?B�0�B�*�B]�NBc��B�TA2\B�}�B+.A:roB��wBu&nB��iB�/RBM�BGD(@�Az�IB	fB�TA�~A�\CBs��A��qB��A_iB�TBB��@��A��A_o�B:�Bm�gB�^�?��_A��nB�dB=�[Bt�@�1�BA�B9:A�UkA��@��B��@Kf�BA豍B�[,B��qB��A�3PBu)�@�A;�nB��2B7�qA@�cA��BY�A��8BG+cB]�5B[��Az�Bo!]B��DB)�AtZBI�A���A���B7Y�?��A��Bj#B��Bm �B4�@L��AA�f>�}B�CJB�mA�W�B-K�AK3BH|�A��MB��,B���B�s&B#�pB"�$A�rB1[�A$�|B���A�ǂB��BO.LB�B�>�ASi�@���@.NB�8�@.�A��A�v�@v��AJJ!A�B��}B�rB��xB�D�A��OB�4�@εA���@j�8@c'B;��A^��B}۝Ax��A��BZl�Aqp�A/B*h�B
�@��a@��
B.�Bn�MA���B�zkAz��B9K-AѸtB�d�A�W=B
GsB)�Al��@%��A��A�(,B��@�ȍB���A�ZyB�/qA�.AEAB���A���@+\B��AVT�A�	�A�<Bg��A;�A3t�AG�]A��B/{A5�:A��AO+�B��IAEͦA{��B�"BĢbB���A��A�t�A�ȝ@�@3TB�ttB-!�@�B-��B�$�A���?r/�B/ȝAls�A�FOAUkBT�-A��?���B+�LB��VB�_�?u��?Q߅Bf=�AIYB��?�/�AC��?n��=��;B��A\�B�#�A�+�A�MA�WAķ	AE<@���@��B��@2��@ԣ�A7�vB��?��B��gBFq-BX�r@�KWB$_B&� BY��B��A'��A,`SBU�WA�xB�m�B�BcZAA��$B�!pA���?o�iBY�B���A-C�A�!A�kcBu��B��@�RTB�c!AI�AU�1@hQ@��B�� @�A�B�B���?�E�B\w(B
�B��AK$�?��GA�m]B�2B��2B8okB��SA��,BwlB�� A�cBrL!B�RB��PB�B�B/-�B��A��B^�A��B�@B��JB��B���Ab��@�<�B��nB�8nA�r~B=_B20uB��	BO�SB���A[yeBIi#A��B�#�A:�@��}BB�	@��B��XB�p�@�A�A��`ALB��B��tBR��B8�fB�!�@��B���A@A?AῐBr�BDX2B��A��A)�(?��!B�.Bi�Bdt}A��yA(!@��AJ�1B��ZBSyCB��~B�F3B��AxA���A5��A�{�AZ�_Bv`�@�	4A�wB�G�@�(]BPixB�NMAL^V@-L>B���B�AB3
@�sBs�B�8$A��@�G�A���@t�>B�p�B^�cA�_�B��BvDB¿rA��B�W�A�7aBvP�B��9BP�A)�B'��B�{CA�{�B2�AQg�@��nB�K�B�B�B��B��GB��IAZ:BB�,�B�.mA��bBQ��Bj�%B0�B���A}�vBj�;A<�)BE��@C`cBFdA��)B��AH(�A�DB;Z�A7�,B)[�@��hB�jqBlBpB�d�@B��^A/�gB��rBp�A��KB�`nB���B�s%@��>��^B!V�B	B6ATL�A�c�A�WB
�B,��B��~B��@��BŤ�B��AD�A�i�A3b�A1�SA� Be��?h2B�WxB��a@��JB�
�B�z)BnLUB&�AƗ�A(NOA,QrAF�"A�BO�@aߊ?"WoB4��?+�?�jB�=CB`{nB/�B
��Ak�A�EB]�}Ba,�A��A�vzBo-�B��ZAa��B:a�B��B���Ba�@P<A��B�B��B�P�B�_}B��LA�B!5�AFT�B��?Až�BX�B—+B0��AF�5B-w�B�vB�B`jqAK)aBj�BۅB�NA� �@+�j@s'�A��BA�B>�A�T{B��SBnBU��A���@U��B��<A{БAsj@d-HA��@8U(@g*I@�xB�%bA�=&B���A8��?���@G�fB,�\B�݋A���A,*8B�PoB�>B��VA���B<�@��B\�Y?CԌB<B&6'B-�PB��]B�}$B���@�ZGB��uB�5A:�AD��A�gB�iB7rA��5AV�?#�sB�mBS!�A?�@�ȀBS�7BG:B�ݣA�kLB|B̹�Auj"B�W�A̼�A�>B�M�B�QPA�eYB3B�<3A-7�BM�]B�B�LBXBx4�Bq�IB���@���@��BྒྷB(JB��B�{By{�?��OB� xBO8�A�AO��A���B)B�)}A7�B�Q�B��|A��,A�OhAx|BD�B��B��?�	A
�A�r�A�C�A�7A@LmB��.B��"A6�	B��B;]�B7�Bx��A�ЇBc�iB�|�B�)BY�'B�&B��AI�A~��Aa�A�d�A�|A,�uB=�nBm0]AQ�A�]B��B��:B}��AM�dB�}�A�.�B��-A�`OB���?���=m��@��dB,JA��SA���A�:~B\Y�AMA
B�n�AJ�0A���@.B�@BP�iB�,{B�]GB/@k[B�tB^�)B~�#@�PrA�%0@*�oB1�B5ܘA���By��BM��AQ�cB.)A��*A]�Ad#BL�A�6�B��B�ܓB�"A
7�B��BN\�B��<B�AB&/�B`XB
ʀBvpB��/B|�FB��^B�7pB���A]>�BN�:B���A���A�Sf���BD�$@�oB�5iB-��A��B�SB���B>Y�@��QB�`8B���A\AN�KB���Ap�3B T�?jZBgT7B^^�@��+A�+B�RB&��@��A�
�@A��B���A�>B~�A��>>GB�FB���A��hB �B&
UA��(B��TBaWB5�B��^BӺsB:�"B?W@�`�A�-�B]yA4BxP�B=�A(�lB�zKBAH�A4B��B�9�BM�B��@��A���Bu�pB�n|A�!@k�B}c~BW�@c��A�PBn�&B�H�B��|B���B��APҊB��AB�^�A�'�A}�RB�LB%�3B��A��^B�/B3բA;�Ag�BO%A��A�~�A��%A�l�A�3=B.�@�ߌ@���B}�A`�AG��A<�'A�d�@�
^@?,B�VA���@qĢA.��AH��@WXiB��Bl�-A�7YB6Q�A�8�AN�B��uB�yB���AHk,A,��B�xB��rB��2A�F�Bi��@�]�B�A���A#�Bec|B�W%B:��A���B#�BJ�B+iZBj�BI�qB��XBUҿ@�B>�=B!��BfoB�a�A�6�?UtA�iBR5@QB
A��A���A��A��B��dA�A���B���AۧAA���B�F�Bk�A�b�A��B��~BVF=B]�Aõ�Br��AV��A���A���AEuRB��A�B���B���A!;�A%�CA2�BB��Bu%pB�TB��Bl��ADiA�!@A���A7�A.O�?}�B��@'�+B��A���A�59B&Y/BsАAc�cB,�B�ʏB���A¶�B7�OA#kZAA��AQ7�B�R�B��]BY�}BqFB�AP;�B�ŕAl+WB:�@��B]�@a�B�}�A���A�{B�|LA���A��B;3�BPqiBH��@%�A��A�-�Bӗ�A�6B"[:B1�A<�gB?�B��A6n{B��lA��B�Bq�B��JB�[BoPBG@�A
5B��B�lA��9A��@;�B�B���An��A!{%A}��BBj`B�;�Bg
aB�%BK��A2��A���@�@ދBK��A}Y�A�B��B��A���BCY�A��LBAxBCB
�A�Y[B�<�B��<A�7B��[B�(�A��B7��Atso@��A�pTA �PBN�Ah�hA6f�B���B���B�a(A_gtB?OBtDBVCB��A�LB�zB9�5@mP�Ad~B�(jB��UB�QB�l�Bl�2B�,B��"B9�B�(�B��Aޱ�A#[�@@H�A�'Bf�cB�(�A��pAڸ\B�BF�A(��A��A7hB��qBm�B�5BonB�Z^B���B�őBDՎBU�OB[��A��B�TA�A�@�AٝA��6B%�~BD��A�A�BT7�B�SeB?�rBIiB�B�hBh.A-�MB�(B�mfB��\BV�B�΄AᯚAv�QB~PMBO��B�~5B��sBv�<A�HBK-�AL��A��"A�vJB�q�A��B�(@BU�@�J]B��,B	�Bk+YB��AT!�Ay�~A�уA��@b˟ARq�A��@���B�rB�i@B~��?�aA�0�@!� A�-�A�����YB�d|B��@C
�BHB�|A�G@/Q�A��L>�YB?�0BDoB©�A
"B��A�mB�AWB5� B5�B�5X@���B�A���A�A��BفBf�?B�-�A~�8A�fBc��@�x�A]�A�LuB C�A )yA%'B,3wB���@��mB�DB��<?�=�B&P�A�2B�j�A���B��!A�e;B�B�dB��B��A��eB�lTA��h@��A�?B�HB3�$BGFB:0JB={BV�tB�".A��VBu�>x��B���A�7�AH�b?!1�B&@rBu�A�d�An�)B!t�B~��B/mM?o�B@c�>KՄB5*vB���A@��AXB�xB��+?^'sB�w�Aǒ�A�VBrW�A�m�A9Z�B�+B��|B�R�A~ĀB�A=�wB˥�A�˃BjLbBi�;B<�B�T�B�͚@�J�A�i�Bd|wB[�A�%j>zEB�
�A�OBV{�B��A���B�~�A��'B�Br��A��Bռ�A��M@�B"�,B݇�>���A�U�@��A��B?ZA}lB��A�,RB+�JB~*BIt`BԋAW�@�ʂAIBcG�B,BB]>�@���AV��A<��Aw�A�F]B�AHuB6u�A<}BO�3@j�B:�oB��"@֪Bt��A�ӈA���>E��Be*1B��YAJU�A���BП|@ѭ�AW�;B/��A/��A��UA2��A�5BO	zB���A�uABM�~Bz�\AIw(B؞UB��B���A@e1B�21A��\B��lAuu�@�"JB��B�Š@-I�?�Bd��A���@D��A�}A���A��OBzD�B�`�?��rB��A��[B���A��7B�A��_B��B��
BI�A˅�A��uB|�hA0ζAJ}KBuɏB��B2�Bh`�AtY�@e�B�f�A,5 Ass�A`a�@�AB�a�Ar�wB���B�n�A�A�B���B�GB���A��1BG��Aa�!B�دA�@B��B�/GB;B���Ao�PB{�:B��A�gB���B���B�B�[$A��WB�pFB]�2B�H�@� ?��A�T0B��uB�w`Bg��@B�@BH��A���A�M
Bx��@!$�B��A�e�A�ƃAL��A2{�A�
~B}DB7FyB'�@�é@v��B]D.B�@��,BE�B��xB��TB��zA�jhBV�A��A~V?BG,5BXxB@�BB�HgB��B��IBՁ�A�_�B`��B"�LB6bB��A�#DBY��BIg�A'�DAj��AA�0B��Bsq=AB�:@�>�AYΩAS��A�B �XA��!B�A�AY�@8-�B��Ae�A�B��iB�LB���A�%8B_}�AѦBTN�A��dA�nBƤyAPc�A��B���A��Ar%A:AlBT"$B���A_�B-�&B��^A�qB���A)� B�1�A�UB�^SB�iB���A�_&B��VA��-BϬCB�B~�PA��@\�@�w"B�6iA��@�^B*�A�@'@�"sB�$�AB�BE�*Aga@���A{�B{9!A��B�V�A�h'B��	AE�Ae��A�B��BB
��A�A��A/3�AgzB��A�;A���B�+PB$J-A��Bk��A[�A�
B73BF�SB��B��.B�\BvuTB���B�n�B�wB!��A}eA?�UB�1�Az�A~�@��
@��B�#B{x�@��Aq�
B��2B��mB�	�Bµu@��
B=�<BZ=uB�-_B��QAFTB�*�A��A���BZ3BD}*Bf��@��A>WB��2@P
YB�h;A3p�@��Bb�8A1��?�B�'�Ab�B`�A�0�B]�B%5�A���B�Aq��A��@#�tB�]B&<BA�s@�iB8�\B��5B/��?T�mB�3�B|qB�KB�eaB~��B-""B�LtBKTBNs�BQ�8Bce*BpB�w�A�%B�k1AO<�B3;�?@1�@�6A�UkB��yB�B�լA*�]B�=�B�~B-�eB�>B��BY�A��0A+��B4uB(tB��rAn�+A�ڇA�<�A+2BT��B��A>�SBM�`B��aB"��A��BZ>�?���Ay7SBb�.B�<�A2��A�A�̆B$0B���AW>!A�lFB�އB0`�A��
Bp��@��EB���?NcAVpUA�fB�$[A��Aȣ@�M�@���A�~�B�SJ@��B�B��)A��B ��Af��B@��BV�BJw"B�k�@>�KB�"VBU�lB��L?@�A��:Bg�e?{�LB�]B��-Al�A�~B}99A��3B�{�@�zm?|��AP!B!s�A&pB�םA(�BBh�xB�\AU]gBh��A&�B�B<D�B7�wB�6B�!B鑆B�J�@��B��A���@|�@�c'B��XB��MB�Q�A�qWBo�A��Bzz%A-4�A�,A�2�A�;�BYD9B��wBp�gB!'�A��AJ�KB~�B�zA@$$uA�rB��Bՙ�ABB���B<e�@'\B�H�A�~�A���A&Bf�B�B��fB-;LBmBO�BUBwB��B�m	B�B�JcB$BF6B�i�A�>Bţ�B�k�@*OB��B�eB��2A;
�A�gcBzE�BÐhB�+mAo�B��oAZ�qBc�B��nB鉍B�E�B�7`Bm�B���Av
~B�h<A3�RB�EB��nB"LJA�y)B��0BL��BJ��@�Blf�@S�mB��> �A]s�A��B��A|Y\B�$BB��+Bٕ�B5��A=�BޤB�1�B��HBl<A��{Bt$�BpɎB�ֻ@���A@7�AV��@�J4BfCB���A���B�AB�K.B�Z�Af�FB<%=B9RB�#Bh�AC�A=�PAW��B7C�A���A�xzB-��@�BN�B�W9Aϝ8B�aA�=5B҃eB�^�A�i�@w�B� �AijUBmY/B�BC�Bm8B$�BBG�B��AͦA��B3 1BOWkAuAB_�<B�bA���AfA��B̆hBbGB?!�@�]B�_�Bn58BAFPB���AI��A�ϓB�^�A��jBpQ@B��A$B���AK�B!�3BT�bB��A���A���@(��A`�%B��A���A�?�?��Am��A�ƐB7�}B��B�N'B�K�A�ƇB��A�A�9B�[uB�+B�iBt�YA��A��By�{B`�;B�;�Ab��@�',B�=�B��&Bү/AXE�B�&&B�%B��A��!B��B�%bB�(3B=�wB���A�
�Al�l@��#B�B\�YB,X$BZ��AݪLB�5�Ay�Bd�B8�B�B�$B�tB�nB�OQBD�mB5-�B��#A-��Aŋ?Bg&;BBc%B���B�d�B²Bm�B�3�A�n�@(ǫ@`�A�
B��BHQAGU?B%�4BLUB��jBL*;B�
�B`�(B�X7B�A.g�B��B���B�B�OHB7k.Bd�B��"Bq�VB��A�ӆB�6sAJ�nB���A��@� WB 1�A���Af��B^��A��~B�\BE^�A�CB|�AusmA9��?
L�A?D�A�oRB<��A�ϋB�AB6'EB1��A3j+B���A&Y8B=�xB)��Av��AmU�Ak
/B�ӏB�TB�EB9xB�A|9wB[0?B.�?�V~B��@O,EBN8?B�pB@3�A>PB���B�� B�B�HBU/BʏAP��A�ukB���A4?JB&~rB��@BB�r@��AI@�UB�AbvBjAs�kA�~DAn��A��A���A3�ZB޽�A��fBQZ
B��GB�A�eA��?B�
�B�WB_�7B�T(A2�.A�*BlwB�?BͿ�@���A��B�XEB:C
A׾:B�BCJ?^\�B�Bn�B�+�AXSMB!&�B�bB���Aݶ�A���Bç{B��
B��B*B�I4B���A�@+B9^B!g�B�EB���A|�VB�$B��e?V�RBl?+B��Bn�4AB)�@�iBR)B��6B�>BL��A#�B�A8cyBPB>��Ȧ�A&o@ +BCvEB0�A�ЂBN#�A��JB�4B��A&�A�a�Bd|1BpB�mBl�B��{B	YB�`�?��A`�?A�PB̈́B���AMg�A�‹B[�(B�CA"B��B�vOBk�gB�tB_�A��A�*ByKBz�B�ϛA>B[l,B�1B�B�I8B|qPB���A�XB��Bj�B�YBD�A��5B�����2B��B71@�+\B�lcB�4PBWXB?8B[��?�ZB��zB�h3BqȄB)��@p�?B:LgB�E^BuB��@_��A�"Bw�@��^B�L�AغwB� sBg�6Bt�A#�B��>Ba�B<3�A�A'��Au*B�9�@u"	B&��A1�?US�?�:Bv	B�~B��5B]
B!�AV2Bo��BljBB
B�CB�=[B�7BB�GB��7B�AjE$B��B��@�{At!8B�A�@��)B1B��FA1{�AX��@���A��BeA/B:&�AG��@�ј@��A5]kA*�0@�)�A�)B`�=O��A��EBD
Bk:�Bi�dA…hB�<@�}�AәqB���AL,B�H�A�=;AqAB�Z+B�`�A�v�A�gkBBsIB�kB�wwB�!A�?�@��@�fqBi�BY
�A�7B��5B�p�A��B*��A4�OB�n�A��Bm�iBƨ�@z,B��B�r[A�YA$�@�XB��IB���A�w�A7o@
j?�UbB�q?ހ�AI�NBX�A��+B���A��@eA���A���B�D8B'@wyJBm�}A��@���@���B�CB��3?�.B��nB�&�B�@���A��"B;jA\�B�fB��+A�(�Ae<�Ag�AV�~B��"B��B?�:B�eCB��aB�#{B���A�FB�լA���?8�'B�H�Bh�7Bl�AK�DB
B�{JB
fA��0B�Bhb3B2��BtA�@s<\Br9�A=�AO�B��BHPfB8F@ОB}eB�XBk��At@^B	�4B>!�Aٛ�B�1TA��hBG-IBsR�B��"B��]B}�B�=Bއ=B ��A�N�BR��@��A��1A��B�ELBǤ|A�ʐB���Aq�BȌB�B��BE&B��B��A�-�BH�B>�$B�AB{vB��@�izB9��@:�IB\+cB�1@Bp0B�pkBQ�AI�B*'�A��_B��A��B��4A�HJB���A�<4B�}
Bͽ�B qA���AeM?B��@�̖AU��A��+BńB�(�B?�OA�P�A�..B�%B�{YBo�jB�gMA�҄B��!B��B�h�A��@��%B5'XB���AZ6�A~�A>�A���B��A���A�Q�A�E-B�y7B��AA��A[�A �|Bc9�>��eB��dBw+B�B�^TA9gB��SB.2VBCB\7,BO�MB�k�A��_BoeOB;�/B�Bu��AH�aB�!Bu�AF#dA���A��B�NB@W�ALQMA�HOA8��A(��A��=A6фB)� B��#BA�1B��9B(�AA��B���@8A�@���B��Ak�	@�7�A�uB�\B�Y�AN��A�7�A�0�Bɫ�@�>B�YMB,X^Bۼ�@$)�A�B��DBT1�Bxs�Aa[�A~��BGeBA��AX=GB6lB�RBC6NB��EB�@Br��A=�@�KGBWl6B�5
B�VB�`B\)B�CU@_�IB��.B�tBVپ@GΏB��EBvrgB2�BSyQAxʁB�ac@�[BW�yA��BҴKB+acB�=Bc�B��*BOb7B��RB�9B���Aޠ�@�m�B�{�A��By/ABuH�AYB�UB�"�B�SQA&�B@��A*cQBõ0B�-�AY6mB��AT�B���@�8�@�u?B�B{AA��B�M�B�/?B��B��DBg�iB"��A��FB�]d@�
Bռ�AO��A��?B���A���A�6@��A�B� �B�HBB�B�	lB%�NBԴsBf)B��	B�s�AHfB���B@]�B�fB�#ZA���@�#MBb�B�ЍA�c�B�0	B�?4B^<B�CA.�+B�^B�O�B��BD�@C�iB��B�+�@7]fB�%�B�B\C\B�Aޞ
Bj!�A�GBOg4A��B�i(A�q]A3�B��ABH�B%�A��QB�OB<@B���A�X�@g�>B���A��B�3�A��<B�|�A�5B���A5�BclBB�K}B�`%A�r[Bu�B<�B!3dB�b+BEI;B��U@��B ''B�6�A��7A,�Ac�B;�UB+�MAz�AYAB�hB�h&B�TcB&MB�K�A�A 
EB6$B}B�*�A!ȣA*BeϢA��A���B��B+��A���B�:B ��B+pEB��B(�ABe
B��AϤA��BRjB(��A{�7B�5�Bk��A�zBE[Bg��A�#zB!�B�4B���A�MQB/�?n
UBMЎB��JB�eB[�B�b�Bo�B"
KB�6|AW�)BU�yBt�4BGdB���
��
�@�@A6�A6�A6��@<��CA�!B��A��A@�KBaS�A���A�&�>���@��?/*B��@	 �A{��@c�nA�:�@�fA�X�BnqB�*�By��AY`zB�#�127B�]TB`BBG��A�\�B�aBB#h�B�PBb�@��RBd�mB��XBF�>BǑ6B�G8Bd�(Bd�B�`eBQ/�B˂B�(�@w/B9Bd�ATeBC�)B�t
A���A�
NB�ڊAe{@�}�AHd�@B�yA��BY�,B��JB���Ag�B	/�A�DPB_IB�"Bym�B���@}�,A�ىB�ǤAM�6B�S�@��A�B[�Bˁ-B�6�A*~�Bq�A};
A��+@|;
B��BE�B��8B��AJB�I�AK�B��jB��B��xBl7FB9�eB��B`&�A�ϤA7��A�ۆB���A�B�djB+
�A(�BB(qB��DBr��BQXaB�f	A��B5-(AP8�Awe@zMBZ�6B�Y�?��gB��Aʖ�A��OBg�B�&.B�y�@¬=Bm��A��B�3B�BY��A$�bB�g�@�w(BB��A��oBdQB�\@�SBꞓB�H�B��oA���AlE Br�%B@�jA\Ä@]S�BJS�B�]�B���A)�AC�5Bu�lBL�RAM�Aֹ�B��BTOEB`�,A�LtB	��A|��?Ʃ�A�7�@	*fB��A��XBM5�>�B�7 B�}B�u�@怑B\S"B��B�'�B�ҔB�s$B9f`Bc�BD�@�v�B��uA0|?B�1�@xBl�UAd��@]ytB.�B&�~@̴�B+whBw�@c�0BՉB��\BcB��B-BB,oBƞ�AO/B�ǜ@f��@,BOB��B�Q B��VB��A�6�A��Aá)Bl�B���=ˮ�B�xBUwkB�l�@�J$BlB�uB�ĦA�m�B�\BG\B��B�yB$��A�WKB=5 B��FBʩ8B�GB���B8^"B�A�AA���A�gBV��A��B�1@BWLBJL+A"�Aκ2BUl�A�!A��MB��?�(�Bp��A���B��:B9�`B;�ZB�t�A�H�@'�^B�-�?���Ah1B��B��SBi�
B�A�ًByD�B��[B��B�2B+ψA>NB��MB�;B���@J�B�_�B�l8A3�A�\@�.NB�A!�A
�Bf��@nB�ےB�/�B^BY��A�p%B��B��AkM4BOvBOP:A�TA#Q�A��A��A0��Ay>TBh��Aa�B��B��?B<�Bڸ�@�o�AB��B&C)B��LB�N^A+�=B�<+B� �A�Aj;@��A��A+z�A%A(�BvǃB��B��A*lsB��2A85B�d�BǀeA�Br�B��#B�'B^�B�nB��B��$A�)�A�79B�sB?�WBg��B_�IB��fBlsBm�AB���A")�A�mBy��Al��@D�PB���A��kB��B�#�A�XBl�RB���?�!RB�56B���B�Z�AִEA�@*mA1�yBr�\A�1B�dvB��aA�o!@�*B�B�ۣA�!B�'@>q�@3xB.�+BX%KAb,0B���B��B���A0�qB�B�g�B��B���B��cAcZp?$�X@�_�?,PB��B��GA�JBNi;B��OB;f5B}QB�xmAe\�@�"�@�$�BS�BI+�A=eAB��B��@X�|Ak�KB���A��B�
GBZ�A��B2JA��3B��wB��<B��5AW�Ba5B��MBZ�"BI�	A�9HB"�BBf@�]EB�2B	�8A��BWOB��aB:�@g@��Bō�Am�(B�ķA	��A�N@��?B��4AS7�A���B��@B�A��A�-B�DB�0B�B�]BN��AāB#�A�^B��.By�B�7�?ZXA>u{@�P�B���@��Aq�B=�B�BVf�B�nBE��A=�CB�f�A�x�A�U,BJ�3B3�Bf�aBk~B.c{B���@��A�{#B�"�BT�AT(
B�;YB�@%@A���A�<B�%:@>��BʏmB�H�B.�B�B|?*B��l?�~DB�_Byj"B�A?{�A��QB��tBݚ�B���@R<�@���@��XA�%<Bnt�B�DBg�6Ar�A�%VB��A�0@A���B@��A�)8Bn�@���@���A	�B�лAWX�?+�iAM�@W@B`W\B}�EA��m?�$B�i6B��jB[4]Bt{�@VBB�='BI��A]�A�{B[1PA�x�Be��B��@{0AB��aB��Bk_�A�<�A�]B�!B��Bka�AEg�A�&A5�IB��A�l�A%�A���B�J�B�?B�>B��B��?��BVlB�A��*Bh��A}��A�.&B�2	B�>B��A3�B�H�A!`-B*|AP��By��A�υBl�Bژ"B�i�@EE�A��A�m�A]��By�e>AW�A���?u22Bw��A7+BB�.�A@�jB#�"B18�A7%?B
��A�@HkuBu�BȶB<ZzB��wB>f�B�!TB�rB�؂B�@2A5v�B�pB��AO�B�4^A�P�A�A-�B�A�%@�B7�pA'�B�H?@���?�*�@fc@s�B��Bӱ@T�*A�09B�BX)lBlt\A_�LA���Bi`FBJ��?n^f@��}B���A���Ab�[B$^A���?�B8B��:BL�A[��A�enAԎzBg>�hiB���B^�pB�BltBY�[B�F�A��6A�^qA֭�A��7B��B`�aB{h�AS��B��A-$�Aa5A���A�J^Bh2B�Q�@�2~A"C�A��xB	k�A�՜A���B�V�APG
B|cB�/\Bڭ�B��2A9��@��B?
�By��?耳>`#{B�p B�vB�BBT�$Bi�A�qB���B�LBV�|A�&yB��B'�KA,Q6B�ǔB�SAd͎AjS�BK/�B�zA^��A��A?�A�JBP/�B�A�L>A��B�x�A�*�Al'~Bgd!B�KB���@�� BL��A1��?�}:B$��B��UA�cB`�B��nB®�AM;BE��A��~?� �B�8B
(�Bb�BDwB�&�@�ݹA��@2u�A�B�3Aan�B/�MBY�4B
�A�QBD�UA�}�AQ�EB��B�:fA(-{BYۥA�?B"��A�
aA7q+Ax(mB�iBHB�Ao�`A�y�A1� Bv�A�B�AE��A�A8�AcwB�!xBD�B��xB��YA��?%'A�Z�A\� B9�LAH�sB��A��.B
�-B�2�B,\BPB<�bB�hBH4GBS�
B,~�A��UBW�A]|AGUWB�\�AB�,BӜAҥ?B��WB71�B~��A�,�A`­A-�RA_B��BeB��B���?�m2A�}B�s�Ad�1B���@�lC?a�A��>=G{B��gB>*Bƴ9B{)xA�naB6,B��IB�[UB5�
A_2tB�A�B�TB[B��vB@,�B�o>B}�AT�B�y�A��FB��Ay��A(�(A�B�5<B��A'V�A"�+AH��A�B7p�B8WB�aBEm�B$
B�4B�FBpT;B�وB�^B�tuB��B��Ac�?K{)Ar1B��FBV׉BY͋B6m�BR�PB��A4�NB��DBy��AC�B��A�{�B���AGt/B=�hBs�,BF�B���@(^A�rK?CcABH�?q+XB�QB�Ac�Av��A�?0BxƎB�6OB�B�(�B=
kB^��A��fAe�BR�@�d�B�rBY�
Bu98Bq��A��gBF��Ax�A�׆A���AkY�B6�B�A���@�i�AQ�[B�TqB��B�|pBX@Bn�A�ێAr�yB:QB9�jA�X�A��Ax� B�W�AM�9B`�
B��PBn��@LhA�!�A�G7B�v�A��yB�o�B'x-B�˷@��WB�B��B?�B�XZBw�xB��DBnKB�+/A].]@�"MA�B-�B@@�BZkCBN�A�s�B4a�B�
B_��@<��A�-i@��A]J�?,|B �4B��hBnHDA�}B#=`B�d0A�яA���AUK?A���A<Q~Bߗ�AF��@ގ�A=�A�TDBh��A�B��B(�AI��A��BBB�?�AP31A�0!B�5aB�R<A��EB��NBt�A�YB�6TBV�@��)B�=�B#�B|{B|uB��A��0B��@��Bb2�@��#B�Bz�7B�2�BB�A'�Ar�bAݔtAK�B��AX\�A��B*gnB��aBk)`BF�pB�Z�A��YA�TB}�B�OjB��(@vI/B*��AH�BB�7B��AɊA�B1B�(�ArKzBа�Aכ�B��BxT�A�@��kB�@A�@�4!B��A��Bv�A)V�B��B	��B�*B;�A�)�ASL@BP�B�bBm�JArnZB/Y7Bz�A<A�+CBS��@�3@Ʈ�A[��@�A�@�B6NzBF9LA�6?�w{B�Au��A#)�@7y@��B~.B�_B$B���A��AfB�iB1��@�#�@:��@�B���A�ɋB��B�
�A;$kBǤo>�ӉB=�YBL�,BM�[Aǣ�B��@DpcB$��Bb�KA�|B�4B7jBA�B�/�B5S�B~'iB}�A�E�B�T�@BchB%�kB4��B�yA�byB�{�B�5QB�#B�_�A�JcA���@r�B,AT.RAı�B�+�B�EB�vuB�oB&�@��UB��A]�%B�r@^U�B3�%A�BO��AW6�A�>TA��A��9Bؽ�B���B��?��A�&B�Y�A`B�NB�"B��B0B�@�YB5�AToA-��A�+A�7+B��
B��uB��6B�BBx'�AjbA���B�]@�J	A�w<B�1%A�U
BI��@#]�A8s
B5�B�(�Ap^�B�A��B�=qB��?��A腴AvB8Bq�Bʟ�AU4�A4�B��:B�qGB�"�@!�lB<B3\GB��OB/zB)XrB7�wBf�xB!�
@���@/ڷAA�B��EB��B_GCBK�7B���AK�A���A)hpB��B��vBJ�7B�iEA6�B�/�A�B���A6a�Ah�BD}B���A��At'@�B{B�5Bd�UBku�B9�B��IBa��A��?B��!B)B��A��A�8@
�UB2B�E�B��kBsHiA�{A��AbK�A��dBQ��B�ΦA���A7�Bi�}B&KB@�OB�M[A��B>��A
J�A)�B�JBV��A�)A��NB\�A��B^7B�tB,	B��B+B8L�@S�FBe{|B��BU[�B�EBސB�'1Blu'@�@,B�j�?��AK�B�e@��	B�#.A�b�B�hRB�(A��_B�NB��SB�&B�?B��B�өAx�|BҰ]B�cB�	?�Z�B��AJB�L�B��^B�qB*}�B�tCB�[?wK�A3��B�:JB4S�Bz�@e�iB�o�A�!%B��lB&�gBډ�BчAB��@h�BD[A#RUBY�GA���@Q�>A�?MB?�fB��BN�A8&B+XBI��A��B�YB��\B
GB\B#A!h�@hu�Bm�]BjB�A)B��BLbB�X#A��pA���BPOMBER:B2VJB
�?��A�"�A�~�@�e�Bb�Bc��A��)BI��A��A�B�W1B�֫A��A�@l`B�Z�B�Z�B��wB�>�@�tB�h&B|g?B
�@�E�A��dB��LBp#�B^/J@�pB��
B%��A���A�0B��B`�)B���BZZBz�(BA�>B
QZA&��AP]�@�AN�AzKA�j{B:G�BHg1Bp��@��@�V�@�oiB�%B�@~B��'A5�B��1B4��A�2B7M(B��xBd�RA�(Ba�:A��<B���BL`�A�A��&B6"oB�[0B��B��BֺB{��B6�BCDB��B*�B.��B\�Af\B��A��dB]�mB!glB6M0B:FB��B��?o#}B��MB- B�A�	v@CuB@��B=�0B�8UBYWHB�ڊB_��BΕ@�
�@��<B���@g	2B�F�A5�,B�>kBWn�A��$B�B�B�B��)B��A��Aw��A��Ac��?�B�A�A�X Bv��A]3�B��}B�Q�B��VB�A�9�B���ARd�?�
�Am{@��A,.*AN�A�ZB�`_B���@a�GB�M�B�_�A��jBɎkB�~�@�
B�_B-��A-UD?a"A��xB��jB_�QB�EB}I�B��B�6�@�DB^��A�s�B��bB6��@�#�A��B���@B��B�UB_RB	�zB��Am��Aݜ@�pBfpA�Q~B�ǎB���AfO�AFb`Aq{TA�:BB�_�AL";BG��@�GA]tA�TlB��>AԃWB�VB�/GA�L`B+K)B�ZB�S�AU�gB�'�A)�A㴑A�BapB���Bs�BA& [B'?B�B+��B���A�B�BE�{BLqVBEryB��?Bk
vB�m�AU�{BW�JA]��BcpB�[�AnKA�AzȁB�ByB�ӕ@@u#BV�1BݜA��Ay�lBށ:B��AA���@��rB��B��[B�By@h�)B�(DB�)_A=�[AXQBy��AS��Ai�oB��A"8nB�OVB��LA��B��{B��:AłrB���AW�RA�VpB��B���A�3gB��QA�˃A)jB��@��Aݞ�ARP�A(|B�q�@;-B��A!�>B�‚B��Ba�A:��AA��B���@��A/RB��tA�,EB?1B�+Brq0AČyB�PXBv��A��A~B���A��/B;e�@��A{�nB���A�B�@B?VB�g�B���B`!�Ah��BoB�GBt�@�XBxB��OB�
�@�R`B�2B�t@��XA��AP�A"��A	�CB��EBȟaB5S�A�A̼�A!�eB�8%B�<Bm4Ao�BRBIB���A�oATDHA0RB6M�B�(A�~B�r�B�|�Ax�CB]cB�$B�);B��A�0]B�,VBK��A��B;�QBuMyA��@��:B���A�bTB��fB}CB-��A@L@B� Bj	AU(B��B�=^BY�)BAթA�@%B:qB�	�B���@�A(]�A#�>A��2B]0B16AB�XAO8�AF��@r�:B' �A�F�=FvB�a�Au/@B��@-�*@��yBKJjB��-B9�=B3)FB�
�A��A2T=@
A�� B�$cBѹ�A�.B�fA��SB��A��BIH~B]�AK�BL�[@���Aq��@��B���BIsBUIB��cBMFAV_<B�AG�RAz�@��@���B�[<B$ÇB:�[B��Bk\�A^�{B5^UB�)0A��A9(�A�!�B8�Ae�&B�qAxK�?矢A#��AO*BŘ�A	��A-�iB�\�A�EIB3;B=�/B��;B�;?B�BD�@)�FB�ʂA؁A���BkD`B�wSB�&nB:{KBƒ�AǺ�BAIB	"OB�ыB�z�?�eB˘�A5!B&e.B<B�U�B�ȏB*;7B��AX��As�2B:�A��oB���B�&@[�AGW
B�Z/B{d2B��B|�^BA�&B��dA�&VBfYB�B!�i?�u�A�>�A�h�B|�A�abB0�B��qB�[Bn"�BS�\BeJB�1BBkAB�(Bt�A!�LBA�A^?B���A��sB��A�80@�Y�>�c@B1�_B�6A���A�B(ԃB7�$B@ߊAksB0C�B�e�At|�Ax�@�v8B�t�AvB�pgB���@�{vB��RA�m�B���A�X3A�KVA���Bp��A���Bߘ�A?nAu�yBg�A�`9Bu�@�e
B-LB
��A_S A�hiB��~Ab�p@7"_Bv�A��B>ʒBy�B�$A/��A|�BBG�Bȓ2A;�A�
�ArS�B&;?HK
A��B<�B��Af�\BP�B!�B��C@#kB��mA�BF�A8S�B��EAБB��A���B��BZ^�AC�RB��B�+YA�a�B��@2�MBފ3BJ�B��A� VBs��A��OB�L�AҎ>A��A�)Bv>
��B�޹Aw;B�e�A���A!ߎBbـBq��B��B�U	BoB
M�BK��A�NNBL�aB;PuB!0B?�AB=�)>�*A��B՝�B�Bh�A�p�AkA�@,BeB�%LB���@hh7B=C�?��BY��A��=�wA��A�-B�}�A�B��A�U�B!$�@�(�AT��A�UEAU�Bl(�A��uB��rB
*BR�[B��#B���As�A>-B�͑BXQEB(�Bz�\B�qBcCB��rA^�^Bn�@rW�A�W�A�6nA�rB�#Br@B���A^�B��PA�x�A���A�)BD�BW�Bl5dB�/�B��mAt=B�A�g*@'˄B�/�AԎ�AyE�B�#�B�X<AlekBvE�B}/@�g�@��B�׍Bl*�A:m\BH�eB���A�q�BZCSB���A��:B�"BݙYA���@���B.�FBzGB�p�@��B�I�A�i2A�څB<Z�=���A��$B�cBU+BBԾ�A�\eA"�B38B��B�=OB�S�BҧA,�WBʿA?��B�5B��B}�B�I�@��B`�bB�o�ACjAB��A�4@s	B��A�F�A�\B'��A��A��_B�B�EmB1tAkB��^BY��A(�wB%n�B�XB���A��AaxB��mB/�@A�xB���Ad@�@��*Bj�B!_BԍOB�оAם�@�#B�l8B�nC@�>�A�V]A��
B��B~Ϥ?v�A4τA�p�A�ChAP��AS��A�@Z{TA^�Bw��B�fBB���@K"B�mB��A�&rB�BA!B�A-��A�BA��B�B�=B�DBٽlA�%�@�TmB�Q7B�5�A�p�A�
AL�A�#BRcBS�@�#XB��^B-s�B��yAً�A��@FGrB���A"��A�?t@k��A!��@6�mBs^�B�]zBăB���A��GB�cJBW@�@ح[B��dA��3B��A�9}B���A�utB�PxA�RB���A
YsA]~�A�@OBr�0A|�c?<u1BӐ�@!-�A���A���AosB�9�A��xB�y�@<iB:[�?�jbBΠ�A�%i@��RAt_
A��A�X�Bx��A�H�Bd5�A���>;��B�2BR͗A6=~Bzd�AF�A�2xB;!8Be"Bs�WBĺ�A�wB/�|@��HB��BĽ�A�+}B�]�B.��B��A�=�A��dB��uBn�TBߚ�B��A� lBE��B�uKBd�_A���A���A�qjB��B�lV@(�8A\gB�o�A@<kB��@X�(B/�Bo]B!7�A弢A![B�A'A��oB
��@Ir�B#)�A���A�DA<(B��AX�+A��A��A�o�A���A5V�@�.GB���B��A�� A^�3BU�2BvϱA� B�XqBRDŽB|�E@9W�A�v9A�OB���A0�uB^�jAɂ�Bݣ�A�	\B��A�!cB��A	B&��A*(�BE�A�#%B��B�0S@��As�hB<��A�OEA��SB�cB��jB��*BE&1B�PB���@ԛ9B}j�A��B�B��<B9��A8Bz^B�v�B.6�AS�B6�=��pB��BM�B�%�B>�|B�*A
\�@�OB��AUs A��eB%h�A���Bs��B���A}8gBu�B�$4B���A�@B�S$Bt�VB;S�AP&?��APJ\B�+B��B9eQBo�Am�SB�O!AH*B�28BA��AM�@�x�B�V�A
̙A*��@��FBw�OB@ޒB���B�aB�=@�#�B*l�A�B�1B�4�B8KQB��BE:B��@B�>}Bf��A�{^@MWB�I9B�=,B$��AT�KB%GIB�3-BH{hB��@� B��A'_�@�IB�;�A�0}B�B�#hAr�A���B:�B	4sB�΁@��\A	Bu2@A�(A�fA8;�B��DB�eB��A	��A�LA*�A�7A}i�A��A�B�BlU.B�9�A�z*B��IB���Aj��A\��A֡A��B��A"7�A��A��?���Bݰ�B�>B�-$B�B��BF�A�ppB|�A��A�p3AqGtA<��A�c�A�w�A�aA7Q�B��BKB�,jB�4�A��A
��BF�,A'P�A �?vJ�A� Ag�CBH�
B|��B��9A���Am�Af1Br"B�]B��A[�9B�VEB��A:@�A�~�BโB���A�*oB_�~BoMB"{A�SBÆB!�wB�?�A8�A��%A�d�@�66B��@��hBϻ�BE2!A��A��B��,BI�\B�+(BzGB6Y�@��#B/��B��A|�=B��A"<qB�7�B^��A=V'B���A<�oA7�@;XQB�8�B��A��A_�BwA��B��/B�E�BE�Q@s�BOK�Av�B8�WB��TB]y�A�pB7�B��LBqO�@�U�B��RB��sA�BY��@C ?xA�AOD�A(&A��B=lB�!�B"DBC$h?��A�$�A�:BbB��B
EBr_B2B�
�B�K+B��A��B��dAk+B�dB��A�&B �WB��BɁA0&,B+��A�BB��B��Br4B�@��1B_��A2�BK[B��A]�A���@��AA5ÃB^.Bw��?�
B��A��pA��B�xB�I�B���BG�B�F�@��@���>��_B�ECBӠ�A��A��Bh�AI]B�A���A��Bs&�Aƒ<B;�?B���B�UB�Ͽ@U�ANBxU�Az��A�7BғB�C�B��/B�(�B[(�BD;A"��B�EB�ɈBE�B�!B	�Aek$B��A�6�A�'>�$�B0l�?Á�A��)By�{B��T@uBC��@�U�B�dnB~A4!BA�9B��A��B�eKBy��B޿�A�R�B*�wB�uUBr��Bj>B)ߌB�GB���B���A��8B�H�A�a4B`��Bo�B���A��B]c�B|jB��AD�B�`�A7J�B��A�PBZ�6B^E)A<��B���Bf|�AT"B��BG��AB��A@gA��WB�mKBL�B�	?�b?�B�FB�rB��VBR�B"/B�8B&gB��B3Y�A�(�B)vUAPګA�Aj�B���B7B��eBj�qB�+B�B��bBgZ�AON�@a�sBU�OB?QPB�5jB��!B�$lB6�[@]߅Bx��?��^B�BB�B�6[B�4B�=jB�S5B��B�ʧA�_�A	�A� "@8,�A=��B�U�A>B�|�B�\B��hA(�MA�JmAd�PBY-A%�oA��A��AXA�Ak�B���A���A�3�A��&B?T�A�(B۪fA���?Us�A=�B�7B�N@�g�Bd&�Ae�BCtB���ASrB�+B<�BD�B��BO0B2�iA)�B��&A�B6�)?��aB��[B"ZHB�� B�I3B��=BI�tA[@B�wPB�&�Aq��A��'A�BASF�B��:B?�A�IBO�$B���A��VA1-�B��bB�R=B�B~-gBo��B �A`lB��A�Q�T��BY�
B�zB�`�A���A
�B�c�A��"B[b�AKo1B�B
�BgZB4��A߀7B���A��WB�r,@�N�AD�FA
F5A�L�Au	1B�1B�lBmH�B�kgBe�0A�B�Ay|?BM|LBg��@�SMB]�vBɳ�@�<A��IAon�A��A��@BPE	B���AA�7B�)�A��@W&A���A�6�?N�eBs��BnQ�@ȁB��zB�c}B%=�B�)B�lGB��BU��Bj&x@P�B|(�B0�B`brB_v�Ac�BU��A�O�A��Aq��AsABb|�B�sB�zGBUM�A|�BM)�A��VB�U�A��A�v�B�YBv�HB:�SA��>�G�A=�B�{uBc�7Bk��B�A��B�V�B��Bs��A"A�B-�B~7�A�y�Bv�4A7�&Bf�?B�gB��6BD�sAnB�\[B��?��|B��tB>�@�M�B>B�B/�A0c�@�K$B.n�Bc�B�`�Bc�*B]
RBKB Bq
B⵴A���AJ�qBŏB�7�@f-�>��XBoO�@e}B6�SB԰�AKG<B!/iA't�A�l�Bm��A#��A�q�?�SiA2�_Bu؉B��B8}B_A�y]B���Ba@F�A�G�A�*B�r,B�G�By�ZB!�[B�OA05�@�j�B��fAh�B<|
A%LB��|B�4�B�lA�6B��~B�ۏA�c_A���A�*�AI�~B��A�F�AB7
A���@�B�<'?���A&rAd:gB/b�@���A��4Bj�dBq?B��}B�0qB�SVA��nB��A[��BS�A���BB�6B	�hB��B�G"A�l�@]p�A�A�7�Ad�XB[�A�B��BS<B��#B�
Al��B8�B{RA>g?
�@�'�B�8�@&�!Bo��@fN�B�5(B2��A68SBdӁBI�RB�l]A�ZSBJ`B�@ZBY�B=B׌�B_�VBPVB�-`B�2�A�iBd�BN�A|�B��$?�n�B-�?�|�A?�B��TAw]BB�^(B���B�JB�9xBz��B��(B?@�A��@s<%A��A�B��kB@JB&�9B�u�A:OB�^B�̾A��HBx�A=`CA��{B�cB�ՈBK\�B\UB��B�FBl�BD}1Bh��A�M&B�B%=�AKjB��B�9�BG�BI�B|�@�qB�jB@� A��A�=B��A�bG@��B�,�Ah��A��B93B��A���@�2BTTB�B1��A��B
�kBDtBD^,A%
B��SB��B�A}L�BI9MB��B40gB1�UB�ϏBLj;B�j�@g4YB�s?B�OBOJ�A�IB*�A�
�@�w,A�ByB"~A�&�?/�OB~�@��NBPV�B�*wBmH�BlއA��A+��A�WB�ըA��~B{�:A�?�A���A�-�@�G�A��BFBTĈB��B�t�A�UBU
B]	B�F�A�B9BH��B��B��A�&Bt�BI])B5bA��=B�:`A��A�B*��Be��A>n�B�OAR#�A�m�AOu�A�A�P�AE![B��KB���?w�|@p&?B��pB�:5B#ZBGZ
Ab(�A7f�?)DB�W�Am�!Bv�KB�X�@�kBͲ B/�B>KlB��BI+�B��o@�\�B�a
BT�B��AP)B�)
B�h{BH�dA!��@.%�A�}5B�LA��mB�*B:��@gj�B�4[BBQ{B�ȋB|fA��/B�gB�=�AԮvB�k�A���Aܮ�?}�Bp�B9BVFB�JwA���B���@�nPA�AgB��{A�sBO�0Bw;�A�yAB{��B�;A�B��kA9�hB�;B���A��|BŪ�@K�B��WB���@�߉B��NB�/B�	<B���Au��B��LBk��A��B�{�A�ڱAh�?B��RB�yB���A�5�A� B��A_P�BhBS�tB+uB�xB��At�B�:@�iBA�5�B�:B�:BB�v*B�?B����cB~B��=Bӄ^BV��A&z'A���B�5BB
��B�D3B�HPAF�B�K�A��@�YMB�@OB�5�B��?@BMk�@O�Bu�B�?(B=(B�v�B(-�A3�A�ŠA+^B?�?�PB':�@c�Bu�@��{B��'B��A͵AA)acB�i�@%��@�B̨�A���@���A�o�Av�9Bl��Ad�9B��^B�9�A9k�B�A�B:�@vzBqz�A궞@!��A�G|BT�bBhcB�$@j��A7�B^�A���@*��@g�@UjRB�<yB�`p@��B�
�Aɗ@A>�-B�iBB�.Ai��AnHB�d$B��Ab�Ba�7B[�iA�lkB�cA��vB,:�B/
^B��]B|�mB���?�pB,�A���A�RqBJ.�A��fB��
B��A�i.B���@�ieB6��A'�Bx�B	��AM,	BfmB3eAI�A�M�A�5A ��B:��A`��B*��A�[�A��A߰A{l�@���AD��B���@~��B�"jB{STBt&<B�AB�BG1B��AB"rB�rB���B�BpA�vBbG1B+�BY��AW��A�X�@H�xB4'
Bv�lB��BȉRB-��A\=A�6Ac[B��B)��A�WB��A���A"oB��gB�|B…dB,�9A��B<t�ArVmB�ІAЛlAEAN-A���A�7	B�vaB^�A`@�v�A��B�B�1�B��WBݟ�@N��B��A�!�@���B�ЅBF�?�r�B��B��B'$*A�D)AN�AOB֗�Aa��@�k�B�hBntAC��@'BBk��BG��A���A��hB�U�A�DB� B�GBd��A
HvBvgA��hA��JB�(A�:SB-�jB���A\1�BT�FB*�A�[�@���Aҳ�A���A�6B=�nA�$Be�B�A�B��B���A�O�@�M.B��@�:B�_�AP�&B�B~z�A(ݼ@%��@�ɷA�z4B��A0\�@�sgB���B��A7@aBWXUBZ�?B{�5A:�tB��B��B�l-B��eB��A
�*B^%vBC��A�:B]$zAB!�%BO�|B��4BY�BXB��7BȁvB��vBQ��AT�B�ϊB/�A�sqBh�7BK�AB�O0B�lAm�A�E2B�Bn6hB	Bޒ�Bծ�A~��A��B���A16B-#GB|ZJB���A(�B�A.a9B�؆BN��A(�/A���A�B��A
p�B��?�q�A�yB s�A&ZB<��A-G�A�Bu�B�$B���?�dAD��A�4A�G�A��B,)qBb�A��A�rcB�-�BIӿA��AB�G�B�]u?��A\�A(H5AI�-@l��A#�O?Fb�A(�B��Br�A�3MB`l�A�'+Bv�B�ߓB�N�?ċ�AK�8B���Bp��A���A>hAY�AhH�B3��@�Z�A"��A�3`B��BiA���A��Bq־?Q��B�~;BIlB�A XB
;ZB���@�aB��3@4�BguMBB��B��4B��AHDB�eA|��?Q_yB�Lr@�_uA�zxA(v�B x�?���A)#SA��=A���A���@�4|By��B��QBF�zB_U B7�>B(m�A�H�A�A�T�B,�'B��B�dBC�Ao�0@�M�B8�<B'��BE��B$��A�9�?��MB$�AS
@h��@�?�Bc�,B͌�A�cAD��A�gB�6nB]�#B.+�B�)�A���A�8B��A��8B���?��A��YA"��A%�%A�`,@�vlA�_A��`ACB}*B��YB�8�A�.�A���A�Bf4B%Q@y�e@��A�OXB�|B�_A�>�B�[�Ar��@̦�@\{OB���@5u'A7$�?Z �B���A�eB�*aB�zBbBBu�B�h�A�OB9�_Bƀ�BbM?�\�A�&�A�ŽAI�@��n@/�B���A���As��@h]�BRɶA7�A�yB2i@��@�0VA���B�PA���Bl��A`K?:7A*YbB{�B��?�l�Aɭ$A�&B�6fBlSA��B/Y�B��B�3�@�"rBI�B�B�p�AiRlBm��At֚A���B��B9�B�X!A[�ZB�`�@a�%A��$?C�B�t�ACBw�UBү-B{VA�GB�c�A��oA�|*B��@�ʃBRR�AwPDBR�EB�G!@Ŋ�A
R�A ^�B�
:B�(
@�KtB�w�B�`�A���A�KB*�B�zsBDuhBFqB>"@�ZBI�A�A��UB{s�A�yLB̨{A��A}��B Y\BHoBi3B(bA���AЂ[B���Aw��A���Aj�A�_B�3!B��|Bu�`A��{A��;@��@A�!B&<uB,gB��XB,��@J��A�7oAk	@Q�B}݉BJ�YB_�4B`��A���AwmB��KBȘ`Bs8�@(B״uB>�Bm_B[s�B�P�By�(B�OB}�A�1"B��ATGBL9qA׏:B.UB���A���@LhbBև�As�yBthB�B��6A��A��>B��A�6�Bwk�B+̏B�8BL��A�B��dB�gBJV�>�P�@�8�A�fhB�2A�?�B�

B��,B���AK�qB�X0B��O@��5B=�A�#VB�n�A�+B�kB�X�BycmBY %B��=Bg8B�5=@���B��PB�JWB���Bc��BN3cAScQBZ��Aq�]@߼8@�.PB�_$AiS�Aj+�BVlB��sBAwvA�-A+��A��oA�}�A$�]B��rB�xB�GY@w��A���B<?'B��:B� �?m�LA�OB���B�nB�D�@Ң@#�SB��FB&�NBB}BȢB�8Bm�@���B��A�?�A���A��A+��AB�HA
�B�p�BsA5BX�B%�B)��A�KBo��B�L�A`B���B�c-B�
2@��B�6A?�BS�>BWߎB�h~B�7�A3A��BA�AAy82B�JB���AlC�B���B��-B�Bt��A��EB)�A��&B��A��eB��k@���A�:B�7�B�*B���A�d�@�CCAʡ�B�jBX�Bu�DA2?�@���BTBF"BnPdB2N�A쉭A"+lB#-�Ax,�AC��BȑB���Al\�B�Ժ@boB�u9A��#Bu#�Ad�MB��CB��A�K,B;?�@��B�*LB�u�At<A�C�B��A�=AgVB�+�Bm��AY��A:��A�wB��	A�J4B�{B���Ag�'BMQB~j�BS:wB��B#}�B24�@���@1uiBe��@C�\B��B���B���B��8By��B�s
B�B�v"B(	_A.AB/:KB�fBM"�B��A�^`B~�B��yBK�B�FBO?A�{XBR	1B���A`��Bc6B:�{B��Aj�RB��=BQwB�%o@�CyB'B�PMB��NB���A�d
BV�;B˫�A��B �A*.A�YKBW�B ��A��JA!C�B��AbBl��B�/B�<}B�љA��`BRL�A���AHL3B�u�B2B㱵A�VnB�r�A��A�^^B˵A-^�Be�@B�IBt�[BR�:@ƉCB,�-Bc&@{?�A�p�@�9Bb\A{�8B��uAy~B�
B�B��A��&AV��B���A��B�1A�Q�A��VBc�4A�aB�+�A�q!B/Y�A��Bpr#Ac\�@�OB�5yB��By�A�PB���A�@�@�Z�Aw%�@��CB��A�@@A�dB�GtB�
B^ZHBWWBB�AE��A�WB%��A�a�B��?4V4B#�.B
�Be�ABo��AC��A�ՐA��A�A4�B�)k@��B��KBٽ�B�:BB���A��!A�KBÇ%BZ�B�ȓBH9�Bc��>;��A��Av�DBP��A~��A���A�ucB'�r@�h�B��cB�B%A�qVA֔	B�&A	�A�:.Az"hB%�BND�@�B�.A�skA��`AD@VBS��@�Z�Bl��AxHB���A2?�A/��A�L�B�3B���A�:sB3N�B@�EB�Z�A��@~�B(�A/�%Aq&BnoB��B2��Bx�B-͟A�"B0<B6�?s�A���A�5B�@�]BW�)@�i�A�{A��A+�SBe׎A6�|A�M�A�W�B��A�#B�(�B�gA@(1B�|�B7�BB8��A�MgB��AߐrBf!�A�B��+B#C\B͔B,S�Ab�Ag�'@I��@���A��CB��WB�]B\�&B���B-��AdzZBa7mA}o[B-�@�3Bj&BBq8B�u AW�#B�%)A�5�?\�1B�s�A{BF3�B���A�)Bs�Bd0B�C5Bx�A��A�~PB��KB�9B5�>5�!@��#B�'B!B5��@̉A�I�@˅A�qOB�0zB7ږA��	B>�WBs�BH��A�I7BS��B�rBVYoB_�B��PB��8Ad��Af-�A���Bݭ9B�>�@3NB��A��A�DOB��_B))sAz�B���Ar
B5p�B���A�3A4=B�҂B�m&A��A�B{wBļ�B�#T@F�A?I�B��A�/#BD�=Bax0B]crA��QB�#B�jABi�{B!z�Av�uB���A+v�@]p�A`^!A+^�B�7`>]��Arv�A�6B�0mB�
B��A{6�@h'Bi��A�LA�vB��/B̼!BI��A�,B���A�AMU�AZc�A�`Bu7�ByE5B"9^B�ȒB�	B��UA�R�A��B���?&�B+�dA��A�OB.�B��qB��A��<B�(?\B��*B�[�@�UB�שAh�jB	�A^N�?ʘB�@B#�B;��A^��AC�Ab��Bf�B�G#B�0�B��[@5DB��Al8@B�+B��A�(�A�E�B	)NB�mB��C@N/@��B��"Bb�A� AP�B�1�BU�BǨaBm�B��As�_B�?B|�Bח?)3?�09B�.�A6uPB,K@IA�A���@�|{B�S�Amw@-y�A8Y�A�a&@EnB+�A3
�@՞�A�݁B>фB3�TB��)B!ս@9@&B�_Bg��B*3`B��@A�
 B���B�B�΅AhGB�BSBɡB��zB
`5B?1�A3�A��B�bRB�&w@I�B���A˗�A�qA)�?KumB��WA7!�A��A=0sB�q"B�b�A�g�B� BBuB�ȒB�*B��?ỎB�a�?��IB�*�=T��B�gB��
B�`B�q)@�M�B��BA
�\B��$B�y>B7�A�F�By�8B�[�A��AflXB�FSBE�tB�qfB(`A�C�A� �A�+�Auq~BϖB �B�BB��$Aq�D@���BkʈBn��A=rA�`�A�hB�KB<R-BXe@|�vA�ӍB�O�@��"B
*�AǏ�AܳMB���A��}B&YBc'B��A��"B�n B�^�A��BM��BGLB��Bυ3B��A�;�A���A{�[B�?V�YB���A��B�8B��@BE{�Bn�BZ��A�
VBQ>NB+z�A��&B�O%B��AB��ApB�{A�65B�ҔA<�RB}f	B�B���A��iBJ�B�K�APl�A&{MAÆlB��B��AX|�@[�8B@P�B��5B�؉B�'@!�qB�)-B�u'B��QB�
@��]A�R?HώB$ՑBp�@�}xA�t�B�|KB���@vUB��)B�o�AqjmB
p8B��<B�\@�x�B,�B�
_@ؗ�B�p�A4][BHQ{B�{B΍B��AB�!B�,8A�|@v�uBlR�B��@#oB֮dAD��A=9hB~�AX>uA{+Bv��B|�^A��B}�>B�0YB�^�B4�AO�A;~B2B�ɬA��+B�+�A�B���B5g
B
(B��B���A)�?3bB
��B�@'Bg6KBY�A���@�ёB�1�A�f
B��5A{F=B�P�BA4Bu�lB
OB�VB�
7B*5IBc�A�.~BjeEA��NB���@l$rA+4�A��BӘxA�vB{��A+�A�
�A^آA�%B�BB��A��CA��rBͺ�A���A��jB_ȄB��B�J�A�4A��~B�AB�BYI�AʉuB"��A)��Ar��AӬ�B|fTA�t|Bb BڍBStiB�MOB��iB�FB���A1�zB'g1B�Bd�}B_��BH#�A���A`��A՝�A@˲�\O�Aá�B?C)A΋#B�\B�5�B^�%BX�gB���Aj�B�{�B��\B'�XB�d@C�Aݍ�B��mA��bB�ϢA���B�Bi��@c;&B�W�A�7mBejA��2Bv��A�9{AZq�A�O5@�f�B�"B?&OB��.BY�2B^BB�){BB�+B���@��A0wB��eB�@�A�NB��dB��}B�aB��B�yIB
I�A�@B�A�A��A��V@���B�tB"6�A���B5R�A*2\BF��A��}B#H&B�B��aA�rKB�a�AҝuB�яBl*B��BDLmA~|�AxsQA���@5@���AL�AG��@d�B%k�B2�{B��]BAa�A��A�{A��AmGdB�B�G2B�?lB
/BB��mB�B��A��BG�B���AѶ?@	i�@Q�A��dB��A�0rB�/QBڰ�B�ÁB)��B�zE@I�AB�` B�=B5a=A���@v�@B0�@��ACA8�B���B��KA6<kB�/�Af��A:0\B_�;A�]�@lByAQ%rB�d
B�mB��?-�;Bd�%B�1�B��V@�WB�B�G�A$l�@��CA{��@9�1AM@@쫒BxhB�L�B���B��FBC�A�U�AbKBл
B/|�B-xm@7�UA�O9B�f5BE2�@�q�B)��@O�yB4
�B|�>B<�Bs��@9SA`*`B��BрA�L�AіBB��[B��MB�<�A��B6jB�(4A��A��DB� XB�ZwB/F=B���@���A/��B�gB���A�7A���@���A�B��xB	�fB�RQB �uA��CB��A��@���A�J�B�� B�AB,�A���A�KkA���A�B`?�B�#sA�1-B?��Azh@�OB*�>BtHB��MB̚B��A��CB�OGBm�JB��BB��@���B�B�EBE�@~�B��?B�P>Y"SA���A�`�@mMB�~B�?hBdsNB��A$��A
�Z?�|�A>xB(e�@���A7�
Bz�GB(2BaVA6�EB�#@�� A�E~A�=x@dxNB_�B0dJB�VA{N)Bi?B0�/B�FB��?Bu�BF	B��A��RB�tdBz�AޠEB� B��/B5^.B�R�A�<Aq�B���A�V�AFl�A�k�@F�vBy�B���A�i�A�"TA4N3B)��A@�sB�Q�BF��B9.�Af��A5B��TB�2�@xB�x�?�#B!��@�&�B���B2�B-�]B��B-!�B3��B��B�%�A/�|A߹BQ�nB��Bq�7Bh^�A��[B�XnB�4�B�TA`1�A�A��cA�%A��AˏxB3��@�:Bh�*Ba�Ah;(B�G(@�w�B�RB8a�B��~BsCB��A���AVB'qB�XBMNkBB��AV̗@R�1B�6�A�,BuKB/&B$6Bdf�A�DB�WB��p@�SB5B�B��xAC}�B���A���?e�rB�'�B�/�B�0B2\@5Y�A��ByfBN��B��[Bݔ1B��B��+A��A�>$Bo�A��+BBZ�?.B�FB��{BU��A8�AV�Aܐ�A^
�@v�%Bj)5BY�GB:�A�8B%��A)o�A�K�AA(Ak��B��B^�@a�CBb7�?<LB��A���A=&B��6A��An8cB�!�A�;
BuDB�g7Bj�B!�TB��B][�A��$Bb��@~�FASXAGz�B@�B2�rB���@�@��.Bw2B�,|B.��?|��A3hB���A�BQ�B���A��BҍfB�\%A�HB��oBe�AgAB�E�AF:A��B�1�?w�DBo�A�NB��^A
l�A��A"cB��SB�2B(mB�d�AFmBv�vB���A�mB봾A��?���@3�zBz6�B�ܑB.��B���A��'B���B/�5BF�A�_B���Av��A*�RB4ֈB��B�g�@�7�A�\HB�ARB���Af?�A�1wB��B���@�_-A͊'A�B>��A�!dB�3]A`��@���A�B���B���A��,B��?�ZB�r�A�sB��MA��tB���BƮB�[N?�0\BqjhB�4B�|=B�TB2)DA2rqB%5A�A"Ap�nB?��A�_[Bh]�AuFoB�/�Bl��B&7�A�mB�QBq��A��At�$B�43By2�A�eB�MB<XB-�
B���@]/�A��B��@��RB��B��7B��A��A���@�?�@�%B
A�  BTGB�AGB1NFBH�7A�zB���?��BW�B�S�B�N�A&��AU�A�w�@ns�@�Q�A.UBERMB��*B$�<A�c�B���B�IAA�ybB��B|��?oB	N�A��UB��A��)B�iB�K�A`/B�-�A3BYD�AFl�BItXBB�K�?��kA��A5JB��BJYqB_s�A�P�A:i�BrׁA��dB8FB�B��
B&�tB��FBcyB���BR�DA��!B�**B��1B�$B��zB;��A	E(Bn�mA�UBO<�Bk�EB��iA"�fB���?g��A���A�@�A4Bk�uA�cA�2cB�|�B�P�>!l,A��%@ԁ�B��+Bx�B6�B�݇B��\AybB9�A���@��BH��A��>B>��A��BE8(A_��B��B�A�"BS4@B2��A/�A!bAnD�A���A�B]��A�8iBpWB:rSB*��@aBiBRZ`B���A��A�QB6�A� }A��B��B�y�A�xBF�A*ԇB��Bw\�@{�A�d�B"�BCU]Be#kB\S8B�A_=B�dA��-B�b,BkmBn�B0�A�6;B�B�e�B99ZBE؄B��A��AX8Bm�yB�h�A��QAx�B��nB�zBC�IAm!A�]B3+zB�6�B��AkB�()B���B�<B��B
W	@��:B�~
B�!]B�O�@��sB��A��oA	lJB)��@;B'eBBB,V4B(BNj�A�fkB�ZB��/AgqeBz�A�ԕ@Cy�B��B���B���AcrA*�B�[q@�A�&8B�~]B�GB�ڍB�R�B�M\B��A`S
@PHBX
@�dB���B=�?J�
BSK�B4��A��A��?��B���A�yB²@A��nB�VA���Bl�gB+&B��B�OB��RB�b�B��7BI��A��)A���A'w=B�I�Aě^B�7�A��B�.B���A�Ap�fB�܍B�qA�*A���AaόB�n�A5/B�yA��HBV�
A9��AC��AJ @�B���B�ۆB��LB��Bm�A��B���BA�9A�pB�yB�ilB��iB�RB�Y�B<�'@B�A�TMBy.aB��WAPzA��CBK�AcwpB車A&wiB;�DB�-�@q��A���A�^�Bӝ�BzeB�J5?SkAP�lB�gB{�[B�Ù@jq�B�WBhCGA��jAA,�@��B(��@j4�Bl�A(��Bb�5B�>pBQ��A�/PB��@A�EkB�1Bn�yA/lA8�B�A_k9BÊeBV_4B8S�A>B$�]B\,EBRA)B��A:�A?g�B�L�?r��A�/�BI$Bf�B)X�B�A�@�Z�A�f�BgB�CKBk�dAh̒B��A�?4Bn"�A�OB_E0BDςB�%B�_mB�+A��qBn�AV�yB
{|A3/�B͢B�LB���BM,�A���@��@'TOB���@�o�AC��Aq��@9��A�]A��BX�{B�BA�yB���AiyQBg{�@�X�A�I�@�	@dm&BMo�Ag*�B��A�@�A��B�[�A��A� Bh̎B���@�\c@G�B"�B�3=A4E�BW�vA���B0{+A��sB�ӄA��:B�OqB���@���@��A��A�.BЅ@gd�B�ćA�G{BlA͖A��@Bsq�Ax��@�[[Bmr�AO��A�u�A�U<B��A���AS��A~^A���B��pA�6>A�w�A���B�&JAs��A#�B��"B�?aB�f�A��A�Ao�@o`�?�B!rB�J�@>)B�;�B�Y�AB'�?���B��Am.�A�WA��jB�D/A,��?���B�PB�pWB
�@��?�n�B�`�A}�XB��a?���A���?�>/�=B��An��B���A۶�A�fLA�1VA�A��6@���@�lB@��@�m�@���A�xB�	�?GT�B�eB!h/B��V@�*WB��^B"B�B�A���A�_TB�GA|yB$�B8�B�NA��"B��gA/e@�lB<�B.�A�A;�*A�dB�d�B���@<TB��!A�z�A��:@�<:@�BOR@��Ar B��B��@фB<�'BO+B���A	|J?8KA�.[B:�0BE`3B/nB�ETA�,B�/pB� #A!�B�F"BrLQB��PBP�!BS~B�ϑB铊A1@�B
i�A4�B�CBJB�:�BX��A��@�܃BjpB�A8�~B��^B�SuB~�B��TBϛ�A(PgB{61A|�B-�A!�p@��{B@ʻ�BP�XBp�@�s�A-	A�ZA^dB��B�kuB���B7hfB��@	(�Bl��A��AAɑB��B�2B
>�Av��A��9?�$Bh1B8�BI�A�pA�h@���Ad�2BZB�dEB�}B�52B�ϘAqyxA���A�;�A$��A`�aBJ��@��1Az�xB��@�F[B:2wB(J@Apw]@��?B�T�B��BBt%8@l��A��B=�A=��@�Y�A�%�@:�>B�@�B%@]At��B�B��B��yA� �Bݖ�AAe_Ba�BP<B�\�A���B���BO�=A	��Bk��A���@#VoBHu�B��Bl2BwKB�NRA�_?B�����H}A�^aB��Bn�&B��BqxA��vB�v<A��&B�.�@U�cB��XA��+B��A)��A@9CB#-�ALD.BԀ�@%�iB&duB7�pB�k�@�oBl�YA��gB!IpB�z�A�nNB�-nB�n�B��5@ۊ�BMN`B�H�B��/A��AWE�A��YB�B��BW�}B
�	A  }BZ��B4��A�A��A���A
�LAk�"Ba7�B`�3B~�yBpeT@bsGB�O�BM5'B�RB��A	�ArMNAST~A�v'A�4�B�iC@xz?�NoB��V@���>�tB��EB�mB�BՂ�A�R�AX�B�BЮ�A�̼A�xB,��B�srA���B���B��B���BJ{�@��	AY��B=ByTBOфB�J|B��DAO�B�*�A�]�B"�DAӃB
ՐB�L/B���A1B�_�B��xB�N�B?�gA/aB�y
B<BA�!�@f�R@��A{ΓB�I�B�
A�vB�[SB�B��A�e6A�F�B��;A�"�A�%@�H9AF��@_G@J�K@��vBj�XA��%B��AQ�=>p6
A�dB��]B�\�A���A�O;B��pB
�?B�kOA��B��@v��B�N�?�2�B��BD
&B�OB��\B$j$B��@�oKB{DuB�A��A��A�(eBa�fB��wA�4Aj3@>�qB�ClB���Aר�@,g�B�	6B�B<��A�yKBU2Bwz�A��#B�.�A9(�A(@B�B��MAC�YB�>Br�3A�ІBo[B��B��MB~�B���BA�JBs@ތ�@�v"B��?��IB4��BE]zB�k!?�#PBq@vB�ɶA���@
y�A���BR�B��zA<އB�[�B-�wA�)A�tfA;�B`C�BK�BJK�?�A���AB�A0d�Ad�_@a��A}.,B�x+A��
B��B�@�B��B��A��B]�hB�~�Bc|B$5%BE5(B�A�9�A
�A���A}��As�A��wB@?qB9F\A���APFB��B7�:Bc��A FhB�n�A鈏B�'A\ARB�3�?_,>w}�@h#gB�DAfFVA��A:�~B���A��B���A,�=A�p�@�2B?AB�fB�xB:�GB��<@�XB
�zBW,+Bg�@��rA�/1@��mB��B��A)��B�6�B�r�A4�hB�5A��0A��	Ak�$BX�AU/�?�8�B���?{>"AQ��Bx"�B	&�B5f>BR�@BG��B�[�B�f{B
|mBdJ.Ba`EB��\By�mB���A�@�B/�=Bm��A_�A�@�B�p�B�t,@�B)gjB���A��BOyB�B�B)L�@S�QBa9B�c�ARg�@�JB��Axf2Br��?�fWB��4B
8�@�3A�Bt0RB��@*�A]ƀ@���B�2�Af�<Bg��A���<VBB�)BA��A�EeB�+�BѺYA�O&B(�SB��XBbƃB��]B�utB��#BX�?���ANy�B#��A}3Bh�BPB�A�KjB�(RB��A2�1B��B�!�B�܎Buw�@��	A@�B�qBzAB�
@�=�B�\~B���@��A�RB��&B��B�aBPy�BM�A~��B�AB`�Ak�A1RBC�B1�2B�q�A��\B���A�4�A�Aܩ�B��"Ak��A?=�AX�A��A��CB�I�@��@�[�B˜�A��AbG�Aj�'Ax��@��s@.�Br�RA[��@c��A��A_\�@vlB~֋B�� A7UBO��A���Aw`B��rB��uB)��A'A��B�pB`AtB�K4A�&�B��@��B�A}��Ato�BJ�|B�/'B�>�A�N�B��B�kB>�^B��Bp�qB��WB?��@�^
B_B?B�PB;�nB�v{A���?J�}A��B#*y@<^A�A�A7-�A��AJ�B��cAc�A��BNx�A��?Aj��=,Y�B☌A��A���BoB�6;B���A{U�BQ��A`įA���A�,�A�
UB%A�AQ�B�.�Bk9�AS�A��CATP@B���Bz�rB�LWB�B_��AB&A/�TAR2�Aj|AƧ�?�w�BQ�@��*Bdf�A�z�A
�;B:�1B�q�A2^B��!B�ˍBe�A���BޓKA��GA�V�A*ƇB�…BW�\B��|B�GB��A�P`>X<�A��UB��@��BtR�@F��B���A���A�- Br<JA���A��B��Bq�jBR'�@� �Aaz�Av�B[��A��8B7u<B|��A��fBqZ�B
��A�}BJ�oAO�>S�B͠BSJB�^B�B��A�k3B`F�B�\�@TA��@v�!B�K�B;A+�A~�A��~B��B�bB�B[�dB
�%B�+�A�z�AIc�@�3A��B��AI��Am��B�O�BR��A6��B��A
MB��B�nB@�A˃\Br��B�gBAB�^^BE1�A�!�B���AW-j@�"�A9�QA.�QB�I�A��`A)b�B^^�B���B�AA,�qB�NB1�FB�DB"��A�IPBzB�@.\�A7�zBj�kB�GYB�B��B5�1B�C+BJ�"BU1�B×�B ��A�+�A&�@]��A$&BehcB<^�A��mA2�]B��B`K�A�A�e�A��gB�@rBS�B�5Bo�nB�d\B,k�Bt,�B�B�vOB���A�1Bh=AwαA���A�n�AGN8Bl�|B-�A�A�b�B�^�Bw�fB��rBd:Bs�B��iB'F%A�MB�%B��bB��\B�0B��A��A�UB��NBV��BYk7B��qB�CA��|BE�A��A��2A��KB�ėA�� BDjAB)v@��]B�,B�ӍB�o[B,�A'��A
�{Aa��A.��@�]�A�)�ASa�?j��Bc!pB9�DB�U�?�Ax��@6�A�{�AHϓBE�WB'�B ��@�S�B	�B�6yA`x)@��A�?ޏUB�3B1�B+�A��%B*Q�A�lB�UB��!B�s�B�@�m�Bo:�A�:�Aq�A��Br,BF�AB,_�A��CA��gBy��@�~�A3��A��rB{��A}Au�A��yB�?�@�lBFADB�1?��B}\AF�B�̍A���B�-#A�j<B�{Bw�B~Bԣ�A~�dB�`TA�}�@l��A4B�GB��#B�Bw�JBB1vBm�5AdNSB#���&ʉB�|�A�۸A���?���B�#wBp��@�аA�)B��B
�B��?¢�B.�j?�x�BX�uB�	�A�{�AREB&�B���?��tBB��A�НA��YBb��A�2�A��Bu�*B��zB���Aب�B�s�@�zB���Ag�B�TbB��:Bv]�B���BB��@�3�Ajy�BCxB�qA�l�<�_B��AwB�BB2�A*B�B��A��&Bh~BDb�AE]B�X�Aũ@!�B��+B�X@>���A���@�MAB�bA�oB���A.QB�hLB�m,B�_BQ-�A4�@C�A�ZQB⟎B�;?Bm��@�7�AJj�Aͯ�A i�A��WB���A�cvB���A��B:fD@�̆B�qBf:�?��	BJP�A���A��7>�<�B9�2B��WA�A�x�B��y@�q�AP;B�'�A�b�A*�QAg9�A�I4B��zBV�A��ABІ{B�lA��(BpTB��
BV��Au�/B6\&A?�aBV�A<��@<�NB	ߐB�c@���?kB;ЀA�[�@�[�A=vsAY֯A��SBY��B�F@�rB�?A�EYBn�A�7B�A�bBM�B��BhA9q�A�iyBe�`AE��A��MBL
�BdBN�Bo��A�p@Z�B��A�-Ao��AAܘ@QgBD �AstzB�B31�A��B�;�B�{EB<s�A�"/B��A��"B�A&��B�0
B��FBq�B⩞AL�WB�<:B��A��Av��B�8�B�/
B�*)A)�VB 5DB�G2BD/�@޽�>�A�1B��wB�;`BH|�@3�>B|�A��A�ZBs$�@\�Bn��A�M�A4�A���A.0�A/B�B��{B
W9@Ϲ�@k�B�Y1B�G@�X,B��Bb3uB�^UBĺzA~�gB_:B�Z�A�a?Bٖ6Bn{BvABATgB�
Bo�JB݁�A갂B���BMB�aBZ��AC�BB7�BB�AzQEA�v�Ae�2B{�Bj�CA��2@���Ak�Aq��A�ڋB�MQA��!B\�ASPAmG�B���A}�A���B��hB[�OB��A9B�ŅA�-	Boo�A|�`A��pB=~A�V�A9�B��A-��A���@�@kB��"B�*�A�6�B\)B��`A��uB�Z�A$� B���AB`�TB�(B���Au�&B9�OAJ�.B�GB�KB�3TAN�@�,�@S�%B�BwA��@jK!B܂�AY(@��vB}�AgR�B|�,Ax��?��A���B��&A5�B�#�A��(Bu(AF�A���A��B�kDB�_�Aq��A���A���ApTBm��AQ�8A�'�BbbPB�+A���BĤ�A�p�A
aBv�B�VB��BD .BH�B7GTB���B
E�B��uBfT�Ag9iAH�VB9$zA��
AG�@�s@B-�&B���@��A�zBrx2B��kB�#}B�Ń@w	B�;BNvB]bB{�MA� B,�A���A���B��5B��,BL��@q>�A��XB(�9@��XB��>Aӊ�@�&�Bz�8A��?JB�z�A�EBt��AKS�B'�B�Ak
�BN�AS�A4!�@�qB,\Bl<B�d2@�jhB�_B/�2B��?�lB�c�B��sB�KB(qdBT�B�'B�DrB��UB_b�BP�8B�O)B�oBuֻA T%BOL3A;��B�@!��@V�9A��lB��xB9B��A�[Bo�B�B�dB3�?Bғ	B<�~Ag4A,ÃB�
B+tB�$�A�A	��A��A��3B��B]3�A�OBg+_BH�aB?��A|iB�.@���A�QBF.Bθ�A��A��A�ˆBǶBܜ�Al'A�3FB�B֩�A	)
Bl��@�mHB+8M?�)iA��KAx�dB�aA�V�Aˢ�@t�A:�AL�~B�F-@��Bz�B��3A��B�)�An��B�?�Bk�B83"Bׅ�@}�JB�%UB>�oB�xc?�i�A5|9B��X>7�MBQ��AW?8A���A'�B�@A�6BH �@��?���A��"Bg�ANJpBsd�A�o@B�%wBc�A&hB#��A�S�Av�B��B4�vBcKB�!B��Bᦚ@��BY��A�A�t�@U{)B(XBQ�LB�H�A�VB�j�A6�B�A{�A�A�)�A��B��4BEvB�dB
��A�7�A
GLB�B��;@�tA*Bf�BQS�AB��Bs��@��XBa��A
��A�N�A
L#B:4�B:B]dB4rOB-�jB���B|�uBY^B�	B?�At>aB�{B�d7B0�Ar
BꮂB�M�@��NBIo�B�hBVr6Ac��A�cB��Bo�eB�WgA�QB�sAX�uB��B�:mB�2�B�Y�B�
]Bܶ�Bs:�A�V{B0�9A��QB5�HBR�nB�q�A%�3B�E3B��
>�?�@��B��@A)jB� ?<C�A���AK�B�<�A�XB��BB�,B�B�$�A��BO�Bl�B9�JB��JA�Y}B\��B��B}ڧ@N3�A��B�k�@
z5B4aB�6�AbI�BWwB�-B��A��CBSI<Bh2TB}�B�;�A&�A�UAԥ�B-��A���A�tB���@�b�B�~B�5A��;BhjA�h6B�gBe0�Aع�@͌B]f�A�zXBW3B�xB��B�7B�@BE�B*��A��A��B�2B�fAS.BfA=B�Az��A��Aq�B�jB{�B��}@��_B�b�B`X;BrxNB�!�A ��A߲�B��A��iBpDB��AD�B�N�A�B7�3B�u_B�r�AN��A���@�,�A;�(Bd��A�]�A�
�?X��A,��A⍐B�{BZBbh"Bz��A�D�B<ѭA*�A�B�vBp�B�U	B��YA�\�A��wBhFyBQ�?BJ�A]X�@�3)B�׉B�'B-@,A���B��%B�BP��A�"B�-�BQ4`B��1B��wBх�A�6�A7�R@�J"B4sB�[B�@%B���A�	JBֵ�A&`B~�B�0B"�B4	%BO�B�"B�cNB��kBfݓB��&A�8�A�?B|�;B�\#B�ڍBǪ�B�wB{�B'��A��p@[�@B��A<�
B���B�5LA�5@B��2B�~WB�lBׄ7B��B,$'Bt�7B���A?��B�KB�7�B��BÙGB�.B��Bb�'B�WUBo'�A��BkrA��nB�_�A@��@�wXB.��A�W�A�ҍB���A�ۀB'GB&��A��AB2��A�|kA#&@M��AW�BNnTB�[�A���Bk�@B��EB���A��)B���AL�.B��vBg�A�;�A=L�AW�1B7��B&�SBz�EB�Bs�A�uB]�?B�+&@�q~B���@�
EB�;B�oB�1�AQ�NB6ړB�B���B$DB�O0B�~AH�A�oB���A�oHBm	rB@�=BT`|@r,�A�@�FBǺ"A+KtBrA�wAK�=A���At��A��A-�[Bo.�A8�gBSnB<OJB�e�A��hA��>BxT�B�MUB��7B��A�|#A��*BjoqB�
B���@h��A�q�B��GB�	AO9B��B�B�
�B[��B�u�B��A�aKBG��B� ^B�A���A��B=��B�TB`B��B��7BݵA�)B��B�?�BBF��A��[Bu8$B���?�[QBG�.BAB�4A��e@�BB(B�6B �B���A=�B�\�AIyB��B�4�A�(�A��p@�|+B'�EB��A���B�AєKB�V�Ao��AԞ}A�&�Bص0B�B"�mB�܏BEBzB
XXB���?=�A��%AtB�5�B�c�A�;�A���Bv;)B1B7A�xB�B.�NBW�fB��sB�{�A��A��(B�IB�B���A�{=B�,BY�1B�X�B �9Bw-PB���A=JTB.�BFX:��WBU��A�2B�ΓB�1BJ��B^��?�}\B�?dB�OB�Bu�5B��+?��
B�vwB]�2B��BA��@[(CB}`fB�i]B��Bb��@��A�$B�3APM^B��A��yB�tBV
9BLy�A#�B�5AB�ɓBBW8�AF"�Aą,B|��@A�	B�A��?#zE?�+B�-B��B��1BǭB:�A4�3B�>�B��BB�vB�MCB�\B��6B�HBu�6B��A�#B�ܐB��@P�
A68B���@>$B��2B�JA���AƮ�@���A�BY�,BHw�A!��@@��@
�A��cA[
@���A߁BT�>�޽ATDHB)�B�ڏB��^At;kB3�@�-�A�rB��A>�-B�,�A�8A<gEB��-B�t�A%�A�mBt�FB��B
�wB��AbЍ@��@�qB3
�B�a�AQ9B� 7B���A�ۃB�7�AP"NB3��A>�BkkBN�@O?+B�$B�9JA�=Ayv�@NZBC�JBj��A�B�A�t@ؗZ>�{^B�?���AOBA��+Bp��A��@�	A�A�#�B��6B�q6@Y�KB��uA��@'6AG
�Be�BB�	�B��2B%�jB��B��W@���A�X!B��fA��B�3eB��)A��A�x�A���A@�}B�"B��BG�;B˒>B��`B�}B9��A�EB�A
Q�?Ur(B�*�Bȉ3BL.5AFFB��B�#IB��eAqW.B��B�4B6$�B��@@^B9�Av��A�A�B��B�fB2�I@�_B�dB�?XB���A]B��4B���A�B^�\A�VhB��JB���B��!B��\BlB��=B8/;Bw��A[�Bǎ�@�i�AĨ2A�YB��LB|�qA��Be�A6�Bl�B�pB`��B�T%B�g�B3�A�J�B��B��%B�@B��B#��@�5yB��@�HB�eB`�?B�BZmoB���A(BZmBIT\BSB�A���B%�.A��IBA�A5�4B�
BLw�B��rAP��A8P>B��+@�ӜA:-�A��-B��
BzÅB�-RA�
�A\+BԝBw�XB�bgB��;A�y�Be/"B�B/J�A,ǂ@X�#By�YB���AqʚALj�A���Ah~�B���A\�A\�A�/B+�7B�A�$�A-�AuQzB��½�gB&EgBߦ+B?��B��MA��!B�URBP�UB��AS�0B��MB�'�Ahu^B�`PB�0B�ZBY̓A�K`B�^B�ŖA�[YA��AαBd.NB���A\�NAM�BA�y�A��A�?BA�DŽB^�BLkB��/B��9Bt�BA� B��@P(�@�W�B��A%�	@�sB`(	BK�WB�5�Ap��Ay4�A�B�B �A	�
B��IB�^B���@j^�A��B��DB��B���A�4�A���BG/eBwm�AhiCBC|nB�FB��OBI�DBT�BE��A�:�@8<CB4	6B�"B��VBt�B�K(BL�@@�WOB!$%B�vBd��@�֏BG�EB��gB�m	BB*PA�=�B�e�@0+ZBơ|AK�B"�NB.9bB�>B�Bx'B��:B��RB5+9B��A&!�@��B��A�B�AB-5�A2UBk�TB��B��UA��BԠ�A
�PB�4B���A�kBF��A#�BF��@�@��BB��
B/*2AMC~BB	@B�@Bh#DB��kB���A�hHB �s@��
B�?�A��A�?B��Aֿ�AF�?�AtBUn�B�HBȘ�B��iB�ZIBnrtB�#+BCB���A��dBDZ�B
�B�
iB�[AN��@o2LBC#B�E�Ak�BP�	B�Y6B{*;B�MA��*B?�cB��B�eB���@x�jBJC�B��@�6eB$��B� B$�ZBA��A	�BIZ�AV�KBG5A�$B�z3A%�YA��
B��BB��B�LB�PB #B���A�R�A���@)�?B�X�A֖�Bww�A��;B���A�v6B�m�A��B{�?B֓}Bas(A9�\B��B�B��bB�D+Bi:B	[Q@��B�T%B���A%>A���AA�B�XB'�DA�e�A�4B�.B��)B�FhB��LBp��A�zAhEB� $Bd�BJX�A-E�AQ�B4��An��A3��B�6�B��A�
�B�9;B��B��CB�B�
@Bˊ
B���A�w�A'�B`�jB<@�Av8B�1�B���A�-BB�B+��A
�xB&X�Bx�4B=��A�RB�
�?S}XBcm�B�?JB�LBv��B��BHe�B�KB$A=�,B��zB�&3B�ceB��E3.Bi��������R(�4R(�4R(newsnews/n/alice/usr/spool/news/comp/sys/ibm/pc/misc/9629v/v14725/79369Path: alice!andante!mit-eddie!wuarchive!zaphod.mps.ohio-state.edu!mips!cs.uoregon.edu!ogicse!intelhf!ichips!inews!adara!wwitt
From: [email protected] (Wolf Witt)
Newsgroups: comp.sys.ibm.pc.misc
Subject: Re: SCSI and MFM in same machine
Message-ID: <[email protected]>
Date: 7 Jun 91 17:52:58 GMT
Article-I.D.: inews.4626
Posted: Fri Jun  7 13:52:58 1991
References: <[email protected]>
Sender: [email protected]
Reply-To: [email protected] (Wolf Witt)
Organization: Santa Clara Microprocessor Division, Intel Corp., Santa Clara, CA
Lines: 49

[email protected] (Thomas Laird) writes:
>Hi All
>        I have just gotten a 386-20 clone that has a adaptec
>154XB SCSI controller and a 40M drive in it.  I also just happen
>have a 80M CDC MFM drive sitting on the shelf collecting DUST.
>
>Is it possible to put a MFM controller alongside the Adaptec and 
>run both.  Any recommendationare VERY welcome.
>
>So far I have replace the cripple bios to the current one IE:Award 3.03D6
>with out the drive tables to Award 3.11 with them. Still get unable to 
>talk to the MFM Drive using existing MFM controller a friend lent me.

I've been using the AHA154?A (I forget the exact model number; it's the one
that includes the floppy controller) together with a WD-1006 MFM controller
for over a year now. Everything has been working fine. For reference, my
machine has a Phoenix BIOS and is runnning MS-DOS 4.01.

Since it's been quite a while since I set this up, I don't remember exactly
what I did to make it work, but I remember that it was quite simple. I
believe the manual that comes with the Adaptek controller has a section that
discusses how to make it live together with some other, non-SCSI disk.

For whatever it's worth, here is what I do remember...
If your Adaptek controller includes the floppy interface, disable it or
move the floppy controller's i/o address. Check the hard disk controller's
i/o address and make sure the SCSI controller does not conflict with the MFM
controller. Check interrupt lines; again you don't want any conflicts. Change
the SCSI's IRQ if necessary.
Sorry, but I don't recall the i/o addresses at the moment. Although I do know
that my SCSI controller currently uses IRQ 11.

Once the SCSI controller is properly configured, set up the CMOS, so that
the first physical drive (drive 0) is your MFM drive. The second physical
drive should be set to "not installed" in the CMOS. The BIOS on the Adaptek
controller will manage the SCSI disk.

Note that if you have two MFM drives installed, then the SCSI BIOS doesn't
cut it anymore. In this case, you need additional driver software from
Adaptek to make the SCSI drive work with the MFM drives.

Hope this helps.

Wolf

=> Wolf Witt, Design Engineer     <=> You say there is a bug in this chip?   <=
=> i860 Focus Group, Intel Corp.  <=> No, no, you don't understand...        <=
=> [email protected]         <=> This is a feature!                     <=
=> Intel knows nothing about what I say or do, but they pay me anyway.       <=
h	@D���1�R(2�R(2�R(rootbin/n/westphal/etc/mtabv/v14725/7903010/usr/dev/ra02/tmp/dev/ra05/usr/wtm/dev/ra03/usr/tdk/dev/ra04/netstat/dev/ra26/proc/dev/nullo�Q���+t��R(�-(%�R(wtmbin/n/westphal/netstat/bin/dailyv/v14725/7913011date
date >&2
set `date`
for i in 1 2 3 4 5 6 7 hg hg2 hklab
	do cp /usr/wtm/netstat/${i}raw /usr/wtm/netstat/tmp/raw.$i.$1
	>/usr/wtm/netstat/${i}raw
	>/usr/wtm/netstat/${i}raw
	</usr/wtm/netstat/tmp/raw.$i.$1 sed "" >/usr/wtm/netstat/node.$i/raw.$1
	rm /usr/wtm/netstat/tmp/raw.$i.$1
done
for i in 1 2 3 4 5 6 7 hg hg2
	do grep " F " /netstat/node.$i/raw.$1 >/netstat/node.$i/config.$1
	cat /netstat/node.$i/config.$1 >>/netstat/node.$i/config.${2}$6
	grep " [AI] " /netstat/node.$i/raw.$1 >/netstat/node.$i/info.$1
	cat /netstat/node.$i/info.$1 >>/netstat/node.$i/info.${2}$6
done
/usr/tdk/bin/size0chk /netstat/node.*/raw.$1 | mail mfj wtm
backup backup /netstat/node.*/raw.*
grep " I bbox" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 > /netstat/daily.bbox
grep " A .* MAJOR" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.alarms | mail mfj wtm
grep " A " /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.minors | mail mfj crk
wc /netstat/daily.alarms /netstat/daily.minors | mail wtm
grep " [IF] " /netstat/node.*/raw.$1 | grep -v "unixcscp: Host alive" | grep -v "server .* available" | grep -v "server .* removed" | grep -v "unix9cscp: Host active" | grep -v " I bbox" | /netstat/bin/printraw -g9-25 | tee /netstat/daily.info | mail wtm
grep "[ /]C[123456789h][g .]" /netstat/node.1/raw.$1 | /netstat/bin/printraw | mail wtm
v:�����e�03$SZ4$��R(wtmbin/n/westphal/netstat/node.3/info.Mar1989v/v14725/7923012604736525 55282927 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
604736527 55283062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
604737375 55333928 A SET MAJOR: tdkp: trunk 3 is dead
604738000 55371456 A SET MAJOR: loopp: trunk 3 appears dead
604757594 56547541 A SET MINOR: CPM422 7: Cables disconnected
604757599 56547806 A SET ERROR: CPM422 7: Reset errors
604757691 56553349 A CLEAR MINOR: CPM422 7: Cables disconnected
604757739 56556234 I unixcscp: Host alive in slot 7
604757768 56557968 A SET MINOR: CPM422 7: Cables disconnected
604757874 56564304 A CLEAR MINOR: CPM422 7: Cables disconnected
604757975 56570377 A CLEAR ERROR: CPM422 7: Reset errors
604758006 56572223 I unixcscp: Host alive in slot 7
604758704 56614111 I unixcscp: Host alive in slot 7
604758704 56614119 I server sfr removed from 7.5
604758704 56614141 I server sfr available on 7.5
604758825 56621433 I unixcscp: Host alive in slot 7
604758826 56621447 I server sfr removed from 7.5
604758826 56621471 I server sfr available on 7.5
604759026 56633480 A SET MINOR: CPM422 7: Cables disconnected
604759031 56633743 A SET ERROR: CPM422 7: Reset errors
604759231 56645754 A CLEAR MINOR: CPM422 7: Cables disconnected
604759266 56647847 I unixcscp: Host alive in slot 7
604759266 56647854 I server sfr removed from 7.5
604759266 56647883 I server sfr available on 7.5
604759292 56649458 A SET MINOR: CPM422 7: Cables disconnected
604759385 56655001 A CLEAR MINOR: CPM422 7: Cables disconnected
604759422 56657228 I unixcscp: Host alive in slot 7
604759455 56659225 A SET MINOR: CPM422 7: Cables disconnected
604759528 56663582 A CLEAR MINOR: CPM422 7: Cables disconnected
604759628 56669654 A CLEAR ERROR: CPM422 7: Reset errors
604759657 56671377 I unixcscp: Host alive in slot 7
604766873 57104618 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604767010 57112800 A CLEAR ERROR: CPMHS 18: Reset errors
604767052 57115309 A SET MINOR: CPMHS 18: Fiber disconnected
604767056 57115574 A SET ERROR: CPMHS 18: Reset errors
604767518 57143292 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604767956 57169597 I server tempel removed from 17.7
604768061 57175885 I unixcscp: Host alive in slot 17
604768061 57175907 I server tempel available on 17.5
604768317 57191229 I server tempel removed from 17.5
604768378 57194910 A SET MINOR: CPMHS 17: Fiber disconnected
604768382 57195174 A SET ERROR: CPMHS 17: Reset errors
604768712 57214974 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604768808 57220721 I unixcscp: Host alive in slot 17
604768808 57220743 I server tempel available on 17.5
604768879 57225006 A CLEAR ERROR: CPMHS 17: Reset errors
604769279 57249030 A SET MINOR: CPMHS 18: Fiber disconnected
604769345 57252990 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604769348 57253122 A SET ERROR: CPMHS 18: HIB Parity errors
604769438 57258520 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
604769442 57258786 I server housay available on 18.5
604769480 57261042 A CLEAR ERROR: CPMHS 18: Reset errors
604769743 57276854 I server housay removed from 18.5
604769770 57278473 A SET MINOR: CPMHS 18: Fiber disconnected
604769774 57278736 A SET ERROR: CPMHS 18: Reset errors
604769797 57280116 A SET MINOR: unixcscp: DEAD HOST in slot 18
604769823 57281640 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604769849 57283224 A CLEAR ERROR: CPMHS 18: HIB Parity errors
604769907 57286690 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
604769913 57287032 I server housay available on 18.5
604769955 57289561 A CLEAR ERROR: CPMHS 18: Reset errors
604770358 57313763 I server housay removed from 18.5
604770383 57315300 A SET MINOR: CPMHS 18: Fiber disconnected
604770388 57315565 A SET ERROR: CPMHS 18: Reset errors
604770416 57317286 A SET MINOR: unixcscp: DEAD HOST in slot 18
604770419 57317413 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604770421 57317545 A SET ERROR: CPMHS 18: HIB Parity errors
604770502 57322449 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
604770512 57323016 I server housay available on 18.5
604770550 57325332 A CLEAR ERROR: CPMHS 18: Reset errors
604770550 57325332 A CLEAR ERROR: CPMHS 18: HIB Parity errors
604770795 57340009 I server housay removed from 18.5
604770821 57341569 A SET MINOR: CPMHS 18: Fiber disconnected
604770825 57341832 A SET ERROR: CPMHS 18: Reset errors
604770832 57342246 A SET MINOR: unixcscp: DEAD HOST in slot 18
604771048 57355179 I server tempel removed from 17.5
604771109 57358860 A SET MINOR: CPMHS 17: Fiber disconnected
604771113 57359124 A SET ERROR: CPMHS 17: Reset errors
604771309 57370872 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604771407 57376710 I unixcscp: Host alive in slot 17
604771407 57376734 I server tempel available on 17.5
604771452 57379452 A CLEAR ERROR: CPMHS 17: Reset errors
604771514 57383143 I server tempel removed from 17.5
604771753 57397536 A SET MINOR: CPMHS 17: Fiber disconnected
604771758 57397801 A SET ERROR: CPMHS 17: Reset errors
604771914 57407172 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604771989 57411688 I unixcscp: Host alive in slot 17
604771990 57411712 I server tempel available on 17.5
604772061 57416016 A CLEAR ERROR: CPMHS 17: Reset errors
604772152 57421471 I server tempel removed from 17.5
604772202 57424464 A SET MINOR: CPMHS 17: Fiber disconnected
604772206 57424729 A SET ERROR: CPMHS 17: Reset errors
604772389 57435684 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604772786 57459529 I unixcscp: Host alive in slot 17
604772787 57459551 I server tempel available on 17.5
604772857 57463801 A CLEAR ERROR: CPMHS 17: Reset errors
604794757 58778103 I server tempel removed from 17.5
604794810 58781329 A SET ERROR: CPMHS 17: Reset errors
604794903 58786873 I unixcscp: Host alive in slot 17
604794903 58786896 I server tempel available on 17.5
604794949 58789645 A CLEAR ERROR: CPMHS 17: Reset errors
604837061 61317327 I server tempel removed from 17.5
604837062 61317356 I server tempel available on 17.7
604861419 62779345 A SET MINOR: CPM422 7: Cables disconnected
604861732 62798091 A SET ERROR: CPM422 7: Reset errors
604863278 62890882 I server tempel removed from 17.7
604863747 62919036 A SET ERROR: CPMHS 17: Reset errors
604864079 62938936 I unixcscp: Host alive in slot 17
604864080 62938953 I server tempel available on 17.5
604864153 62943324 A CLEAR ERROR: CPMHS 17: Reset errors
604869752 63279371 I server tempel removed from 17.5
604869794 63281910 A SET ERROR: CPMHS 17: Reset errors
604869919 63289448 I unixcscp: Host alive in slot 17
604869920 63289467 I server tempel available on 17.5
604869932 63290226 A CLEAR ERROR: CPMHS 17: Reset errors
604871308 63372803 I server tempel removed from 17.5
604871348 63375234 A SET ERROR: CPMHS 17: Reset errors
604871484 63383361 I unixcscp: Host alive in slot 17
604871484 63383379 I server tempel available on 17.5
604871487 63383550 A CLEAR ERROR: CPMHS 17: Reset errors
604873286 63491541 I server tempel removed from 17.5
604873398 63498268 I unixcscp: Host alive in slot 17
604873399 63498298 I server tempel available on 17.5
604962751 68861321 I unixcscp: Host alive in slot 23
604962782 68863186 I unixcscp: Host alive in slot 23
604962813 68865061 I unixcscp: Host alive in slot 23
604962844 68866940 I unixcscp: Host alive in slot 23
604962875 68868819 I unixcscp: Host alive in slot 23
604962900 68870277 I unixcscp: Host alive in slot 23
604962931 68872160 I unixcscp: Host alive in slot 23
604962962 68874029 I unixcscp: Host alive in slot 23
604962972 68874624 I unixcscp: Host alive in slot 23
604962977 68874914 I unixcscp: Host alive in slot 23
604963008 68876774 I unixcscp: Host alive in slot 23
604963039 68878650 I unixcscp: Host alive in slot 23
604963070 68880518 I unixcscp: Host alive in slot 23
604963102 68882391 I unixcscp: Host alive in slot 23
604963120 68883468 I server tempel removed from 17.5
604963133 68884261 I unixcscp: Host alive in slot 23
604963164 68886130 I unixcscp: Host alive in slot 23
604963258 68891754 A SET ERROR: CPMHS 17: Reset errors
604963394 68899938 A CLEAR ERROR: CPMHS 17: Reset errors
604964867 68988349 I unixcscp: Host alive in slot 17
604964867 68988373 I server tempel available on 17.5
604967675 69156917 I unixcscp: Host alive in slot 23
604967705 69158732 I unixcscp: Host alive in slot 23
604967736 69160589 I unixcscp: Host alive in slot 23
604967768 69162462 I unixcscp: Host alive in slot 23
604967870 69168600 I unixcscp: Host alive in slot 23
604967901 69170471 I unixcscp: Host alive in slot 23
604967931 69172291 I unixcscp: Host alive in slot 23
604967962 69174144 I unixcscp: Host alive in slot 23
604967993 69176017 I unixcscp: Host alive in slot 23
604988759 70422361 I server tempel removed from 17.5
604990579 70531646 A SET ERROR: CPMHS 17: Reset errors
604990634 70534958 I unixcscp: Host alive in slot 17
604990635 70534978 I server tempel available on 17.5
604990705 70539171 A CLEAR ERROR: CPMHS 17: Reset errors
604991932 70612833 I server tempel removed from 17.5
604992019 70618055 I unixcscp: Host alive in slot 17
604992019 70618080 I server tempel available on 17.5
604992224 70630351 I unixcscp: Host alive in slot 17
604992575 70651417 I unixcscp: Host alive in slot 17
604992904 70671206 I server tempel removed from 17.5
604992940 70673339 I unixcscp: Host alive in slot 17
604992940 70673350 I server tempel available on 17.5
605026274 72674000 I unixcscp: Host alive in slot 23
605031618 72994646 I unixcscp: Host alive in slot 23
605031684 72998564 I unixcscp: Host alive in slot 23
605031752 73002681 I unixcscp: Host alive in slot 23
605032795 73065274 I unixcscp: Host alive in slot 23
605032966 73075690 I unixcscp: Host alive in slot 23
605033090 73083024 I unixcscp: Host alive in slot 23
605033469 73105892 I unixcscp: Host alive in slot 23
605033598 73113551 I unixcscp: Host alive in slot 23
605039717 73480819 A SET MINOR: unixcscp: DEAD HOST in slot 25
605040214 73510680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605040215 73510695 I server seki removed from 25.6
605040220 73510998 I server seki available on 25.5
605124383 78562580 A SET ERROR: CPMHS 17: HIB Parity errors
605124495 78569311 A CLEAR ERROR: CPMHS 17: HIB Parity errors
605128130 78787508 A SET ERROR: CPMHS 17: HIB Parity errors
605128260 78795295 A CLEAR ERROR: CPMHS 17: HIB Parity errors
605138195 79391590 I server tempel removed from 17.5
605140142 79508490 A SET ERROR: CPMHS 17: Reset errors
605140425 79525465 I unixcscp: Host alive in slot 17
605140425 79525486 I server tempel available on 17.5
605140459 79527498 A CLEAR ERROR: CPMHS 17: Reset errors
605225526 84633319 I unixcscp: Host alive in slot 17
605225718 84644835 I server tempel removed from 17.5
605225731 84645659 I unixcscp: Host alive in slot 17
605225732 84645673 I server tempel available on 17.7
605278089 87788232 A CLEAR MINOR: CPM422 7: Cables disconnected
605278128 87790537 A SET MINOR: SWITCH: Receiving out of range channel numbers
605278188 87794172 A CLEAR ERROR: CPM422 7: Reset errors
605278200 87794862 I unixcscp: Host alive in slot 7
605278203 87795072 I server sfr removed from 7.5
605278212 87795584 I server sfr available on 7.5
605278255 87798193 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605278480 87811656 A SET MINOR: SWITCH: Receiving out of range channel numbers
605278742 87827380 I unixcscp: Host alive in slot 7
605278745 87827568 A SET ERROR: CPM422 7: Reset errors
605278776 87829429 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605278778 87829564 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605278804 87831132 A SET ERROR: CPM422 7: FIFO synchronization errors
605278840 87833305 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605278916 87837864 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605279057 87846312 A CLEAR ERROR: CPM422 7: Reset errors
605281074 87967356 A SET ERROR: CPM422 7: Reset errors
605281195 87974616 A CLEAR ERROR: CPM422 7: Reset errors
605281343 87983521 A SET MINOR: SWITCH: Receiving out of range channel numbers
605281848 88013820 A SET ERROR: CPM422 7: Reset errors
605281960 88020552 A CLEAR ERROR: CPM422 7: Reset errors
605282226 88036524 A SET ERROR: CPM422 7: Reset errors
605282226 88036524 A SET ERROR: CPM422 7: FIFO synchronization errors
605282294 88040583 I unixcscp: Host alive in slot 7
605282362 88044708 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605282392 88046484 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605282529 88054740 A CLEAR ERROR: CPM422 7: Reset errors
605283384 88106016 A SET MINOR: SWITCH: Receiving out of range channel numbers
605284218 88156112 I unixcscp: Host alive in slot 7
605284389 88166324 I unixcscp: Host alive in slot 7
605284537 88175257 A SET ERROR: CPM422 7: Reset errors
605284700 88185025 A SET ERROR: CPM422 7: FIFO synchronization errors
605284828 88192681 A CLEAR ERROR: CPM422 7: Reset errors
605284828 88192681 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605284868 88195105 I unixcscp: Host alive in slot 7
605284950 88200001 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605285419 88228189 A SET ERROR: CPM422 7: Reset errors
605285560 88236636 A CLEAR ERROR: CPM422 7: Reset errors
605285916 88258020 A SET ERROR: CPM422 7: Reset errors
605286097 88268904 A SET MINOR: unixcscp: DEAD HOST in slot 25
605286692 88304617 A CLEAR ERROR: CPM422 7: Reset errors
605286887 88316292 A SET MINOR: SWITCH: Receiving out of range channel numbers
605286915 88317979 I server tempel removed from 17.7
605287119 88330204 I unixcscp: Host alive in slot 7
605287137 88331280 A SET ERROR: CPM422 7: Reset errors
605287168 88333150 I unixcscp: Host alive in slot 17
605287168 88333174 I server tempel available on 17.5
605287247 88337881 A SET ERROR: CPM422 7: FIFO synchronization errors
605287366 88345069 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605287464 88350949 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605287684 88364149 A CLEAR ERROR: CPM422 7: Reset errors
605287694 88364736 A SET MINOR: SWITCH: Receiving out of range channel numbers
605287805 88371408 A SET MINOR: CPMHS 25: Fiber disconnected
605287834 88373125 A CLEAR MINOR: CPMHS 25: Fiber disconnected
605289189 88454442 A SET ERROR: CPM422 7: Reset errors
605289208 88455595 I unixcscp: Host alive in slot 7
605289284 88460172 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605289378 88465794 A CLEAR ERROR: CPM422 7: Reset errors
605290212 88515877 A SET MINOR: SWITCH: Receiving out of range channel numbers
605291087 88568359 A SET ERROR: CPM422 7: Reset errors
605291087 88568360 A SET ERROR: CPM422 7: FIFO synchronization errors
605291346 88583934 A CLEAR ERROR: CPM422 7: Reset errors
605291346 88583935 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605292331 88643019 I unixcscp: Host alive in slot 7
605292417 88648218 A SET ERROR: CPM422 7: Reset errors
605292429 88648933 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605292433 88649142 A SET ERROR: CPM422 7: FIFO synchronization errors
605292600 88659175 A CLEAR ERROR: CPM422 7: Reset errors
605292600 88659175 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605293128 88690855 A SET ERROR: CPM422 7: Reset errors
605293334 88703262 A CLEAR ERROR: CPM422 7: Reset errors
605294166 88753159 A SET ERROR: CPM422 7: Reset errors
605294278 88759891 A CLEAR ERROR: CPM422 7: Reset errors
605294432 88769130 A SET ERROR: CPMHS 17: Reset errors
605294549 88776147 I unixcscp: Host alive in slot 17
605294566 88777182 A CLEAR ERROR: CPMHS 17: Reset errors
605294821 88792495 A SET ERROR: CPM422 7: Reset errors
605294933 88799226 A CLEAR ERROR: CPM422 7: Reset errors
605295404 88827475 A SET ERROR: CPM422 7: Reset errors
605295663 88843050 A CLEAR ERROR: CPM422 7: Reset errors
605295989 88862586 A SET ERROR: CPM422 7: Reset errors
605296152 88872354 A CLEAR ERROR: CPM422 7: Reset errors
605297233 88937201 I server tempel removed from 17.5
605297244 88937869 I unixcscp: Host alive in slot 17
605297244 88937879 I server tempel available on 17.7
605297798 88971108 A SET ERROR: CPM422 7: Reset errors
605297985 88982328 A CLEAR ERROR: CPM422 7: Reset errors
605298676 89023810 I unixcscp: Host alive in slot 7
605298677 89023816 I server sfr removed from 7.5
605298677 89023855 I server sfr available on 7.5
605298682 89024172 A SET ERROR: CPM422 7: Reset errors
605298845 89033940 A CLEAR ERROR: CPM422 7: Reset errors
605299102 89049355 I unixcscp: Host alive in slot 7
605301021 89164620 A SET ERROR: CPM422 7: Reset errors
605301089 89168652 A SET MINOR: SWITCH: Receiving out of range channel numbers
605301211 89175972 A CLEAR ERROR: CPM422 7: Reset errors
605302137 89231544 A SET ERROR: CPM422 7: Reset errors
605302143 89231940 A SET ERROR: CPM422 7: FIFO synchronization errors
605302535 89255436 A CLEAR ERROR: CPM422 7: Reset errors
605302535 89255436 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605303722 89326716 A SET ERROR: CPM422 7: Reset errors
605303722 89326716 A SET ERROR: CPM422 7: FIFO synchronization errors
605303912 89338096 I unixcscp: Host alive in slot 7
605303972 89341704 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605304026 89344932 A CLEAR ERROR: CPM422 7: Reset errors
605304026 89344932 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605304824 89392842 A SET ERROR: CPMHS 17: Reset errors
605304960 89401027 A CLEAR ERROR: CPMHS 17: Reset errors
605304962 89401106 I unixcscp: Host alive in slot 17
605305136 89411556 I server tempel removed from 17.7
605305145 89412100 I unixcscp: Host alive in slot 17
605305145 89412112 I server tempel available on 17.9
605305532 89435352 A SET ERROR: CPM422 7: Reset errors
605305788 89450664 A CLEAR ERROR: CPM422 7: Reset errors
605306091 89468863 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605306093 89468988 I server seki removed from 25.5
605306151 89472462 A SET MINOR: unixcscp: DEAD HOST in slot 25
605306215 89476336 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605306220 89476647 I server seki available on 25.5
605306396 89487156 A SET ERROR: CPM422 7: Reset errors
605306591 89498904 A SET ERROR: CPM422 7: FIFO synchronization errors
605306635 89501532 A SET MINOR: unixcscp: DEAD HOST in slot 25
605306703 89505636 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605306712 89506164 A CLEAR ERROR: CPM422 7: Reset errors
605307179 89534148 A SET ERROR: CPM422 7: Reset errors
605307391 89546913 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605307394 89547032 I server seki removed from 25.5
605307398 89547305 I server seki available on 25.5
605307608 89559948 A CLEAR ERROR: CPM422 7: Reset errors
605308589 89618820 A SET ERROR: CPM422 7: Reset errors
605308756 89628852 A CLEAR ERROR: CPM422 7: Reset errors
605308956 89640864 A SET ERROR: CPM422 7: Reset errors
605309187 89654724 A CLEAR ERROR: CPM422 7: Reset errors
605309854 89694720 A SET ERROR: CPM422 7: Reset errors
605310038 89705808 A CLEAR ERROR: CPM422 7: Reset errors
605311490 89792928 A SET ERROR: CPM422 7: Reset errors
605311754 89808768 A CLEAR ERROR: CPM422 7: Reset errors
605311978 89822232 A SET ERROR: CPM422 7: Reset errors
605312103 89829756 A CLEAR ERROR: CPM422 7: Reset errors
605312174 89833980 A SET ERROR: CPM422 7: Reset errors
605312400 89847576 A CLEAR ERROR: CPM422 7: Reset errors
605312427 89849160 A SET ERROR: CPM422 7: Reset errors
605312539 89855892 A CLEAR ERROR: CPM422 7: Reset errors
605313122 89890872 A SET ERROR: CPM422 7: Reset errors
605313937 89939823 I unixcscp: Host alive in slot 7
605313937 89939829 I server sfr removed from 7.5
605313961 89941251 I server sfr available on 7.5
605314437 89969814 A CLEAR ERROR: CPM422 7: Reset errors
605314542 89976150 A SET ERROR: CPM422 7: Reset errors
605314899 89997534 A CLEAR ERROR: CPM422 7: Reset errors
605315189 90014958 A SET ERROR: CPM422 7: Reset errors
605315481 90032514 A CLEAR ERROR: CPM422 7: Reset errors
605316095 90069342 A SET ERROR: CPM422 7: Reset errors
605316118 90070699 I unixcscp: Host alive in slot 7
605316291 90081090 A CLEAR ERROR: CPM422 7: Reset errors
605316728 90107358 A SET ERROR: CPM422 7: Reset errors
605316734 90107688 I unixcscp: Host alive in slot 7
605316871 90115938 A CLEAR ERROR: CPM422 7: Reset errors
605317450 90150654 A SET ERROR: CPM422 7: Reset errors
605317562 90157386 A CLEAR ERROR: CPM422 7: Reset errors
605317584 90158700 I unixcscp: Host alive in slot 17
605317763 90169368 I server tempel removed from 17.9
605317771 90169876 I unixcscp: Host alive in slot 17
605317771 90169886 I server tempel available on 17.11
605318093 90189198 A SET ERROR: CPM422 7: Reset errors
605318099 90189562 I unixcscp: Host alive in slot 7
605318205 90195943 A SET MINOR: SWITCH: Receiving out of range channel numbers
605318382 90206532 I unixcscp: Host alive in slot 7
605318480 90212442 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605318507 90214014 A CLEAR ERROR: CPM422 7: Reset errors
605318782 90230526 A SET MINOR: SWITCH: Receiving out of range channel numbers
605318819 90232752 I unixcscp: Host alive in slot 7
605318918 90238710 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605318944 90240282 A SET ERROR: CPM422 7: Reset errors
605319298 90261534 A CLEAR ERROR: CPM422 7: Reset errors
605319543 90276207 I unixcscp: Host alive in slot 7
605319545 90276318 A SET ERROR: CPM422 7: Reset errors
605319558 90277098 I unixcscp: Host alive in slot 7
605319594 90279267 I unixcscp: Host alive in slot 7
605319657 90283056 A CLEAR ERROR: CPM422 7: Reset errors
605340155 91513399 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605340157 91513534 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605340265 91519999 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605340267 91520134 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605363689 92925966 A SET MINOR: CPM422 7: Cables disconnected
605363898 92938506 A SET ERROR: CPM422 7: Reset errors
605364523 92975994 A CLEAR ERROR: CPM422 7: Reset errors
605364628 92982330 A SET ERROR: CPM422 7: Reset errors
605365020 93005826 A CLEAR MINOR: CPM422 7: Cables disconnected
605365070 93008863 A SET MAJOR: CPM422 7: Wrong device state
605365088 93009914 A CLEAR MAJOR: CPM422 7: Wrong device state
605365088 93009914 A CLEAR ERROR: CPM422 7: Reset errors
605365088 93009919 A SET MAJOR: CPM422 7: Wrong device state
605365094 93010298 A CLEAR MAJOR: CPM422 7: Wrong device state
605365184 93015660 I unixcscp: Host alive in slot 7
605365184 93015669 I server sfr removed from 7.5
605365185 93015725 I server sfr available on 7.5
605371581 93399670 I unixcscp: Host alive in slot 23
605374037 93547110 I unixcscp: Host alive in slot 23
605374042 93547378 I server fornax available on 23.3
605374967 93602919 I server fornax removed from 23.3
605375106 93611245 I unixcscp: Host alive in slot 23
605375137 93613117 I unixcscp: Host alive in slot 23
605375404 93629145 I unixcscp: Host alive in slot 23
605375409 93629437 I server fornax available on 23.3
605380193 93916591 A SET ERROR: CPMHS 17: Reset errors
605380312 93923740 I unixcscp: Host alive in slot 17
605380318 93924115 A CLEAR ERROR: CPMHS 17: Reset errors
605380431 93930886 I server tempel removed from 17.11
605380441 93931502 I server tempel available on 17.9
605386561 94298752 I server fornax removed from 23.3
605387674 94365558 A SET ERROR: CPMHS 17: Reset errors
605387796 94372863 I unixcscp: Host alive in slot 17
605387810 94373742 A CLEAR ERROR: CPMHS 17: Reset errors
605388211 94397814 I server tempel removed from 17.9
605388220 94398311 I unixcscp: Host alive in slot 17
605388220 94398321 I server tempel available on 17.11
605401951 95222523 I unixcscp: Host alive in slot 17
605401953 95222611 I server tempel removed from 17.11
605401954 95222668 I server tempel available on 17.5
605406634 95503555 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605406636 95503690 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605431426 96991609 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605431428 96991744 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605450141 98114911 A SET MINOR: unixcscp: DEAD HOST in slot 25
605450238 98120704 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605450240 98120822 I server seki removed from 25.5
605450245 98121115 I server seki available on 25.6
605455563 98440345 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605455565 98440480 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605461393 98790300 A SET MINOR: unixcscp: DEAD HOST in slot 25
605461435 98792811 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605461437 98792927 I server seki removed from 25.6
605461442 98793217 I server seki available on 25.5
605463955 98944092 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605465044 99009471 I server tempel removed from 17.5
605465170 99016999 I unixcscp: Host alive in slot 17
605465172 99017145 I server tempel available on 17.5
605472098 99432778 A SET MINOR: Board type incon code 00 not defined; device 29/8
605476659 99706542 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605476698 99708922 A SET MINOR: Board type incon code 00 not defined; device 29/8
605476795 99714726 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605476887 99720274 A SET MINOR: Board type incon code 00 not defined; device 29/8
605477035 99729114 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605477462 99754733 A SET MINOR: Board type incon code 00 not defined; device 29/8
605478543 99819672 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605479144 99855713 A SET MINOR: Board type incon code 00 not defined; device 29/8
605479212 99859806 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605479516 99878026 A SET MINOR: Board type incon code 00 not defined; device 29/8
605479566 99881058 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605479799 99895054 A SET MINOR: Board type incon code 00 not defined; device 29/8
605479865 99899010 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605480279 99923830 A SET MINOR: Board type incon code 00 not defined; device 29/8
605480338 99927390 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605482128 100034842 A SET MINOR: Board type incon code 00 not defined; device 29/8
605482137 100035385 I unixcscp: Host alive in slot 23
605482142 100035687 I server fornax available on 23.3
605482187 100038402 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605485308 100225720 A SET MINOR: Board type incon code 00 not defined; device 29/8
605492052 100630446 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605492052 100630450 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605543766 103734399 I server fornax removed from 23.3
605560032 104710704 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605560032 104710708 A SET MINOR: Board type incon code 00 not defined; device 29/8
605560034 104710836 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605560034 104710840 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605572871 105481332 I unixcscp: Host alive in slot 7
605572871 105481340 I server sfr removed from 7.5
605572872 105481396 I server sfr available on 7.5
605572895 105482760 I unixcscp: Host alive in slot 7
605572895 105482769 I server sfr removed from 7.5
605572895 105482816 I server sfr available on 7.5
605801694 119215626 A SET MINOR: unixcscp: DEAD HOST in slot 25
605802316 119252934 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605802318 119253051 I server seki removed from 25.5
605802323 119253330 I server seki available on 25.5
605804563 119387808 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605811282 119791135 A SET MINOR: unixcscp: DEAD HOST in slot 25
605812220 119847403 A SET MAJOR: tdk2cscp: trunk 6 is dead
605812391 119857683 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605812393 119857758 I server seki removed from 25.5
605812397 119858001 I server seki available on 25.5
605812536 119866345 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
605815270 120030419 A SET MINOR: Board type incon code 00 not defined; device 29/8
605815272 120030548 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605819679 120295080 A SET MINOR: unixcscp: DEAD HOST in slot 25
605820270 120330526 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605820272 120330625 I server seki removed from 25.5
605820276 120330878 I server seki available on 25.5
605820634 120352402 A SET MINOR: Board type incon code 00 not defined; device 29/8
605823599 120530323 A SET MINOR: unixcscp: DEAD HOST in slot 25
605823716 120537345 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605823718 120537458 I server seki removed from 25.5
605823723 120537778 I server seki available on 25.6
605823862 120546115 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605825759 120659989 A SET ERROR: CPMHS 17: Reset errors
605825949 120671386 I unixcscp: Host alive in slot 23
605825954 120671703 I server fornax available on 23.3
605825964 120672324 I unixcscp: Host alive in slot 17
605825966 120672438 I server tempel removed from 17.5
605825967 120672510 I server tempel available on 17.5
605825977 120673057 A CLEAR ERROR: CPMHS 17: Reset errors
605826363 120696220 A SET MINOR: Board type incon code 00 not defined; device 29/8
605826609 120710992 I server fornax removed from 23.3
605826672 120714774 I unixcscp: Host alive in slot 23
605826676 120715057 I server fornax available on 23.3
605827236 120748627 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605827452 120761583 I server fornax removed from 23.3
605827524 120765956 I unixcscp: Host alive in slot 23
605827529 120766244 I server fornax available on 23.3
605828274 120810963 I server fornax removed from 23.3
605828396 120818297 I unixcscp: Host alive in slot 23
605828401 120818587 I server fornax available on 23.3
605828667 120834501 I server fornax removed from 23.3
605828846 120845272 I unixcscp: Host alive in slot 23
605828850 120845554 I server fornax available on 23.3
605828936 120850677 I server fornax removed from 23.3
605829763 120900322 A SET MINOR: Board type incon code 00 not defined; device 29/8
605830342 120935085 I unixcscp: Host alive in slot 23
605830347 120935371 I server fornax available on 23.3
605830702 120956692 I server fornax removed from 23.3
605830789 120961897 I unixcscp: Host alive in slot 23
605830794 120962180 I server fornax available on 23.3
605831239 120988905 I server fornax removed from 23.3
605831290 120991981 I unixcscp: Host alive in slot 23
605831295 120992262 I server fornax available on 23.3
605831500 121004589 I server fornax removed from 23.3
605831567 121008630 I unixcscp: Host alive in slot 23
605831572 121008924 I server fornax available on 23.3
605831778 121021239 I server fornax removed from 23.3
605831804 121022856 I unixcscp: Host alive in slot 23
605831809 121023145 I server fornax available on 23.3
605835771 121260954 A SET MINOR: unixcscp: DEAD HOST in slot 25
605835805 121263010 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605835808 121263127 I server seki removed from 25.6
605835813 121263461 I server seki available on 25.5
605836196 121286406 A SET MINOR: unixcscp: DEAD HOST in slot 25
605836306 121293023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605836308 121293140 I server seki removed from 25.5
605836314 121293471 I server seki available on 25.6
605845002 121814953 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605845002 121814957 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605863302 122913331 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605863302 122913334 A SET MINOR: Board type incon code 00 not defined; device 29/8
605863304 122913463 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605863304 122913466 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605880991 123975019 A SET MINOR: unixcscp: DEAD HOST in slot 25
605881642 124014100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605881643 124014186 I server seki removed from 25.6
605881708 124018067 I server seki available on 25.7
605881852 124026696 A SET MINOR: unixcscp: DEAD HOST in slot 25
605882161 124045245 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605882163 124045363 I server seki removed from 25.7
605882168 124045703 I server seki available on 25.5
605894768 124801930 I server tempel removed from 17.5
605894851 124806931 I unixcscp: Host alive in slot 17
605894854 124807097 I server tempel available on 17.5
605897213 124948701 I server fornax removed from 23.3
605897957 124993384 I server tempel removed from 17.5
605898063 124999723 A SET ERROR: CPMHS 17: Reset errors
605898175 125006475 I unixcscp: Host alive in slot 17
605898178 125006644 I server tempel available on 17.5
605898217 125008963 A CLEAR ERROR: CPMHS 17: Reset errors
605898298 125013846 A SET ERROR: CPMHS 17: Reset errors
605898473 125024337 I unixcscp: Host alive in slot 17
605898475 125024460 I server tempel removed from 17.5
605898476 125024493 I server tempel available on 17.5
605898481 125024803 A CLEAR ERROR: CPMHS 17: Reset errors
605899109 125062480 I server tempel removed from 17.5
605899208 125068479 I unixcscp: Host alive in slot 17
605899212 125068660 I server tempel available on 17.5
605899904 125110208 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605899983 125114962 A SET MINOR: Board type incon code 00 not defined; device 29/8
605900102 125122087 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605900403 125140174 A SET MINOR: Board type incon code 00 not defined; device 29/8
605900583 125150995 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605900610 125152582 A SET MINOR: Board type incon code 00 not defined; device 29/8
605901818 125225073 I server tempel removed from 17.5
605901932 125231923 I unixcscp: Host alive in slot 17
605901935 125232119 I server tempel available on 17.5
605903181 125306898 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605903181 125306902 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605903261 125311694 A SET ERROR: CPMHS 17: Reset errors
605903397 125319877 A CLEAR ERROR: CPMHS 17: Reset errors
605903399 125320011 I unixcscp: Host alive in slot 17
605903402 125320128 I server tempel removed from 17.5
605903403 125320198 I server tempel available on 17.5
605903633 125334042 A SET MINOR: unixcscp: DEAD HOST in slot 25
605903909 125350582 I unixcscp: Host alive in slot 23
605903914 125350887 I server fornax available on 23.3
605903940 125352459 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605903942 125352566 I server seki removed from 25.5
605903948 125352904 I server seki available on 25.6
605903970 125354188 I server fornax removed from 23.3
605905050 125419059 A SET MINOR: unixcscp: DEAD HOST in slot 25
605905107 125422508 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605905109 125422617 I server seki removed from 25.6
605905114 125422939 I server seki available on 25.5
605906967 125534135 I unixcscp: Host alive in slot 23
605906973 125534499 I server fornax available on 23.3
605907027 125537739 I server fornax removed from 23.3
605907966 125594116 I unixcscp: Host alive in slot 23
605907972 125594490 I server fornax available on 23.3
605908780 125642981 I server tempel removed from 17.5
605908887 125649349 A SET ERROR: CPMHS 17: Reset errors
605908994 125655793 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605909071 125660417 A SET MINOR: Board type incon code 00 not defined; device 29/8
605909319 125675329 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605909340 125676557 A CLEAR ERROR: CPMHS 17: Reset errors
605909362 125677884 A SET MINOR: Board type incon code 00 not defined; device 29/8
605909553 125689358 A SET MINOR: CPMHS 17: Fiber disconnected
605909557 125689621 A SET ERROR: CPMHS 17: Reset errors
605909586 125691339 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605909769 125702292 A CLEAR ERROR: CPMHS 17: Reset errors
605909997 125716027 I unixcscp: Host alive in slot 17
605910000 125716166 I server tempel available on 17.5
605911293 125793804 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605911500 125806216 A SET MINOR: Board type incon code 00 not defined; device 29/8
605911898 125830121 I server tempel removed from 17.5
605912011 125836903 I unixcscp: Host alive in slot 17
605912013 125837048 I server tempel available on 17.5
605912214 125849106 A SET MINOR: CPMHS 17: Fiber disconnected
605912219 125849370 A SET ERROR: CPMHS 17: Reset errors
605912234 125850294 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605912371 125858505 A SET MINOR: CPMHS 17: Fiber disconnected
605912389 125859615 I server tempel removed from 17.5
605912393 125859846 A CLEAR ERROR: CPMHS 17: Reset errors
605912393 125859847 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605912394 125859876 A SET MINOR: unix9cscp: Host dead in slot 20
605912544 125868906 A SET MINOR: unixcscp: DEAD HOST in slot 25
605912630 125874059 I unixcscp: Host alive in slot 17
605912690 125877666 I server tempel available on 17.7
605912816 125885236 I server tempel removed from 17.7
605912916 125891207 I unixcscp: Host alive in slot 17
605912918 125891349 I server tempel available on 17.5
605913702 125938402 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605913704 125938514 I server seki removed from 25.5
605913710 125938843 I server seki available on 25.5
605914160 125965857 I server tempel removed from 17.5
605914243 125970844 I unixcscp: Host alive in slot 17
605914245 125970985 I server tempel available on 17.5
605915203 126028522 I server tempel removed from 17.5
605915326 126035872 I unixcscp: Host alive in slot 17
605915328 126036021 I server tempel available on 17.5
605915572 126050629 I server tempel removed from 17.5
605915663 126056133 I unixcscp: Host alive in slot 17
605915666 126056277 I server tempel available on 17.5
605917004 126136584 I server tempel removed from 17.5
605917102 126142501 A SET ERROR: CPMHS 17: Reset errors
605917224 126149809 I unixcscp: Host alive in slot 17
605917226 126149950 I server tempel available on 17.5
605917294 126153986 A CLEAR ERROR: CPMHS 17: Reset errors
605917595 126172069 A SET ERROR: CPMHS 17: Reset errors
605917652 126175470 I server tempel removed from 17.5
605917655 126175698 A CLEAR ERROR: CPMHS 17: Reset errors
605917729 126180123 A SET MINOR: CPMHS 17: Fiber disconnected
605917734 126180386 A SET ERROR: CPMHS 17: Reset errors
605917753 126181575 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605917942 126192926 A CLEAR ERROR: CPMHS 17: Reset errors
605917945 126193079 I unixcscp: Host alive in slot 17
605917947 126193220 I server tempel available on 17.5
605918193 126207949 I server tempel removed from 17.5
605918307 126214782 I unixcscp: Host alive in slot 17
605918309 126214924 I server tempel available on 17.5
605918594 126232019 I server tempel removed from 17.5
605918693 126237969 I unixcscp: Host alive in slot 17
605918695 126238110 I server tempel available on 17.5
605981745 130022387 I server seki removed from 25.5
605981778 130024404 A SET MINOR: unixcscp: DEAD HOST in slot 25
605982068 130041815 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605982075 130042235 I server seki available on 25.5
605991035 130580011 A SET MINOR: unixcscp: DEAD HOST in slot 25
605991237 130592142 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605991240 130592252 I server seki removed from 25.5
605991245 130592605 I server seki available on 25.6
605991507 130608342 A SET MINOR: unixcscp: DEAD HOST in slot 25
605992365 130659798 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605992367 130659911 I server seki removed from 25.6
605992372 130660235 I server seki available on 25.5
605995034 130819998 A SET MINOR: unixcscp: DEAD HOST in slot 25
605995589 130853319 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605995591 130853426 I server seki removed from 25.5
605995597 130853765 I server seki available on 25.5
605995799 130865917 A SET MINOR: unixcscp: DEAD HOST in slot 25
605995979 130876698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605995981 130876808 I server seki removed from 25.5
605995987 130877174 I server seki available on 25.5
605996159 130887498 A SET MINOR: unixcscp: DEAD HOST in slot 25
605996752 130923109 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605996754 130923218 I server seki removed from 25.5
605996759 130923553 I server seki available on 25.5
605998304 131016259 I server tempel removed from 17.5
605998431 131023916 A SET ERROR: CPMHS 17: Reset errors
605998580 131032855 I unixcscp: Host alive in slot 17
605998583 131033004 I server tempel available on 17.5
605998623 131035400 A CLEAR ERROR: CPMHS 17: Reset errors
605998946 131054804 A SET ERROR: CPMHS 17: Reset errors
605999126 131065627 A CLEAR ERROR: CPMHS 17: Reset errors
605999128 131065700 I unixcscp: Host alive in slot 17
605999130 131065824 I server tempel removed from 17.5
605999130 131065855 I server tempel available on 17.5
606001792 131225628 I server tempel removed from 17.5
606001920 131233299 I unixcscp: Host alive in slot 17
606001922 131233456 I server tempel available on 17.5
606008836 131648373 I server tempel removed from 17.5
606008932 131654101 A SET ERROR: CPMHS 17: Reset errors
606009046 131660981 I unixcscp: Host alive in slot 17
606009049 131661135 I server tempel available on 17.5
606009116 131665188 A CLEAR ERROR: CPMHS 17: Reset errors
606054431 134384997 I unixcscp: Host alive in slot 29/2
606054433 134385091 I unixcscp: Host alive in slot 29/2
606054433 134385122 I unixcscp: Host alive in slot 29/2
606054434 134385155 I unixcscp: Host alive in slot 29/2
606054434 134385201 I unixcscp: Host alive in slot 29/2
606054435 134385232 I unixcscp: Host alive in slot 29/2
606054435 134385264 I unixcscp: Host alive in slot 29/2
606054436 134385297 I unixcscp: Host alive in slot 29/2
606054437 134385342 I unixcscp: Host alive in slot 29/2
606054449 134386064 I unixcscp: Host alive in slot 29/2
606054449 134386095 I unixcscp: Host alive in slot 29/2
606054450 134386142 I unixcscp: Host alive in slot 29/2
606054451 134386174 I unixcscp: Host alive in slot 29/2
606054451 134386221 I unixcscp: Host alive in slot 29/2
606054452 134386269 I unixcscp: Host alive in slot 29/2
606054453 134386299 I unixcscp: Host alive in slot 29/2
606054453 134386331 I unixcscp: Host alive in slot 29/2
606054454 134386362 I unixcscp: Host alive in slot 29/2
606054454 134386408 I unixcscp: Host alive in slot 29/2
606054455 134386440 I unixcscp: Host alive in slot 29/2
606054456 134386471 I unixcscp: Host alive in slot 29/2
606054456 134386503 I unixcscp: Host alive in slot 29/2
606054464 134387005 I unixcscp: Host alive in slot 29/2
606054465 134387036 I unixcscp: Host alive in slot 29/2
606054466 134387083 I unixcscp: Host alive in slot 29/2
606054467 134387131 I unixcscp: Host alive in slot 29/2
606054467 134387179 I unixcscp: Host alive in slot 29/2
606054468 134387225 I unixcscp: Host alive in slot 29/2
606054469 134387256 I unixcscp: Host alive in slot 29/2
606054469 134387287 I unixcscp: Host alive in slot 29/2
606054470 134387335 I unixcscp: Host alive in slot 29/2
606054471 134387381 I unixcscp: Host alive in slot 29/2
606054471 134387413 I unixcscp: Host alive in slot 29/2
606054472 134387446 I unixcscp: Host alive in slot 29/2
606054729 134402914 I unixcscp: Host alive in slot 29/2
606054731 134403008 I unixcscp: Host alive in slot 29/2
606054732 134403053 I unixcscp: Host alive in slot 29/2
606054732 134403086 I unixcscp: Host alive in slot 29/2
606054733 134403117 I unixcscp: Host alive in slot 29/2
606054733 134403148 I unixcscp: Host alive in slot 29/2
606054734 134403194 I unixcscp: Host alive in slot 29/2
606054735 134403225 I unixcscp: Host alive in slot 29/2
606054735 134403257 I unixcscp: Host alive in slot 29/2
606054736 134403288 I unixcscp: Host alive in slot 29/2
606054737 134403335 I unixcscp: Host alive in slot 29/2
606054737 134403382 I unixcscp: Host alive in slot 29/2
606054738 134403414 I unixcscp: Host alive in slot 29/2
606054739 134403460 I unixcscp: Host alive in slot 29/2
606054739 134403491 I unixcscp: Host alive in slot 29/2
606054740 134403523 I unixcscp: Host alive in slot 29/2
606054740 134403556 I unixcscp: Host alive in slot 29/2
606054741 134403601 I unixcscp: Host alive in slot 29/2
606054742 134403633 I unixcscp: Host alive in slot 29/2
606054742 134403664 I unixcscp: Host alive in slot 29/2
606054743 134403715 I unixcscp: Host alive in slot 29/2
606054744 134403758 I unixcscp: Host alive in slot 29/2
606054744 134403790 I unixcscp: Host alive in slot 29/2
606054745 134403822 I unixcscp: Host alive in slot 29/2
606054745 134403868 I unixcscp: Host alive in slot 29/2
606054757 134404559 I unixcscp: Host alive in slot 29/2
606054757 134404590 I unixcscp: Host alive in slot 29/2
606054758 134404637 I unixcscp: Host alive in slot 29/2
606054759 134404684 I unixcscp: Host alive in slot 29/2
606054760 134404716 I unixcscp: Host alive in slot 29/2
606054760 134404763 I unixcscp: Host alive in slot 29/2
606054761 134404810 I unixcscp: Host alive in slot 29/2
606054762 134404841 I unixcscp: Host alive in slot 29/2
606054762 134404873 I unixcscp: Host alive in slot 29/2
606054763 134404920 I unixcscp: Host alive in slot 29/2
606054763 134404951 I unixcscp: Host alive in slot 29/2
606054764 134404998 I unixcscp: Host alive in slot 29/2
606055588 134454447 I unixcscp: Host alive in slot 29/2
606055589 134454540 I unixcscp: Host alive in slot 29/2
606055590 134454587 I unixcscp: Host alive in slot 29/2
606055591 134454618 I unixcscp: Host alive in slot 29/2
606055591 134454665 I unixcscp: Host alive in slot 29/2
606055592 134454712 I unixcscp: Host alive in slot 29/2
606055593 134454744 I unixcscp: Host alive in slot 29/2
606055593 134454778 I unixcscp: Host alive in slot 29/2
606055594 134454822 I unixcscp: Host alive in slot 29/2
606055595 134454854 I unixcscp: Host alive in slot 29/2
606055595 134454885 I unixcscp: Host alive in slot 29/2
606055596 134454933 I unixcscp: Host alive in slot 29/2
606055597 134454979 I unixcscp: Host alive in slot 29/2
606055597 134455012 I unixcscp: Host alive in slot 29/2
606055598 134455044 I unixcscp: Host alive in slot 29/2
606055599 134455089 I unixcscp: Host alive in slot 29/2
606055599 134455121 I unixcscp: Host alive in slot 29/2
606055600 134455154 I unixcscp: Host alive in slot 29/2
606055600 134455199 I unixcscp: Host alive in slot 29/2
606055601 134455245 I unixcscp: Host alive in slot 29/2
606055602 134455277 I unixcscp: Host alive in slot 29/2
606055602 134455308 I unixcscp: Host alive in slot 29/2
606055603 134455355 I unixcscp: Host alive in slot 29/2
606055604 134455387 I unixcscp: Host alive in slot 29/2
606055604 134455418 I unixcscp: Host alive in slot 29/2
606055605 134455453 I unixcscp: Host alive in slot 29/2
606055605 134455497 I unixcscp: Host alive in slot 29/2
606055606 134455528 I unixcscp: Host alive in slot 29/2
606055606 134455560 I unixcscp: Host alive in slot 29/2
606055607 134455606 I unixcscp: Host alive in slot 29/2
606055608 134455653 I unixcscp: Host alive in slot 29/2
606055608 134455684 I unixcscp: Host alive in slot 29/2
606055620 134456374 I unixcscp: Host alive in slot 29/2
606055621 134456406 I unixcscp: Host alive in slot 29/2
606055621 134456453 I unixcscp: Host alive in slot 29/2
606055622 134456502 I unixcscp: Host alive in slot 29/2
606055623 134456547 I unixcscp: Host alive in slot 29/2
606055623 134456579 I unixcscp: Host alive in slot 29/2
606055624 134456610 I unixcscp: Host alive in slot 29/2
606055630 134456955 I unixcscp: Host alive in slot 29/2
606055630 134456987 I unixcscp: Host alive in slot 29/2
606055631 134457036 I unixcscp: Host alive in slot 29/2
606055632 134457081 I unixcscp: Host alive in slot 29/2
606055632 134457112 I unixcscp: Host alive in slot 29/2
606055633 134457144 I unixcscp: Host alive in slot 29/2
606055633 134457176 I unixcscp: Host alive in slot 29/2
606055634 134457221 I unixcscp: Host alive in slot 29/2
606055635 134457253 I unixcscp: Host alive in slot 29/2
606055635 134457284 I unixcscp: Host alive in slot 29/2
606055636 134457331 I unixcscp: Host alive in slot 29/2
606055637 134457365 I unixcscp: Host alive in slot 29/2
606055637 134457394 I unixcscp: Host alive in slot 29/2
606055638 134457441 I unixcscp: Host alive in slot 29/2
606055638 134457474 I unixcscp: Host alive in slot 29/2
606055639 134457505 I unixcscp: Host alive in slot 29/2
606055639 134457536 I unixcscp: Host alive in slot 29/2
606055640 134457570 I unixcscp: Host alive in slot 29/2
606055641 134457614 I unixcscp: Host alive in slot 29/2
606055641 134457646 I unixcscp: Host alive in slot 29/2
606055642 134457677 I unixcscp: Host alive in slot 29/2
606055642 134457712 I unixcscp: Host alive in slot 29/2
606055643 134457756 I unixcscp: Host alive in slot 29/2
606055644 134457787 I unixcscp: Host alive in slot 29/2
606055644 134457819 I unixcscp: Host alive in slot 29/2
606055645 134457867 I unixcscp: Host alive in slot 29/2
606056629 134516915 I unixcscp: Host alive in slot 29/2
606056630 134517009 I unixcscp: Host alive in slot 29/2
606056631 134517040 I unixcscp: Host alive in slot 29/2
606056631 134517072 I unixcscp: Host alive in slot 29/2
606056632 134517106 I unixcscp: Host alive in slot 29/2
606056633 134517149 I unixcscp: Host alive in slot 29/2
606056633 134517181 I unixcscp: Host alive in slot 29/2
606056634 134517212 I unixcscp: Host alive in slot 29/2
606056634 134517245 I unixcscp: Host alive in slot 29/2
606056635 134517292 I unixcscp: Host alive in slot 29/2
606056635 134517322 I unixcscp: Host alive in slot 29/2
606056636 134517354 I unixcscp: Host alive in slot 29/2
606056637 134517401 I unixcscp: Host alive in slot 29/2
606056638 134517448 I unixcscp: Host alive in slot 29/2
606056638 134517479 I unixcscp: Host alive in slot 29/2
606056639 134517513 I unixcscp: Host alive in slot 29/2
606056639 134517558 I unixcscp: Host alive in slot 29/2
606056640 134517591 I unixcscp: Host alive in slot 29/2
606056641 134517636 I unixcscp: Host alive in slot 29/2
606056641 134517684 I unixcscp: Host alive in slot 29/2
606056642 134517715 I unixcscp: Host alive in slot 29/2
606056643 134517746 I unixcscp: Host alive in slot 29/2
606056643 134517779 I unixcscp: Host alive in slot 29/2
606056650 134518186 I unixcscp: Host alive in slot 29/2
606056651 134518232 I unixcscp: Host alive in slot 29/2
606056651 134518263 I unixcscp: Host alive in slot 29/2
606056652 134518295 I unixcscp: Host alive in slot 29/2
606056653 134518341 I unixcscp: Host alive in slot 29/2
606056653 134518372 I unixcscp: Host alive in slot 29/2
606056653 134518404 I unixcscp: Host alive in slot 29/2
606056654 134518451 I unixcscp: Host alive in slot 29/2
606056655 134518498 I unixcscp: Host alive in slot 29/2
606056664 134519016 I unixcscp: Host alive in slot 29/2
606056664 134519048 I unixcscp: Host alive in slot 29/2
606056665 134519094 I unixcscp: Host alive in slot 29/2
606056666 134519141 I unixcscp: Host alive in slot 29/2
606056666 134519173 I unixcscp: Host alive in slot 29/2
606056667 134519204 I unixcscp: Host alive in slot 29/2
606056667 134519236 I unixcscp: Host alive in slot 29/2
606056668 134519281 I unixcscp: Host alive in slot 29/2
606056669 134519312 I unixcscp: Host alive in slot 29/2
606056669 134519344 I unixcscp: Host alive in slot 29/2
606056670 134519392 I unixcscp: Host alive in slot 29/2
606064483 134988345 I server fornax removed from 23.3
606064501 134989425 I unixcscp: Host alive in slot 23
606064507 134989797 I server fornax available on 23.3
606068488 135228714 A SET MINOR: unixcscp: DEAD HOST in slot 25
606069704 135301679 I server tempel removed from 17.5
606069831 135309359 I unixcscp: Host alive in slot 17
606069834 135309507 I server tempel available on 17.5
606071452 135406665 I unixcscp: Host alive in slot 29/2
606071453 135406744 I unixcscp: Host alive in slot 29/2
606071454 135406775 I unixcscp: Host alive in slot 29/2
606071454 135406807 I unixcscp: Host alive in slot 29/2
606071455 135406838 I unixcscp: Host alive in slot 29/2
606071455 135406870 I unixcscp: Host alive in slot 29/2
606071456 135406916 I unixcscp: Host alive in slot 29/2
606071457 135406948 I unixcscp: Host alive in slot 29/2
606071457 135406981 I unixcscp: Host alive in slot 29/2
606071458 135407011 I unixcscp: Host alive in slot 29/2
606071458 135407042 I unixcscp: Host alive in slot 29/2
606071459 135407073 I unixcscp: Host alive in slot 29/2
606071459 135407105 I unixcscp: Host alive in slot 29/2
606071460 135407136 I unixcscp: Host alive in slot 29/2
606071460 135407168 I unixcscp: Host alive in slot 29/2
606071461 135407199 I unixcscp: Host alive in slot 29/2
606071461 135407231 I unixcscp: Host alive in slot 29/2
606071462 135407262 I unixcscp: Host alive in slot 29/2
606071462 135407294 I unixcscp: Host alive in slot 29/2
606071463 135407325 I unixcscp: Host alive in slot 29/2
606071464 135407358 I unixcscp: Host alive in slot 29/2
606071464 135407388 I unixcscp: Host alive in slot 29/2
606071471 135407812 I unixcscp: Host alive in slot 29/2
606071472 135407843 I unixcscp: Host alive in slot 29/2
606071472 135407874 I unixcscp: Host alive in slot 29/2
606071473 135407909 I unixcscp: Host alive in slot 29/2
606071473 135407936 I unixcscp: Host alive in slot 29/2
606071474 135407967 I unixcscp: Host alive in slot 29/2
606071474 135407999 I unixcscp: Host alive in slot 29/2
606071475 135408030 I unixcscp: Host alive in slot 29/2
606071475 135408062 I unixcscp: Host alive in slot 29/2
606071476 135408093 I unixcscp: Host alive in slot 29/2
606071476 135408125 I unixcscp: Host alive in slot 29/2
606071477 135408156 I unixcscp: Host alive in slot 29/2
606071477 135408188 I unixcscp: Host alive in slot 29/2
606071478 135408219 I unixcscp: Host alive in slot 29/2
606071478 135408250 I unixcscp: Host alive in slot 29/2
606071479 135408283 I unixcscp: Host alive in slot 29/2
606071480 135408315 I unixcscp: Host alive in slot 29/2
606071480 135408345 I unixcscp: Host alive in slot 29/2
606071480 135408376 I unixcscp: Host alive in slot 29/2
606071481 135408408 I unixcscp: Host alive in slot 29/2
606071482 135408438 I unixcscp: Host alive in slot 29/2
606071482 135408469 I unixcscp: Host alive in slot 29/2
606071483 135408501 I unixcscp: Host alive in slot 29/2
606071483 135408532 I unixcscp: Host alive in slot 29/2
606071484 135408565 I unixcscp: Host alive in slot 29/2
606071484 135408611 I unixcscp: Host alive in slot 29/2
606071485 135408642 I unixcscp: Host alive in slot 29/2
606071486 135408675 I unixcscp: Host alive in slot 29/2
606071486 135408705 I unixcscp: Host alive in slot 29/2
606071487 135408735 I unixcscp: Host alive in slot 29/2
606071487 135408767 I unixcscp: Host alive in slot 29/2
606071488 135408798 I unixcscp: Host alive in slot 29/2
606071497 135409362 I unixcscp: Host alive in slot 29/2
606071498 135409394 I unixcscp: Host alive in slot 29/2
606071498 135409425 I unixcscp: Host alive in slot 29/2
606071499 135409456 I unixcscp: Host alive in slot 29/2
606071499 135409489 I unixcscp: Host alive in slot 29/2
606071500 135409521 I unixcscp: Host alive in slot 29/2
606071500 135409552 I unixcscp: Host alive in slot 29/2
606071501 135409582 I unixcscp: Host alive in slot 29/2
606071501 135409614 I unixcscp: Host alive in slot 29/2
606071502 135409645 I unixcscp: Host alive in slot 29/2
606071502 135409676 I unixcscp: Host alive in slot 29/2
606071503 135409708 I unixcscp: Host alive in slot 29/2
606071591 135415037 I server tempel removed from 17.5
606071691 135421034 I unixcscp: Host alive in slot 17
606071694 135421185 I server tempel available on 17.5
606072008 135440067 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606072011 135440174 I server seki removed from 25.5
606072017 135440581 I server seki available on 25.6
606072488 135468864 A SET MINOR: unixcscp: DEAD HOST in slot 25
606073400 135523563 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606073402 135523667 I server seki removed from 25.6
606073408 135524049 I server seki available on 25.5
606073761 135545160 A SET MINOR: unixcscp: DEAD HOST in slot 25
606074012 135560228 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606074014 135560331 I server seki removed from 25.5
606074020 135560689 I server seki available on 25.5
606074282 135576428 A SET MINOR: unixcscp: DEAD HOST in slot 25
606074821 135608760 I server tempel removed from 17.5
606074948 135616422 I unixcscp: Host alive in slot 17
606074951 135616587 I server tempel available on 17.5
606075572 135653877 I server tempel removed from 17.5
606075767 135665545 A SET ERROR: CPMHS 17: Reset errors
606075780 135666316 A CLEAR ERROR: CPMHS 17: Reset errors
606075871 135671775 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606075873 135671882 I server seki removed from 25.5
606075879 135672251 I server seki available on 25.6
606076110 135686116 I unixcscp: Host alive in slot 17
606076170 135689721 I server tempel available on 17.7
606078809 135848172 A SET MINOR: unixcscp: DEAD HOST in slot 25
606079002 135859755 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606079004 135859865 I server seki removed from 25.6
606079011 135860246 I server seki available on 25.5
606079870 135911858 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606079908 135914105 A SET MINOR: Board type incon code 00 not defined; device 29/8
606079936 135915822 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606079978 135918335 A SET MINOR: Board type incon code 00 not defined; device 29/8
606079989 135918990 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606080022 135920952 A SET MINOR: unixcscp: DEAD HOST in slot 25
606080025 135921106 A SET MINOR: Board type incon code 00 not defined; device 29/8
606080027 135921234 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606080859 135971180 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606080860 135971194 I server seki removed from 25.5
606080865 135971557 I server seki available on 25.5
606083108 136106178 A SET MINOR: unixcscp: DEAD HOST in slot 25
606083181 136110553 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606083183 136110657 I server seki removed from 25.5
606083190 136111069 I server seki available on 25.6
606083391 136123152 A SET MINOR: unixcscp: DEAD HOST in slot 25
606083731 136143546 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606083733 136143648 I server seki removed from 25.6
606083740 136144089 I server seki available on 25.5
606084810 136208346 A SET MINOR: unixcscp: DEAD HOST in slot 25
606084825 136209250 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606084827 136209351 I server seki removed from 25.5
606084835 136209842 I server seki available on 25.6
606085770 136265974 A SET MINOR: Board type incon code 00 not defined; device 29/8
606086597 136315566 I server tempel removed from 17.7
606086716 136322717 I unixcscp: Host alive in slot 17
606086718 136322858 I server tempel available on 17.5
606086767 136325767 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606086888 136333035 I server tempel removed from 17.5
606086988 136339076 A SET ERROR: CPMHS 17: Reset errors
606087114 136346619 I unixcscp: Host alive in slot 17
606087116 136346765 I server tempel available on 17.5
606087184 136350823 A CLEAR ERROR: CPMHS 17: Reset errors
606087563 136373555 A SET MINOR: Board type incon code 00 not defined; device 29/8
606087565 136373683 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606089203 136471987 I server tempel removed from 17.5
606089314 136478692 I unixcscp: Host alive in slot 17
606089316 136478831 I server tempel available on 17.5
606089784 136506886 I server tempel removed from 17.5
606089884 136512900 I unixcscp: Host alive in slot 17
606089886 136513041 I server tempel available on 17.5
606090589 136555193 A SET MINOR: Board type incon code 00 not defined; device 29/8
606152181 140252048 A SET MINOR: unixcscp: DEAD HOST in slot 25
606152307 140259587 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606152309 140259695 I server seki removed from 25.6
606152315 140260087 I server seki available on 25.5
606154436 140387382 A SET MINOR: unixcscp: DEAD HOST in slot 25
606155037 140423428 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606155039 140423539 I server seki removed from 25.5
606155045 140423953 I server seki available on 25.6
606155456 140448624 A SET MINOR: unixcscp: DEAD HOST in slot 25
606155562 140454930 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606156291 140498731 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606156293 140498837 I server seki removed from 25.6
606156299 140499215 I server seki available on 25.5
606156490 140510693 A SET MINOR: Board type incon code 00 not defined; device 29/8
606156651 140520330 A SET MINOR: unixcscp: DEAD HOST in slot 25
606156711 140523902 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606159795 140709023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606159796 140709090 I server seki removed from 25.5
606159801 140709362 I server seki available on 25.5
606160571 140755522 A SET MINOR: Board type incon code 00 not defined; device 29/8
606160718 140764363 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161063 140785090 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161156 140790631 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161369 140803438 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161499 140811223 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161527 140812942 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161644 140819935 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161697 140823106 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161908 140835775 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161987 140840530 A SET MINOR: Board type incon code 00 not defined; device 29/8
606162018 140842375 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606162077 140845942 A SET MINOR: Board type incon code 00 not defined; device 29/8
606162361 140862967 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606162612 140878018 A SET MINOR: Board type incon code 00 not defined; device 29/8
606164819 141010485 I server fornax removed from 23.3
606164823 141010779 I unixcscp: Host alive in slot 23
606164829 141011118 I server fornax available on 23.3
606165432 141047309 I server tempel removed from 17.5
606165548 141054293 I unixcscp: Host alive in slot 17
606165552 141054479 I server tempel available on 17.5
606167903 141195606 A SET ERROR: CPMHS 17: Reset errors
606167999 141201413 I server tempel removed from 17.5
606168003 141201643 A CLEAR ERROR: CPMHS 17: Reset errors
606168008 141201945 A SET MAJOR: CPMHS 17: Wrong device state
606168008 141201946 A CLEAR MAJOR: CPMHS 17: Wrong device state
606168101 141207486 A SET ERROR: CPMHS 17: Reset errors
606168268 141217514 I unixcscp: Host alive in slot 17
606168270 141217656 I server tempel available on 17.5
606168281 141218310 A CLEAR ERROR: CPMHS 17: Reset errors
606170769 141367657 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606171473 141409900 A SET MINOR: Board type incon code 00 not defined; device 29/8
606171475 141410029 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606171596 141417293 A SET MINOR: Board type incon code 00 not defined; device 29/8
606171618 141418615 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606171748 141426406 A SET MINOR: Board type incon code 00 not defined; device 29/8
606243616 145740020 A SET MINOR: unixcscp: DEAD HOST in slot 25
606243767 145749090 A SET MINOR: CPMHS 25: Fiber disconnected
606244486 145792254 A CLEAR MINOR: CPMHS 25: Fiber disconnected
606244508 145793574 A SET MINOR: CPMHS 25: Fiber disconnected
606244728 145806775 A CLEAR MINOR: CPMHS 25: Fiber disconnected
606245244 145837712 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606245246 145837814 I server seki removed from 25.5
606245253 145838227 I server seki available on 25.6
606246804 145931310 A SET MINOR: unixcscp: DEAD HOST in slot 25
606246919 145938239 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606246922 145938341 I server seki removed from 25.6
606246928 145938740 I server seki available on 25.5
606246940 145939501 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606246941 145939505 A SET MINOR: Board type incon code 0377 not defined; device 29/8
606247399 145967034 A SET MINOR: unixcscp: DEAD HOST in slot 25
606248453 146030309 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606248454 146030327 I server seki removed from 25.5
606248460 146030735 I server seki available on 25.5
606421776 156433343 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
606452922 158302746 A SET MINOR: unixcscp: DEAD HOST in slot 25
606453409 158331952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606453411 158332052 I server seki removed from 25.5
606453418 158332481 I server seki available on 25.5
606454579 158402152 A SET MINOR: unixcscp: DEAD HOST in slot 25
606455055 158430737 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606455057 158430836 I server seki removed from 25.5
606455064 158431294 I server seki available on 25.6
606455205 158439732 A SET MINOR: unixcscp: DEAD HOST in slot 25
606455410 158452037 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606455412 158452139 I server seki removed from 25.6
606455419 158452569 I server seki available on 25.5
606517917 162203804 A SET MAJOR: tdk2cscp: trunk 6 is dead
606517940 162205183 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
606518131 162216598 I server fornax removed from 23.3
606518264 162224611 I unixcscp: Host alive in slot 23
606518269 162224938 I server fornax available on 23.3
606518594 162244419 I server fornax removed from 23.3
606518776 162255347 I unixcscp: Host alive in slot 23
606518781 162255646 I server fornax available on 23.3
606518986 162267952 I server fornax removed from 23.3
606537015 163350145 I server seki removed from 25.5
606537070 163353432 A SET MINOR: unixcscp: DEAD HOST in slot 25
606537168 163359316 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606537177 163359839 I server seki available on 25.5
606537215 163362121 A SET MAJOR: tdk2cscp: trunk 6 is dead
606537260 163364822 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
606571573 165424317 I server seki removed from 25.5
606571626 165427512 A SET MINOR: unixcscp: DEAD HOST in slot 25
606571644 165428566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606571653 165429071 I server seki available on 25.5
606571944 165446562 A SET MINOR: unixcscp: DEAD HOST in slot 25
606572414 165474787 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606572417 165474884 I server seki removed from 25.5
606572423 165475290 I server seki available on 25.5
606580385 165953220 I server seki removed from 25.5
606580421 165955386 A SET MINOR: unixcscp: DEAD HOST in slot 25
606580433 165956077 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606580441 165956580 I server seki available on 25.5
606580823 165979476 A SET MINOR: unixcscp: DEAD HOST in slot 25
606581298 166008019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606581300 166008111 I server seki removed from 25.5
606581307 166008546 I server seki available on 25.5
606581508 166020618 A SET MINOR: unixcscp: DEAD HOST in slot 25
606581537 166022359 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606581540 166022462 I server seki removed from 25.5
606581547 166022943 I server seki available on 25.5
606581837 166040358 A SET MINOR: unixcscp: DEAD HOST in slot 25
606582350 166071114 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606582352 166071206 I server seki removed from 25.5
606582359 166071646 I server seki available on 25.5
606583394 166133792 I unixcscp: Host alive in slot 23
606583399 166134106 I server fornax available on 23.3
606583399 166134116 A SET MINOR: unixcscp: DEAD HOST in slot 25
606583421 166135417 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606583421 166135429 I server seki removed from 25.5
606583430 166135936 I server seki available on 25.5
606583571 166144416 A SET MINOR: unixcscp: DEAD HOST in slot 25
606583665 166150023 I server fornax removed from 23.3
606584046 166172952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606584047 166172965 I server seki removed from 25.5
606584055 166173445 I server seki available on 25.5
606584136 166178353 A SET MINOR: unixcscp: DEAD HOST in slot 25
606584175 166180692 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606584176 166180702 I server seki removed from 25.5
606584183 166181124 I server seki available on 25.6
606584535 166202292 A SET MINOR: unixcscp: DEAD HOST in slot 25
606585046 166232933 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606585046 166232952 I server seki removed from 25.6
606585054 166233406 I server seki available on 25.5
606587955 166407540 A SET MINOR: unixcscp: DEAD HOST in slot 25
606587961 166407879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606587962 166407896 I server seki removed from 25.5
606587970 166408423 I server seki available on 25.5
606589629 166508014 I unixcscp: Host alive in slot 23
606589634 166508331 I server fornax available on 23.3
606589719 166513419 I server fornax removed from 23.3
606590499 166560215 I unixcscp: Host alive in slot 23
606590504 166560521 I server fornax available on 23.3
606590799 166578225 I server fornax removed from 23.3
606591349 166611276 A SET MINOR: unixcscp: DEAD HOST in slot 25
606591355 166611633 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606591355 166611643 I server seki removed from 25.5
606591365 166612199 I server seki available on 25.6
606591519 166621487 I unixcscp: Host alive in slot 23
606591525 166621805 I server fornax available on 23.3
606591610 166626892 I server fornax removed from 23.3
606592624 166687742 I unixcscp: Host alive in slot 23
606592630 166688061 I server fornax available on 23.3
606592955 166707549 I server fornax removed from 23.3
606593999 166770228 I unixcscp: Host alive in slot 23
606594004 166770541 I server fornax available on 23.3
606594359 166791843 I server fornax removed from 23.3
606595551 166863403 I unixcscp: Host alive in slot 23
606595557 166863777 I server fornax available on 23.3
606595642 166868812 I server fornax removed from 23.3
606595956 166887740 I unixcscp: Host alive in slot 23
606595962 166888084 I server fornax available on 23.3
606596047 166893147 I server fornax removed from 23.3
606596520 166921564 I unixcscp: Host alive in slot 23
606596525 166921887 I server fornax available on 23.3
606599699 167112369 I server fornax removed from 23.3
606601941 167246951 I unixcscp: Host alive in slot 23
606601955 167247766 I server fornax available on 23.3
606602032 167252355 I server fornax removed from 23.3
606602506 167280833 I unixcscp: Host alive in slot 23
606602514 167281319 I server fornax available on 23.3
606602596 167286237 I server fornax removed from 23.3
606602602 167286646 I unixcscp: Host alive in slot 23
606602608 167286983 I server fornax available on 23.3
606602663 167290252 I server fornax removed from 23.3
606602835 167300629 I unixcscp: Host alive in slot 23
606602841 167300981 I server fornax available on 23.3
606602956 167307837 I server fornax removed from 23.3
606602976 167309098 I unixcscp: Host alive in slot 23
606602982 167309428 I server fornax available on 23.3
606628011 168811716 I unixcscp: Host alive in slot 17
606628014 168811836 I server tempel removed from 17.5
606628014 168811880 I server tempel available on 17.5
606670727 171375561 I server seki removed from 25.6
606670768 171378030 A SET MINOR: unixcscp: DEAD HOST in slot 25
606670865 171383843 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606670874 171384348 I server seki available on 25.5
606671765 171437844 A SET MINOR: unixcscp: DEAD HOST in slot 25
606672382 171474879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606672383 171474896 I server seki removed from 25.5
606672390 171475367 I server seki available on 25.6
606672532 171483877 A SET MINOR: unixcscp: DEAD HOST in slot 25
606673255 171527265 A CLEAR MAJOR: tdkp: trunk 3 is dead
606673265 171527864 A CLEAR MAJOR: loopp: trunk 3 appears dead
606673726 171555566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606673727 171555579 I server seki removed from 25.6
606673733 171555973 I server seki available on 25.5
606674177 171582576 A SET MINOR: unixcscp: DEAD HOST in slot 25
606674762 171617701 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606674763 171617714 I server seki removed from 25.5
606674814 171620862 A SET MAJOR: tdkp: trunk 3 is dead
606674822 171621300 A SET MINOR: unixcscp: DEAD HOST in slot 25
606675369 171654166 A CLEAR MAJOR: tdkp: trunk 3 is dead
606675477 171660644 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606675486 171661183 I server seki available on 25.5
606676107 171698442 A SET MINOR: unixcscp: DEAD HOST in slot 25
606676152 171701100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606676152 171701112 I server seki removed from 25.5
606676160 171701598 I server seki available on 25.5
606676780 171738814 I tdk2cscp: circuit 6.500 out of sync with remote
606685100 172238075 I server seki removed from 25.5
606685123 172239492 I unixcscp: Host alive in slot 25
606685131 172239947 I server seki available on 25.5
606685243 172246692 A SET MINOR: unixcscp: DEAD HOST in slot 25
606685308 172250582 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606685309 172250592 I server seki removed from 25.5
606685316 172251025 I server seki available on 25.5
606689018 172473188 I unixcscp: Host alive in slot 25
606689018 172473199 I server seki removed from 25.5
606689026 172473690 I server seki available on 25.5
606689138 172480389 A SET MINOR: unixcscp: DEAD HOST in slot 25
606689160 172481698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606689160 172481717 I server seki removed from 25.5
606689168 172482174 I server seki available on 25.6
606691379 172614894 A SET MINOR: unixcscp: DEAD HOST in slot 25
606691891 172645595 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606691891 172645615 I server seki removed from 25.6
606691898 172646048 I server seki available on 25.5
606701675 173232802 A SET MINOR: Board type incon code 0377 not defined; device 29/8
606708145 173621196 A SET MINOR: unixcscp: DEAD HOST in slot 25
606708160 173622065 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606708160 173622081 I server seki removed from 25.5
606708169 173622607 I server seki available on 25.5
606720881 174385636 I server tempel removed from 17.5
606721169 174402878 I unixcscp: Host alive in slot 17
606721171 174403031 I server tempel available on 17.5
606756764 176539364 I unixcscp: Host alive in slot 7
606756764 176539373 I server sfr removed from 7.5
606756765 176539411 I server sfr available on 7.5
606756916 176548496 I unixcscp: Host alive in slot 7
606756916 176548504 I server sfr removed from 7.5
606756917 176548546 I server sfr available on 7.5
606757323 176572949 I unixcscp: Host alive in slot 7
606757323 176572954 I server sfr removed from 7.5
606757324 176573003 I server sfr available on 7.5
606774606 177610315 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606774629 177611669 I server seki available on 20.5
606775133 177641925 I server seki removed from 20.5
606775201 177645992 I server xseki available on 20.5
606826020 180696047 I server seki removed from 25.5
606826043 180697458 A SET MINOR: unix9cscp: Host dead in slot 20
606826080 180699678 A SET MINOR: unixcscp: DEAD HOST in slot 25
606826102 180701019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606826109 180701400 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606826110 180701432 I server xseki removed from 20.5
606826112 180701592 I server seki available on 25.5
606826128 180702541 I server xseki available on 20.5
606826508 180725365 A SET MINOR: unix9cscp: Host dead in slot 20
606826522 180726216 A SET MINOR: unixcscp: DEAD HOST in slot 25
606827009 180755447 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606827010 180755462 I server seki removed from 25.5
606827015 180755796 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606827016 180755831 I server xseki removed from 20.5
606827017 180755919 I server seki available on 25.5
606827033 180756892 I server xseki available on 20.5
606827363 180776664 A SET MINOR: unix9cscp: Host dead in slot 20
606827369 180777048 A SET MINOR: unixcscp: DEAD HOST in slot 25
606827412 180779645 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606827413 180779660 I server seki removed from 25.5
606827418 180779970 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606827419 180779994 I server xseki removed from 20.5
606827421 180780155 I server seki available on 25.5
606827433 180780868 I server xseki available on 20.5
606845431 181861164 A SET MINOR: unix9cscp: Host dead in slot 20
606845436 181861446 A SET MINOR: unixcscp: DEAD HOST in slot 25
606845925 181890779 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606845926 181890794 I server seki removed from 25.5
606845931 181891104 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606845931 181891145 I server xseki removed from 20.5
606845933 181891265 I server seki available on 25.5
606845948 181892171 I server xseki available on 20.5
606846032 181897206 A SET MINOR: unix9cscp: Host dead in slot 20
606846045 181897980 A SET MINOR: unixcscp: DEAD HOST in slot 25
606846518 181926360 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606846518 181926372 I server seki removed from 25.5
606846523 181926678 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606846524 181926707 I server xseki removed from 20.5
606846526 181926873 I server seki available on 25.5
606846542 181927789 I server xseki available on 20.5
606846632 181933206 A SET MINOR: unix9cscp: Host dead in slot 20
606846638 181933560 A SET MINOR: unixcscp: DEAD HOST in slot 25
606847139 181963679 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606847140 181963694 I server seki removed from 25.5
606847146 181964034 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606847147 181964075 I server xseki removed from 20.5
606847148 181964208 I server seki available on 25.5
606847163 181965107 I server xseki available on 20.5
606849422 182100648 A SET MINOR: unix9cscp: Host dead in slot 20
606849449 182102280 A SET MINOR: unixcscp: DEAD HOST in slot 25
606849616 182112333 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606849617 182112352 I server seki removed from 25.5
606849622 182112684 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606849623 182112707 I server xseki removed from 20.5
606849624 182112821 I server seki available on 25.5
606849641 182113814 I server xseki available on 20.5
606916885 186149792 A SET MINOR: unix9cscp: Host dead in slot 20
606916914 186151530 A SET MINOR: unixcscp: DEAD HOST in slot 25
606916922 186152036 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606916922 186152046 I server seki removed from 25.5
606916929 186152406 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606916930 186152474 I server xseki removed from 20.5
606916932 186152635 I server seki available on 25.5
606916946 186153455 I server xseki available on 20.5
606997002 190958507 I tdk2cscp: circuit 30.252 out of sync with remote
607013917 191973769 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
607028362 192840709 I server tempel removed from 17.5
607028539 192851340 A SET MINOR: CPMHS 17: Fiber disconnected
607028543 192851605 A SET ERROR: CPMHS 17: Reset errors
607032508 193089552 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
607032938 193113680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
607032984 193116402 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
607033148 193126268 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
607035073 193241785 A CLEAR MINOR: CPMHS 17: Fiber disconnected
607035255 193252741 A CLEAR ERROR: CPMHS 17: Reset errors
607035528 193269108 A SET ERROR: CPMHS 17: Reset errors
607035807 193285873 A CLEAR ERROR: CPMHS 17: Reset errors
607036477 193326043 I unixcscp: Host alive in slot 17
607036479 193326204 I server tempel available on 17.5
607040655 193576842 I unixcscp: Host alive in slot 29/3
607041731 193641429 I unixcscp: Host alive in slot 29/3
607042426 193683104 I server tuttle available on 29/3.5
607042469 193685728 I server tuttle removed from 29/3.5
607042701 193699619 I unixcscp: Host alive in slot 29/3
607042726 193701144 I server tuttle available on 29/3.5
607042733 193701561 I server tuttle removed from 29/3.5
607042744 193702196 I server tuttle available on 29/3.5
607050694 194179346 I unixcscp: Host alive in slot 29/3
607050696 194179470 I server tuttle removed from 29/3.5
607050697 194179524 I server tuttle available on 29/3.5
607051475 194226195 I server tuttle removed from 29/3.5
607051621 194234960 I unixcscp: Host alive in slot 29/3
607051623 194235103 I server tuttle available on 29/3.5
607096089 196903856 I unixcscp: Host alive in slot 29/3
607096089 196903869 I server tuttle removed from 29/3.5
607096092 196904003 I server tuttle available on 29/3.5
607101503 197228823 I server tuttle removed from 29/3.5
607101643 197237214 I unixcscp: Host alive in slot 29/3
607101645 197237365 I server tuttle available on 29/3.5
607122107 198465492 I server tuttle removed from 29/3.5
607125447 198665948 I unixcscp: Host alive in slot 29/3
607125462 198666848 I server tuttle available on 29/3.5
607129959 198936760 I server tuttle removed from 29/3.5
607130128 198946900 I unixcscp: Host alive in slot 29/3
607130131 198947051 I server tuttle available on 29/3.5
607130216 198952186 I server tuttle removed from 29/3.5
607130496 198968973 I unixcscp: Host alive in slot 29/3
607130498 198969121 I server tuttle available on 29/3.5
607180613 201976993 I server tuttle removed from 29/3.5
607186257 202315755 I server fornax removed from 23.3
607186258 202315847 I unixcscp: Host alive in slot 23
607186266 202316325 I server fornax available on 23.3
607186588 202335652 I server fornax removed from 23.3
607186629 202338091 I unixcscp: Host alive in slot 23
607186635 202338460 I server fornax available on 23.3
607190389 202563824 I unixcscp: Host alive in slot 29/3
607190392 202563971 I server tuttle available on 29/3.5
607191783 202647448 I server tuttle removed from 29/3.5
607192135 202668609 I unixcscp: Host alive in slot 29/3
607192138 202668757 I server tuttle available on 29/3.5
607192611 202697168 I server tuttle removed from 29/3.5
607192746 202705262 I unixcscp: Host alive in slot 29/3
607192748 202705407 I server tuttle available on 29/3.5
607195380 202863386 I server tuttle removed from 29/3.5
607195521 202871834 I unixcscp: Host alive in slot 29/3
607195524 202871980 I server tuttle available on 29/3.5
607203413 203345497 I server tuttle removed from 29/3.5
607203688 203361971 I unixcscp: Host alive in slot 29/3
607203721 203363968 I server tuttle available on 29/3.7
607204002 203380796 I server tuttle removed from 29/3.7
607204134 203388727 I unixcscp: Host alive in slot 29/3
607204136 203388875 I server tuttle available on 29/3.5
607204855 203432025 I server tuttle removed from 29/3.5
607205744 203485385 I unixcscp: Host alive in slot 29/3
607205773 203487093 I server tuttle available on 29/3.5
607211699 203842780 I server tuttle removed from 29/3.5
607211901 203854932 I unixcscp: Host alive in slot 29/3
607211961 203858541 I server tuttle available on 29/3.7
607213081 203925763 I server tuttle removed from 29/3.7
607213104 203927118 I unixcscp: Host alive in slot 29/3
607213104 203927133 I server tuttle available on 29/3.5
607213788 203968215 I server tuttle removed from 29/3.5
607214004 203981153 I unixcscp: Host alive in slot 29/3
607214064 203984763 I server tuttle available on 29/3.7
607222838 204511338 I server tempel removed from 17.5
607223065 204524958 A SET ERROR: CPMHS 17: Reset errors
607223167 204531088 I unixcscp: Host alive in slot 17
607223170 204531256 I server tempel available on 17.5
607223256 204536442 A CLEAR ERROR: CPMHS 17: Reset errors
607224406 204605484 A SET ERROR: CPMHS 17: Reset errors
607224586 204616292 I unixcscp: Host alive in slot 17
607224589 204616416 I server tempel removed from 17.5
607224589 204616467 I server tempel available on 17.5
607224596 204616854 A CLEAR ERROR: CPMHS 17: Reset errors
607236811 205355819 I unixcscp: Host alive in slot 29/3
607243269 205741098 I unixcscp: Host alive in slot 29/3
607245985 205903131 I unixcscp: Host alive in slot 29/3
607248369 206045359 I unixcscp: Host alive in slot 29/3
607256990 206561048 I unixcscp: Host alive in slot 29/3
607259337 206701897 I unixcscp: Host alive in slot 29/3
607270236 207356062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
607273396 207545748 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
607277713 207804887 A SET MINOR: Board type incon code 0377 not defined; device 29/8
607278061 207825748 A SET MINOR: Board type incon code 061 not defined; device 29/3
607278066 207826044 A SET MAJOR: WIF 29: Wrong device state
607278087 207827302 A CLEAR MAJOR: WIF 29: Wrong device state
607278453 207849322 I unixcscp: Host alive in slot 29/3
607278456 207849447 I server tuttle removed from 29/3.7
607278456 207849473 I server tuttle available on 29/3.5
607278655 207861431 A SET MAJOR: INCON Station 29/3, id 'MIPS', receive fifo overflow
607278730 207865899 I server fornax removed from 23.3
607280897 207995979 I unixcscp: Host alive in slot 23
607280905 207996454 I server fornax available on 23.3
607281227 208015785 I server fornax removed from 23.3
607282986 208121379 A SET MAJOR: INCON Station 29/3, id 'MIPS', exceeded error limit
607283008 208122680 I unixcscp: Host alive in slot 23
607283013 208123018 I server fornax available on 23.3
607290658 208581793 A SET MAJOR: tdk2cscp: trunk 6 is dead
607290870 208594527 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
607296235 208916487 I server fornax removed from 23.3
607296388 208925738 I unixcscp: Host alive in slot 23
607297349 208983383 I unixcscp: Host alive in slot 23
607297380 208985269 I unixcscp: Host alive in slot 23
607297554 208995696 I unixcscp: Host alive in slot 23
607297560 208996052 I server fornax available on 23.3
607297645 209001105 I server fornax removed from 23.3
607297680 209003272 I unixcscp: Host alive in slot 23
607297886 209015644 I unixcscp: Host alive in slot 23
607297893 209016021 I server fornax available on 23.3
607297977 209021049 I server fornax removed from 23.3
607298011 209023118 I unixcscp: Host alive in slot 23
607298017 209023467 I server fornax available on 23.3
607298551 209055525 I server fornax removed from 23.3
607298620 209059666 I unixcscp: Host alive in slot 23
607298625 209060000 I server fornax available on 23.3
607298951 209079472 I server fornax removed from 23.3
607298952 209079558 I unixcscp: Host alive in slot 23
607298983 209081437 I unixcscp: Host alive in slot 23
607299100 209088468 I unixcscp: Host alive in slot 23
607299106 209088819 I server fornax available on 23.3
607299339 209102784 A SET MAJOR: tdk2cscp: trunk 9 is dead
607300242 209157012 A SET ERROR: TRKHS 9: Receive mute errors
607300365 209164404 A CLEAR ERROR: TRKHS 9: Receive mute errors
607300596 209178264 A SET MAJOR: TRKHS 9: Wrong device state
607300598 209178393 A CLEAR MAJOR: TRKHS 9: Wrong device state
607300615 209179385 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
607300619 209179644 I loopp: Trunk 9 active
607301108 209208970 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
607301139 209210830 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
607301380 209225277 I server fornax removed from 23.3
607301404 209226738 I unixcscp: Host alive in slot 23
607301409 209227078 I server fornax available on 23.3
607301672 209242819 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607301674 209242954 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607302263 209278303 A SET MAJOR: tdk2cscp: trunk 9 is dead
607302685 209303634 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
607303299 209340499 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607303301 209340634 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607319371 210305119 I unixcscp: Host alive in slot 29/3
607320286 210360067 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607320288 210360202 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607322254 210478203 I unixcscp: Host alive in slot 29/3
607333098 211129039 I unixcscp: Host alive in slot 29/3
607354722 212426905 I unixcscp: Host alive in slot 29/3
607358146 212632436 I unixcscp: Host alive in slot 29/3
607360220 212756941 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607360225 212757209 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607361150 212812736 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
607361415 212828668 A SET MAJOR: WIF 29: Wrong device state
607361440 212830183 A CLEAR MAJOR: WIF 29: Wrong device state
607363218 212936887 A SET MAJOR: tdk2cscp: trunk 9 is dead
607363639 212962112 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
607375250 213658991 I unixcscp: Host alive in slot 29/3
607375252 213659114 I server tuttle removed from 29/3.5
607375252 213659141 I server tuttle available on 29/3.5
607397184 214975504 I unixcscp: Host alive in slot 29/3
607397184 214975513 I server tuttle removed from 29/3.5
607397186 214975647 I server tuttle available on 29/3.5
ݼ
���:(c�#���#��R(wtmbin/n/westphal/netstat/node.6/info.Jan1989v/v14725/7933035599777182 175735207 A SET MAJOR: tdk2cscp: mod 8: packet behind
599777361 175745980 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599779150 175853341 A SET MAJOR: tdk2cscp: mod 8: packet behind
599779556 175877666 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599779902 175898435 A SET MAJOR: tdk2cscp: mod 8: packet behind
599780127 175911941 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599780458 175931793 A SET MAJOR: tdk2cscp: mod 8: packet behind
599780623 175941703 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599781766 176010294 A SET MAJOR: tdk2cscp: mod 8: packet behind
599782021 176025589 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599786926 176319855 A SET MAJOR: tdk2cscp: mod 8: packet behind
599787437 176350521 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599788236 176398395 A SET MAJOR: tdk2cscp: mod 8: packet behind
599788326 176403772 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599788778 176430930 A SET MAJOR: tdk2cscp: mod 8: packet behind
599788958 176441741 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599790574 176538676 A SET MAJOR: tdk2cscp: mod 8: packet behind
599790738 176548536 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599790919 176559378 A SET MAJOR: tdk2cscp: mod 8: packet behind
599791099 176570173 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599791987 176623498 A SET MAJOR: tdk2cscp: mod 8: packet behind
599792572 176658593 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599799190 177055700 A SET MAJOR: tdk2cscp: mod 8: packet behind
599799338 177064604 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599809065 177648262 A SET MAJOR: tdk2cscp: mod 8: packet behind
599809951 177701415 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599810102 177710492 A SET MAJOR: tdk2cscp: mod 8: packet behind
599810987 177763584 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599811424 177789797 A SET MAJOR: tdk2cscp: mod 8: packet behind
599811694 177805997 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599812025 177825844 A SET MAJOR: tdk2cscp: mod 8: packet behind
599812190 177835758 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599812551 177857433 A SET MAJOR: tdk2cscp: mod 8: packet behind
599812972 177882649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599813468 177912441 A SET MAJOR: tdk2cscp: mod 8: packet behind
599813768 177930441 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599816762 178110057 A SET MAJOR: tdk2cscp: mod 8: packet behind
599818129 178192059 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599818745 178229036 A SET MAJOR: tdk2cscp: mod 8: packet behind
599818940 178240759 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599819618 178281416 A SET MAJOR: tdk2cscp: mod 8: packet behind
599820082 178309254 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599820744 178348993 A SET MAJOR: tdk2cscp: mod 8: packet behind
599821209 178376882 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599821435 178390467 A SET MAJOR: tdk2cscp: mod 8: packet behind
599821765 178410269 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599822997 178484175 A SET MAJOR: tdk2cscp: mod 8: packet behind
599823237 178498577 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599823494 178514002 A SET MAJOR: tdk2cscp: mod 8: packet behind
599825491 178633782 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599826513 178695135 A SET MAJOR: tdk2cscp: mod 8: packet behind
599827759 178769918 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599828165 178794295 A SET MAJOR: tdk2cscp: mod 8: packet behind
599828435 178810471 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599830391 178927837 A SET MAJOR: tdk2cscp: mod 8: packet behind
599830976 178962945 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599831337 178984603 A SET MAJOR: tdk2cscp: mod 8: packet behind
599831517 178995401 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599831893 179017951 A SET MAJOR: tdk2cscp: mod 8: packet behind
599832554 179057602 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599832750 179069374 A SET MAJOR: tdk2cscp: mod 8: packet behind
599833637 179122571 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599833863 179136161 A SET MAJOR: tdk2cscp: mod 8: packet behind
599834419 179169496 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599834494 179174031 A SET MAJOR: tdk2cscp: mod 8: packet behind
599834599 179180326 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599837909 179378910 A SET MAJOR: tdk2cscp: mod 8: packet behind
599838059 179387916 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599838225 179397856 A SET MAJOR: tdk2cscp: mod 8: packet behind
599838540 179416778 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599838767 179430426 A SET MAJOR: tdk2cscp: mod 8: packet behind
599839127 179452040 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599839474 179472844 A SET MAJOR: tdk2cscp: mod 8: packet behind
599839685 179485476 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599843259 179699964 A SET MAJOR: tdk2cscp: mod 8: packet behind
599843350 179705373 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599843819 179733520 A SET MAJOR: tdk2cscp: mod 8: packet behind
599844391 179767827 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599844505 179774671 A SET MAJOR: tdk2cscp: trunk 8 is dead
599844520 179775576 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
599874423 181566880 I unixcscp: Host alive in slot 14
599897505 182951800 A SET MAJOR: tdk2cscp: mod 8: packet behind
599898016 182982464 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599899129 183049227 A SET MAJOR: tdk2cscp: mod 8: packet behind
599899354 183062728 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599900257 183116904 A SET MAJOR: tdk2cscp: mod 8: packet behind
599900512 183132218 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599937384 185340271 A SET MAJOR: tdk2cscp: trunk 8 is dead
599943157 1817 I Reboot complete
599943157 1904 I unixcscp: Host alive in slot 14
599943157 2245 I loopp: Trunk 4 active
599943157 2389 I loopp: Trunk 8 active
599943157 2434 I loopp: Trunk 9 active
599943157 2503 I server fishonaplatter available on 14.5
599974005 1853446 A SET MAJOR: tdk2cscp: mod 8: packet behind
599974094 1858832 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599983498 2423077 A SET MAJOR: tdk2cscp: mod 8: packet behind
599983693 2434800 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600010933 4069061 A SET MAJOR: tdk2cscp: trunk 8 is dead
600011009 4073567 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600014308 4271549 A SET MAJOR: tdk2cscp: trunk 9 is dead
600016411 4397752 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600016932 4429045 A SET MAJOR: tdk2cscp: trunk 9 is dead
600018062 4496848 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600018109 4499631 A SET MAJOR: tdk2cscp: mod 8: packet behind
600018215 4506014 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600018297 4510945 A SET MAJOR: tdk2cscp: trunk 9 is dead
600022395 4756823 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600022600 4769122 A SET MAJOR: tdk2cscp: mod 8: packet behind
600023042 4795654 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600035271 5529396 A SET MAJOR: tdk2cscp: mod 8: packet behind
600035423 5538522 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600049069 6357171 A SET MAJOR: tdk2cscp: mod 8: packet behind
600049343 6373628 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600055375 6735531 A SET MAJOR: tdk2cscp: mod 8: packet behind
600055527 6744649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600117353 1835 I Reboot complete
600117353 1922 I unixcscp: Host alive in slot 14
600117353 2321 I loopp: Trunk 4 active
600117353 2383 I loopp: Trunk 8 active
600117353 2426 I loopp: Trunk 9 active
600117353 2473 I server fishonaplatter available on 14.5
600120180 173006 A SET MAJOR: tdk2cscp: trunk 8 is dead
600120992 221749 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600351014 14023105 A SET MAJOR: tdk2cscp: trunk 8 is dead
600351014 14023112 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600386279 16138981 A SET MAJOR: tdk2cscp: trunk 9 is dead
600386778 16168914 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600428782 18689122 I tdk2cscp: circuit 8.244 out of sync with remote
600460208 20574692 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
600460261 20577863 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
600532722 24925587 I server fishonaplatter removed from 14.5
600532760 24927853 A SET MINOR: CPM422 14: Cables disconnected
600532798 24930120 A SET MINOR: unixcscp: DEAD HOST in slot 14
600534262 25018008 A CLEAR MINOR: CPM422 14: Cables disconnected
600534282 25019196 A SET MINOR: CPM422 14: Cables disconnected
600534506 25032660 A CLEAR MINOR: CPM422 14: Cables disconnected
600534524 25033716 A SET MINOR: CPM422 14: Cables disconnected
600534678 25042956 A CLEAR MINOR: CPM422 14: Cables disconnected
600534808 25050744 A SET MINOR: CPM422 14: Cables disconnected
600534914 25057080 A CLEAR MINOR: CPM422 14: Cables disconnected
600534927 25057873 A SET MINOR: CPM422 14: Cables disconnected
600535356 25083612 A CLEAR MINOR: CPM422 14: Cables disconnected
600535684 25103307 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
600535688 25103553 I server fishonaplatter available on 14.6
600719209 36114867 I loopp: Trunk 4 active
600719398 36126176 I loopp: Trunk 4 active
600719514 36129330 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600719515 36131887 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600719612 36139009 A SET MAJOR: tdk2cscp: trunk 8 is dead
600720120 36169493 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600725936 36512518 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600725936 36514777 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600726424 36547759 A SET MAJOR: tdk2cscp: trunk 8 is dead
600726850 36573365 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600961539 50653740 A SET MAJOR: tdkp: trunk 4 is dead
600961747 50667121 A CLEAR MAJOR: tdkp: trunk 4 is dead
600972316 51301285 A SET MAJOR: tdk2cscp: trunk 9 is dead
600972421 51307586 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
601152501 62084359 A SET MAJOR: tdk2cscp: trunk 8 is dead
601152512 62113160 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601152514 62113242 A SET MAJOR: loopp: trunk 8 appears dead
601152525 62113902 A CLEAR MAJOR: loopp: trunk 8 appears dead
601152696 62124151 I tdk2cscp: circuit 8.242 out of sync with remote
601163057 62745860 A SET MAJOR: tdk2cscp: trunk 8 is dead
601163061 62745872 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311799 71670265 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311812 71671027 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311844 71672966 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311865 71674209 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311904 71676565 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311918 71677397 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311949 71679265 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311968 71680419 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601312009 71682866 A SET MAJOR: tdk2cscp: trunk 8 is dead
601312021 71683586 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601312054 71685565 A SET MAJOR: tdk2cscp: trunk 8 is dead
601312076 71686884 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313194 71753965 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313210 71754955 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313269 71758465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313292 71759850 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313464 71770165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313475 71770830 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313734 71786365 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313754 71787595 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601319584 72137367 A SET MAJOR: tdk2cscp: trunk 8 is dead
601319607 72138745 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601319644 72140965 A SET MAJOR: tdk2cscp: trunk 8 is dead
601319657 72141711 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326215 72535165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326233 72536208 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326321 72541465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326339 72542568 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326681 72563067 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326705 72564510 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326740 72566665 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326770 72568438 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326800 72570265 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326839 72572549 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326875 72574765 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326890 72575649 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326920 72577465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326948 72579138 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327010 72582867 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327032 72584158 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327070 72586465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327090 72587657 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327130 72590065 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327151 72591308 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327190 72593666 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327208 72594743 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327265 72598165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327274 72598698 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327355 72603566 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327358 72603724 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327415 72607165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327424 72607679 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327505 72612567 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327511 72612870 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601438509 79272750 A SET MINOR: unixcscp: DEAD HOST in slot 14
601438840 79292613 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
601438840 79292621 I server fishonaplatter removed from 14.6
601438842 79292722 I server fishonaplatter available on 14.5
601790289 100379611 A SET MINOR: unixcscp: DEAD HOST in slot 14
601790664 100402119 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
601790665 100402126 I server fishonaplatter removed from 14.5
601790719 100405407 I server fishonaplatter available on 14.5
601853777 104188958 A SET MAJOR: tdk2cscp: trunk 9 is dead
601854138 104210617 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
602173970 123400431 I loopp: Trunk 4 active
602174101 123408289 A SET MAJOR: tdkp: trunk 4 is dead
602174127 123409829 A CLEAR MAJOR: tdkp: trunk 4 is dead
602233958 126999930 A SET MAJOR: tdkp: trunk 4 is dead
602234447 127029294 A SET MAJOR: loopp: trunk 4 appears dead
602259331 128522302 I tdk2cscp: circuit 8.248 out of sync with remote
602271968 129280534 A CLEAR MAJOR: tdkp: trunk 4 is dead
602271979 129281157 A CLEAR MAJOR: loopp: trunk 4 appears dead
��i���H�7�R(7�R(7�R(wtmbin/n/westphal/netstat/node.7/info.Jun1991v/v14725/7943039676514114 151599961 I tdk2cscp: trunk 47 going dead; kpalive 31444 timout 32120 33724 35530
676514114 151599962 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
676514114 151599963 I tdk2cscp 47: datain count 1 at 32124 31443 31443 31444 73163 30760 30760 173342 173342 - 173342
676514114 151599964 I tdk2cscp 47: msg count 0 at 31444 30760 136015 0 0 0 0 0 0 - 0
676514114 151599964 A SET MAJOR: tdk2cscp: trunk 47 is dead
676514114 154860064 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
676514114 154876861 I tdk2cscp: trunk 47 going dead; kpalive 30736 timout 32264 34070 35674
676514116 154876861 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
676514116 154876863 I tdk2cscp 47: datain count 0 at 30503 30736 30736 30736 12513 177313 177313 173342 173342 - 173342
676514116 154876863 I tdk2cscp 47: msg count 0 at 30736 30760 136015 0 0 0 0 0 0 - 0
676514116 154876864 A SET MAJOR: tdk2cscp: trunk 47 is dead
676514116 154879603 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
$G����R(�R(�R(wtmbin/n/westphal/netstat/hklabrawv/v14725/7953040����������R(y�R(��R(wtmbin/n/westphal/netstat/t3v/v14725/7963041/n/westphal/netstat//Thu Mar  7 14:13:15 1991 /usr/backup/v/v14122/730
/n/westphal/netstat/node.1/config.Apr1989//Sat Apr 29 00:09:52 1989 /usr/backup/v/v5982/331
/n/westphal/netstat/node.1/config.Apr1990//Tue May  1 00:11:35 1990 /usr/backup/v/v12160/221
/n/westphal/netstat/node.1/config.Apr1991//Wed May  1 00:10:37 1991 /usr/backup/v/v14489/499
/n/westphal/netstat/node.1/config.Aug1989//Mon Aug 28 00:13:32 1989 /usr/backup/v/v7010/283
/n/westphal/netstat/node.1/config.Aug1990//Thu Aug 30 00:04:53 1990 /usr/backup/v/v12930/1316
/n/westphal/netstat/node.1/config.Dec1988//Wed Dec 28 00:03:22 1988 /usr/backup/v/v4891/438
/n/westphal/netstat/node.1/config.Dec1989//Wed Dec 20 00:16:13 1989 /usr/backup/v/v11021/558
/n/westphal/netstat/node.1/config.Dec1990//Fri Dec 28 00:01:06 1990 /usr/backup/v/v13677/331
/n/westphal/netstat/node.1/config.Feb1989//Sat Feb 25 23:59:28 1989 /usr/backup/v/v5441/167
/n/westphal/netstat/node.1/config.Feb1990//Fri Feb 23 00:25:23 1990 /usr/backup/v/v11593/1134
/n/westphal/netstat/node.1/config.Feb1991//Thu Feb 28 00:06:53 1991 /usr/backup/v/v14062/300
/n/westphal/netstat/node.1/config.Jan1989//Wed Feb  1 00:14:05 1989 /usr/backup/v/v5213/184
/n/westphal/netstat/node.1/config.Jan1990//Wed Jan 31 00:23:37 1990 /usr/backup/v/v11412/432
/n/westphal/netstat/node.1/config.Jan1991//Sat Jan 26 23:57:02 1991 /usr/backup/v/v13827/539
/n/westphal/netstat/node.1/config.Jul1989//Sat Jul 29 00:07:53 1989 /usr/backup/v/v6711/257
/n/westphal/netstat/node.1/config.Jul1990//Tue Jul 31 00:04:55 1990 /usr/backup/v/v12716/312
/n/westphal/netstat/node.1/config.Jun1989//Thu Jun 29 00:08:53 1989 /usr/backup/v/v6468/240
/n/westphal/netstat/node.1/config.Jun1990//Sun Jul  1 00:18:58 1990 /usr/backup/v/v12506/618
/n/westphal/netstat/node.1/config.Jun1991//Wed Jun  5 00:14:57 1991 /usr/backup/v/v14690/876
/n/westphal/netstat/node.1/config.Mar1989//Sat Apr  1 00:07:02 1989 /usr/backup/v/v5755/327
/n/westphal/netstat/node.1/config.Mar1990//Fri Mar 30 00:01:29 1990 /usr/backup/v/v11879/790
/n/westphal/netstat/node.1/config.Mar1991//Sat Mar 30 00:01:47 1991 /usr/backup/v/v14260/1148
/n/westphal/netstat/node.1/config.May1989//Sat May 20 00:06:32 1989 /usr/backup/v/v6147/200
/n/westphal/netstat/node.1/config.May1990//Fri Jun  1 00:03:52 1990 /usr/backup/v/v12400/424
/n/westphal/netstat/node.1/config.May1991//Fri May 31 00:11:28 1991 /usr/backup/v/v14661/774
/n/westphal/netstat/node.1/config.Nov1988//Wed Nov 30 00:08:46 1988 /usr/backup/v/v4616/129
/n/westphal/netstat/node.1/config.Nov1989//Thu Nov 30 00:18:56 1989 /usr/backup/v/v10883/981
/n/westphal/netstat/node.1/config.Nov1990//Sat Dec  1 00:00:46 1990 /usr/backup/v/v13532/685
/n/westphal/netstat/node.1/config.Oct1989//Tue Oct 31 00:29:10 1989 /usr/backup/v/v10670/989
/n/westphal/netstat/node.1/config.Oct1990//Thu Nov  1 00:02:26 1990 /usr/backup/v/v13353/1225
/n/westphal/netstat/node.1/config.Sep1989//Fri Sep 29 00:22:54 1989 /usr/backup/v/v7233/181
/n/westphal/netstat/node.1/config.Sep1990//Sat Sep 29 00:02:43 1990 /usr/backup/v/v13154/642
/n/westphal/netstat/node.1/info.Apr1989//Sun Apr 30 23:59:49 1989 /usr/backup/v/v5991/136
/n/westphal/netstat/node.1/info.Apr1990//Tue May  1 00:14:22 1990 /usr/backup/v/v12160/398
/n/westphal/netstat/node.1/info.Apr1991//Wed May  1 00:13:28 1991 /usr/backup/v/v14491/482
/n/westphal/netstat/node.1/info.Aug1989//Fri Sep  1 00:07:47 1989 /usr/backup/v/v7041/678
/n/westphal/netstat/node.1/info.Aug1990//Sat Sep  1 00:04:59 1990 /usr/backup/v/v12949/196
/n/westphal/netstat/node.1/info.Dec1988//Sat Dec 31 23:58:41 1988 /usr/backup/v/v4916/359
/n/westphal/netstat/node.1/info.Dec1989//Mon Jan  1 00:10:58 1990 /usr/backup/v/v11119/1708
/n/westphal/netstat/node.1/info.Dec1990//Mon Dec 31 23:59:29 1990 /usr/backup/v/v13695/959
/n/westphal/netstat/node.1/info.Feb1989//Wed Mar  1 00:07:00 1989 /usr/backup/v/v5452/0
/n/westphal/netstat/node.1/info.Feb1990//Thu Mar  1 00:09:31 1990 /usr/backup/v/v11639/399
/n/westphal/netstat/node.1/info.Feb1991//Fri Mar  1 00:11:02 1991 /usr/backup/v/v14067/654
/n/westphal/netstat/node.1/info.Jan1989//Wed Feb  1 00:16:34 1989 /usr/backup/v/v5213/353
/n/westphal/netstat/node.1/info.Jan1990//Thu Feb  1 00:11:42 1990 /usr/backup/v/v11422/244
/n/westphal/netstat/node.1/info.Jan1991//Fri Feb  1 00:13:15 1991 /usr/backup/v/v13853/575
/n/westphal/netstat/node.1/info.Jul1989//Tue Aug  1 00:14:22 1989 /usr/backup/v/v6731/492
/n/westphal/netstat/node.1/info.Jul1990//Wed Aug  1 00:08:57 1990 /usr/backup/v/v12731/72
/n/westphal/netstat/node.1/info.Jun1989//Sat Jul  1 00:12:11 1989 /usr/backup/v/v6478/48
/n/westphal/netstat/node.1/info.Jun1990//Sun Jul  1 00:22:29 1990 /usr/backup/v/v12506/829
/n/westphal/netstat/node.1/info.Jun1991//Fri Jun  7 00:19:34 1991 /usr/backup/v/v14713/641
/n/westphal/netstat/node.1/info.Mar1989//Wed Mar 15 00:08:05 1989 /usr/backup/v/v5581/503
/n/westphal/netstat/node.1/info.Mar1990//Sun Apr  1 00:00:46 1990 /usr/backup/v/v11895/88
/n/westphal/netstat/node.1/info.Mar1991//Sun Mar 31 22:56:17 1991 /usr/backup/v/v14272/174
/n/westphal/netstat/node.1/info.May1989//Thu Jun  1 00:19:23 1989 /usr/backup/v/v6243/266
/n/westphal/netstat/node.1/info.May1990//Fri Jun  1 00:05:46 1990 /usr/backup/v/v12400/686
/n/westphal/netstat/node.1/info.May1991//Mon May 27 00:03:17 1991 /usr/backup/v/v14641/663
/n/westphal/netstat/node.1/info.Nov1988//Thu Dec  1 00:08:38 1988 /usr/backup/v/v4631/375
/n/westphal/netstat/node.1/info.Nov1989//Fri Dec  1 00:29:00 1989 /usr/backup/v/v10896/81
/n/westphal/netstat/node.1/info.Nov1990//Sat Dec  1 00:02:43 1990 /usr/backup/v/v13534/566
/n/westphal/netstat/node.1/info.Oct1989//Wed Nov  1 00:30:20 1989 /usr/backup/v/v10677/994
/n/westphal/netstat/node.1/info.Oct1990//Thu Nov  1 00:04:32 1990 /usr/backup/v/v13354/100
/n/westphal/netstat/node.1/info.Sep1989//Fri Sep 29 00:25:27 1989 /usr/backup/v/v7233/294
/n/westphal/netstat/node.1/info.Sep1990//Mon Oct  1 00:15:31 1990 /usr/backup/v/v13165/985
/n/westphal/netstat/node.2/config.Apr1989//Sat Apr 22 00:10:50 1989 /usr/backup/v/v5922/518
/n/westphal/netstat/node.2/config.Apr1990//Thu Apr 19 00:13:28 1990 /usr/backup/v/v12055/805
/n/westphal/netstat/node.2/config.Apr1991//Tue Apr 16 00:07:13 1991 /usr/backup/v/v14400/541
/n/westphal/netstat/node.2/config.Aug1989//Sat Aug 26 00:10:03 1989 /usr/backup/v/v7014/553
/n/westphal/netstat/node.2/config.Aug1990//Wed Aug  8 00:07:45 1990 /usr/backup/v/v12797/779
/n/westphal/netstat/node.2/config.Dec1988//Sat Dec 31 00:04:18 1988 /usr/backup/v/v4911/255
/n/westphal/netstat/node.2/config.Dec1989//Thu Dec 28 00:03:30 1989 /usr/backup/v/v11073/994
/n/westphal/netstat/node.2/config.Dec1990//Sat Dec  1 23:57:36 1990 /usr/backup/v/v13537/1045
/n/westphal/netstat/node.2/config.Feb1989//Fri Feb 24 00:13:57 1989 /usr/backup/v/v5418/419
/n/westphal/netstat/node.2/config.Feb1990//Thu Feb  8 00:12:15 1990 /usr/backup/v/v11489/866
/n/westphal/netstat/node.2/config.Feb1991//Thu Feb 28 00:10:58 1991 /usr/backup/v/v14063/307
/n/westphal/netstat/node.2/config.Jan1989//Fri Jan 20 00:11:49 1989 /usr/backup/v/v5090/82
/n/westphal/netstat/node.2/config.Jan1990//Sat Jan 27 00:21:42 1990 /usr/backup/v/v11385/463
/n/westphal/netstat/node.2/config.Jan1991//Sat Jan 26 23:58:42 1991 /usr/backup/v/v13823/141
/n/westphal/netstat/node.2/config.Jul1989//Thu Jul 27 00:18:25 1989 /usr/backup/v/v6688/651
/n/westphal/netstat/node.2/config.Jul1990//Thu Jul 12 00:06:25 1990 /usr/backup/v/v12578/51
/n/westphal/netstat/node.2/config.Jun1989//Sat Jul  1 00:14:11 1989 /usr/backup/v/v6479/455
/n/westphal/netstat/node.2/config.Jun1990//Wed Jun 27 00:14:52 1990 /usr/backup/v/v12484/1060
/n/westphal/netstat/node.2/config.Jun1991//Fri Jun  7 00:21:55 1991 /usr/backup/v/v14708/516
/n/westphal/netstat/node.2/config.Mar1989//Wed Mar 29 00:14:23 1989 /usr/backup/v/v5728/544
/n/westphal/netstat/node.2/config.Mar1990//Wed Mar 21 00:15:33 1990 /usr/backup/v/v11791/764
/n/westphal/netstat/node.2/config.Mar1991//Fri Mar 29 00:04:51 1991 /usr/backup/v/v14255/499
/n/westphal/netstat/node.2/config.May1989//Sat May 20 00:10:05 1989 /usr/backup/v/v6148/569
/n/westphal/netstat/node.2/config.May1990//Sat May 26 00:03:19 1990 /usr/backup/v/v12371/706
/n/westphal/netstat/node.2/config.May1991//Sat May 18 00:06:44 1991 /usr/backup/v/v14593/717
/n/westphal/netstat/node.2/config.Nov1988//Wed Nov 30 00:12:15 1988 /usr/backup/v/v4609/109
/n/westphal/netstat/node.2/config.Nov1989//Fri Dec  1 00:32:10 1989 /usr/backup/v/v10896/203
/n/westphal/netstat/node.2/config.Nov1990//Wed Nov 28 00:07:24 1990 /usr/backup/v/v13515/1032
/n/westphal/netstat/node.2/config.Oct1989//Tue Oct 31 00:36:53 1989 /usr/backup/v/v10670/1025
/n/westphal/netstat/node.2/config.Oct1990//Wed Oct 17 00:05:10 1990 /usr/backup/v/v13272/216
/n/westphal/netstat/node.2/config.Sep1989//Fri Sep 29 00:27:39 1989 /usr/backup/v/v7229/967
/n/westphal/netstat/node.2/config.Sep1990//Sat Sep 22 00:07:11 1990 /usr/backup/v/v13109/741
/n/westphal/netstat/node.2/info.Apr1989//Sat Apr 29 00:15:45 1989 /usr/backup/v/v5982/565
/n/westphal/netstat/node.2/info.Apr1990//Tue May  1 00:16:45 1990 /usr/backup/v/v12161/299
/n/westphal/netstat/node.2/info.Apr1991//Tue Apr 30 00:15:08 1991 /usr/backup/v/v14483/516
/n/westphal/netstat/node.2/info.Aug1989//Tue Aug 29 00:19:37 1989 /usr/backup/v/v7014/627
/n/westphal/netstat/node.2/info.Aug1990//Sat Sep  1 00:06:40 1990 /usr/backup/v/v12949/584
/n/westphal/netstat/node.2/info.Dec1988//Sat Dec 31 23:59:38 1988 /usr/backup/v/v4917/359
/n/westphal/netstat/node.2/info.Dec1989//Mon Jan  1 00:14:11 1990 /usr/backup/v/v11120/1326
/n/westphal/netstat/node.2/info.Dec1990//Sat Dec 29 00:01:49 1990 /usr/backup/v/v13682/308
/n/westphal/netstat/node.2/info.Feb1989//Wed Mar  1 00:09:56 1989 /usr/backup/v/v5454/171
/n/westphal/netstat/node.2/info.Feb1990//Thu Mar  1 00:12:36 1990 /usr/backup/v/v11632/805
/n/westphal/netstat/node.2/info.Feb1991//Thu Feb 28 00:12:25 1991 /usr/backup/v/v14063/522
/n/westphal/netstat/node.2/info.Jan1989//Wed Feb  1 00:21:25 1989 /usr/backup/v/v5204/337
/n/westphal/netstat/node.2/info.Jan1990//Thu Feb  1 00:14:41 1990 /usr/backup/v/v11421/1207
/n/westphal/netstat/node.2/info.Jan1991//Fri Feb  1 00:15:20 1991 /usr/backup/v/v13854/379
/n/westphal/netstat/node.2/info.Jul1989//Tue Aug  1 00:18:56 1989 /usr/backup/v/v6732/490
/n/westphal/netstat/node.2/info.Jul1990//Wed Aug  1 00:10:59 1990 /usr/backup/v/v12721/443
/n/westphal/netstat/node.2/info.Jun1989//Sat Jul  1 00:16:13 1989 /usr/backup/v/v6471/35
/n/westphal/netstat/node.2/info.Jun1990//Sat Jun 30 00:26:40 1990 /usr/backup/v/v12500/397
/n/westphal/netstat/node.2/info.Jun1991//Fri Jun  7 00:24:19 1991 /usr/backup/v/v14708/738
/n/westphal/netstat/node.2/info.Mar1989//Sat Apr  1 00:12:40 1989 /usr/backup/v/v5748/73
/n/westphal/netstat/node.2/info.Mar1990//Sat Mar 31 00:06:27 1990 /usr/backup/v/v11893/614
/n/westphal/netstat/node.2/info.Mar1991//Sat Mar 30 23:58:10 1991 /usr/backup/v/v14264/1314
/n/westphal/netstat/node.2/info.May1989//Thu Jun  1 00:24:38 1989 /usr/backup/v/v6244/319
/n/westphal/netstat/node.2/info.May1990//Fri Jun  1 00:07:35 1990 /usr/backup/v/v12401/480
/n/westphal/netstat/node.2/info.May1991//Fri May 31 00:17:25 1991 /usr/backup/v/v14662/920
/n/westphal/netstat/node.2/info.Nov1989//Fri Dec  1 00:35:34 1989 /usr/backup/v/v10896/243
/n/westphal/netstat/node.2/info.Nov1990//Sat Dec  1 00:04:01 1990 /usr/backup/v/v13535/646
/n/westphal/netstat/node.2/info.Oct1989//Wed Nov  1 00:33:47 1989 /usr/backup/v/v10677/1407
/n/westphal/netstat/node.2/info.Oct1990//Thu Nov  1 00:06:07 1990 /usr/backup/v/v13354/776
/n/westphal/netstat/node.2/info.Sep1989//Fri Sep 29 00:29:58 1989 /usr/backup/v/v7230/0
/n/westphal/netstat/node.2/info.Sep1990//Sun Sep 30 00:04:10 1990 /usr/backup/v/v13161/863
/n/westphal/netstat/node.3/config.Apr1989//Sat Apr 29 00:15:58 1989 /usr/backup/v/v5983/151
/n/westphal/netstat/node.3/config.Apr1990//Tue May  1 00:17:16 1990 /usr/backup/v/v12156/255
/n/westphal/netstat/node.3/config.Apr1991//Tue Apr 30 00:15:16 1991 /usr/backup/v/v14484/179
/n/westphal/netstat/node.3/config.Aug1989//Mon Aug 28 00:20:30 1989 /usr/backup/v/v7012/532
/n/westphal/netstat/node.3/config.Aug1990//Sat Aug 25 00:08:28 1990 /usr/backup/v/v12904/63
/n/westphal/netstat/node.3/config.Dec1989//Fri Dec 22 00:06:26 1989 /usr/backup/v/v11039/14
/n/westphal/netstat/node.3/config.Dec1990//Tue Jan  1 00:00:26 1991 /usr/backup/v/v13697/691
/n/westphal/netstat/node.3/config.Feb1989//Wed Mar  1 00:10:02 1989 /usr/backup/v/v5457/106
/n/westphal/netstat/node.3/config.Feb1990//Wed Feb 14 00:15:52 1990 /usr/backup/v/v11537/864
/n/westphal/netstat/node.3/config.Feb1991//Wed Feb 20 00:12:06 1991 /usr/backup/v/v14020/868
/n/westphal/netstat/node.3/config.Jan1989//Sat Jan 28 00:13:11 1989 /usr/backup/v/v5179/31
/n/westphal/netstat/node.3/config.Jan1990//Sat Jan 27 00:23:32 1990 /usr/backup/v/v11384/521
/n/westphal/netstat/node.3/config.Jan1991//Fri Jan 18 00:12:43 1991 /usr/backup/v/v13777/329
/n/westphal/netstat/node.3/config.Jul1989//Thu Jul 27 00:21:16 1989 /usr/backup/v/v6696/323
/n/westphal/netstat/node.3/config.Jul1990//Tue Jul 31 00:09:04 1990 /usr/backup/v/v12714/1075
/n/westphal/netstat/node.3/config.Jun1989//Sat Jul  1 00:16:24 1989 /usr/backup/v/v6480/241
/n/westphal/netstat/node.3/config.Jun1990//Wed Jun 27 00:16:23 1990 /usr/backup/v/v12484/1186
/n/westphal/netstat/node.3/config.Jun1991//Wed Jun  5 00:21:41 1991 /usr/backup/v/v14692/485
/n/westphal/netstat/node.3/config.Mar1989//Sat Apr  1 00:12:45 1989 /usr/backup/v/v5749/193
/n/westphal/netstat/node.3/config.Mar1990//Fri Mar 30 00:05:56 1990 /usr/backup/v/v11881/830
/n/westphal/netstat/node.3/config.Mar1991//Thu Mar 28 00:15:52 1991 /usr/backup/v/v14248/364
/n/westphal/netstat/node.3/config.May1989//Thu May 18 00:12:25 1989 /usr/backup/v/v6140/80
/n/westphal/netstat/node.3/config.May1990//Sat May 26 00:03:57 1990 /usr/backup/v/v12372/275
/n/westphal/netstat/node.3/config.May1991//Thu May 30 00:18:56 1991 /usr/backup/v/v14658/675
/n/westphal/netstat/node.3/config.Nov1989//Tue Nov 28 00:28:37 1989 /usr/backup/v/v10875/622
/n/westphal/netstat/node.3/config.Nov1990//Wed Nov 28 00:08:17 1990 /usr/backup/v/v13513/757
/n/westphal/netstat/node.3/config.Oct1989//Wed Oct 25 00:14:24 1989 /usr/backup/v/v10630/508
/n/westphal/netstat/node.3/config.Oct1990//Thu Nov  1 00:06:11 1990 /usr/backup/v/v13350/555
/n/westphal/netstat/node.3/config.Sep1989//Thu Sep 28 00:32:32 1989 /usr/backup/v/v7228/273
/n/westphal/netstat/node.3/config.Sep1990//Sat Sep 29 00:06:10 1990 /usr/backup/v/v13154/1171
/n/westphal/netstat/node.3/info.Apr1989//Mon May  1 00:01:38 1989 /usr/backup/v/v5988/248
/n/westphal/netstat/node.3/info.Apr1990//Tue May  1 00:17:43 1990 /usr/backup/v/v12156/432
/n/westphal/netstat/node.3/info.Apr1991//Wed May  1 00:17:32 1991 /usr/backup/v/v14487/722
/n/westphal/netstat/node.3/info.Aug1989//Fri Sep  1 00:11:10 1989 /usr/backup/v/v7040/598
/n/westphal/netstat/node.3/info.Aug1990//Sat Sep  1 00:06:46 1990 /usr/backup/v/v12948/292
/n/westphal/netstat/node.3/info.Dec1989//Mon Jan  1 00:14:35 1990 /usr/backup/v/v11122/1298
/n/westphal/netstat/node.3/info.Dec1990//Tue Jan  1 00:00:29 1991 /usr/backup/v/v13695/314
/n/westphal/netstat/node.3/info.Feb1989//Wed Mar  1 00:10:05 1989 /usr/backup/v/v5457/292
/n/westphal/netstat/node.3/info.Feb1990//Thu Mar  1 00:13:02 1990 /usr/backup/v/v11637/864
/n/westphal/netstat/node.3/info.Feb1991//Fri Mar  1 00:15:34 1991 /usr/backup/v/v14072/328
/n/westphal/netstat/node.3/info.Jan1989//Wed Feb  1 00:21:30 1989 /usr/backup/v/v5205/486
/n/westphal/netstat/node.3/info.Jan1990//Thu Feb  1 00:14:43 1990 /usr/backup/v/v11422/1028
/n/westphal/netstat/node.3/info.Jan1991//Fri Feb  1 00:15:35 1991 /usr/backup/v/v13852/390
/n/westphal/netstat/node.3/info.Jul1989//Tue Aug  1 00:19:11 1989 /usr/backup/v/v6734/167
/n/westphal/netstat/node.3/info.Jul1990//Wed Aug  1 00:11:05 1990 /usr/backup/v/v12722/859
/n/westphal/netstat/node.3/info.Jun1989//Sat Jul  1 00:16:36 1989 /usr/backup/v/v6480/419
/n/westphal/netstat/node.3/info.Jun1990//Sun Jul  1 00:24:05 1990 /usr/backup/v/v12507/346
/n/westphal/netstat/node.3/info.Jun1991//Fri Jun  7 00:24:37 1991 /usr/backup/v/v14709/460
/n/westphal/netstat/node.3/info.Mar1989//Sat Apr  1 00:12:51 1989 /usr/backup/v/v5749/371
/n/westphal/netstat/node.3/info.Mar1990//Sun Mar 25 04:41:54 1990 /usr/backup/v/v11834/792
/n/westphal/netstat/node.3/info.Mar1991//Sun Mar 31 22:57:38 1991 /usr/backup/v/v14268/1082
/n/westphal/netstat/node.3/info.May1989//Thu Jun  1 00:24:59 1989 /usr/backup/v/v6245/428
/n/westphal/netstat/node.3/info.May1990//Fri Jun  1 00:07:40 1990 /usr/backup/v/v12402/56
/n/westphal/netstat/node.3/info.May1991//Fri May 31 00:17:35 1991 /usr/backup/v/v14663/803
/n/westphal/netstat/node.3/info.Nov1989//Fri Dec  1 00:35:36 1989 /usr/backup/v/v10896/409
/n/westphal/netstat/node.3/info.Nov1990//Sat Dec  1 00:04:11 1990 /usr/backup/v/v13531/444
/n/westphal/netstat/node.3/info.Oct1989//Wed Nov  1 00:33:50 1989 /usr/backup/v/v10677/1742
/n/westphal/netstat/node.3/info.Oct1990//Thu Nov  1 00:06:13 1990 /usr/backup/v/v13350/731
/n/westphal/netstat/node.3/info.Sep1989//Fri Sep 29 00:30:05 1989 /usr/backup/v/v7230/441
/n/westphal/netstat/node.3/info.Sep1990//Mon Oct  1 00:16:24 1990 /usr/backup/v/v13163/126
/n/westphal/netstat/node.4/config.Apr1990//Thu Apr 19 00:15:45 1990 /usr/backup/v/v12055/669
/n/westphal/netstat/node.4/config.Apr1991//Wed Apr 10 00:04:21 1991 /usr/backup/v/v14360/398
/n/westphal/netstat/node.4/config.Aug1990//Sat Sep  1 00:07:01 1990 /usr/backup/v/v12949/482
/n/westphal/netstat/node.4/config.Dec1989//Sat Dec  9 00:30:11 1989 /usr/backup/v/v10976/236
/n/westphal/netstat/node.4/config.Dec1990//Thu Dec 13 00:11:53 1990 /usr/backup/v/v13605/1592
/n/westphal/netstat/node.4/config.Feb1990//Fri Feb 23 00:36:32 1990 /usr/backup/v/v11591/846
/n/westphal/netstat/node.4/config.Feb1991//Thu Feb 28 00:12:55 1991 /usr/backup/v/v14066/922
/n/westphal/netstat/node.4/config.Jan1990//Sat Jan 27 00:24:10 1990 /usr/backup/v/v11385/464
/n/westphal/netstat/node.4/config.Jan1991//Tue Jan  1 23:56:04 1991 /usr/backup/v/v13695/53
/n/westphal/netstat/node.4/config.Jul1990//Tue Jul 31 00:09:26 1990 /usr/backup/v/v12716/1164
/n/westphal/netstat/node.4/config.Jun1990//Thu Jun 28 00:38:47 1990 /usr/backup/v/v12493/604
/n/westphal/netstat/node.4/config.Jun1991//Sat Jun  1 23:57:31 1991 /usr/backup/v/v14677/1
/n/westphal/netstat/node.4/config.Mar1990//Sat Mar 24 00:22:55 1990 /usr/backup/v/v11821/976
/n/westphal/netstat/node.4/config.Mar1991//Fri Mar 22 00:15:15 1991 /usr/backup/v/v14212/294
/n/westphal/netstat/node.4/config.May1990//Sat May 26 00:04:14 1990 /usr/backup/v/v12371/1125
/n/westphal/netstat/node.4/config.May1991//Sat May 11 00:10:55 1991 /usr/backup/v/v14552/527
/n/westphal/netstat/node.4/config.Nov1989//Wed Nov 22 00:35:23 1989 /usr/backup/v/v10842/880
/n/westphal/netstat/node.4/config.Nov1990//Fri Nov 30 00:12:20 1990 /usr/backup/v/v13524/909
/n/westphal/netstat/node.4/config.Oct1989//Tue Oct 31 00:42:14 1989 /usr/backup/v/v10670/1006
/n/westphal/netstat/node.4/config.Oct1990//Wed Oct 17 00:06:30 1990 /usr/backup/v/v13269/673
/n/westphal/netstat/node.4/config.Sep1989//Fri Sep 29 00:30:32 1989 /usr/backup/v/v7232/722
/n/westphal/netstat/node.4/config.Sep1990//Sat Sep 29 00:06:23 1990 /usr/backup/v/v13154/1
/n/westphal/netstat/node.4/info.Apr1990//Tue May  1 00:18:58 1990 /usr/backup/v/v12160/576
/n/westphal/netstat/node.4/info.Apr1991//Wed May  1 00:17:59 1991 /usr/backup/v/v14491/247
/n/westphal/netstat/node.4/info.Aug1990//Thu Aug 30 00:10:17 1990 /usr/backup/v/v12930/1504
/n/westphal/netstat/node.4/info.Dec1989//Mon Jan  1 00:15:13 1990 /usr/backup/v/v11122/1329
/n/westphal/netstat/node.4/info.Dec1990//Tue Jan  1 00:00:36 1991 /usr/backup/v/v13696/1632
/n/westphal/netstat/node.4/info.Feb1990//Sat Feb  3 00:10:28 1990 /usr/backup/v/v11439/11
/n/westphal/netstat/node.4/info.Feb1991//Fri Mar  1 00:15:59 1991 /usr/backup/v/v14070/316
/n/westphal/netstat/node.4/info.Jan1990//Thu Feb  1 00:15:01 1990 /usr/backup/v/v11422/245
/n/westphal/netstat/node.4/info.Jan1991//Fri Feb  1 00:16:03 1991 /usr/backup/v/v13852/5
/n/westphal/netstat/node.4/info.Jul1990//Wed Aug  1 00:11:36 1990 /usr/backup/v/v12720/988
/n/westphal/netstat/node.4/info.Jun1990//Sun Jul  1 00:29:06 1990 /usr/backup/v/v12507/21
/n/westphal/netstat/node.4/info.Jun1991//Fri Jun  7 00:25:02 1991 /usr/backup/v/v14712/6
/n/westphal/netstat/node.4/info.Mar1990//Sun Mar 25 04:55:58 1990 /usr/backup/v/v11833/12
/n/westphal/netstat/node.4/info.Mar1991//Sun Mar 31 22:57:44 1991 /usr/backup/v/v14272/415
/n/westphal/netstat/node.4/info.May1990//Fri Jun  1 00:08:24 1990 /usr/backup/v/v12400/950
/n/westphal/netstat/node.4/info.May1991//Fri May 31 00:17:44 1991 /usr/backup/v/v14661/29
/n/westphal/netstat/node.4/info.Nov1989//Fri Dec  1 00:36:53 1989 /usr/backup/v/v10895/826
/n/westphal/netstat/node.4/info.Nov1990//Sat Dec  1 00:04:30 1990 /usr/backup/v/v13535/647
/n/westphal/netstat/node.4/info.Oct1989//Wed Nov  1 00:39:22 1989 /usr/backup/v/v10677/912
/n/westphal/netstat/node.4/info.Oct1990//Thu Nov  1 00:06:36 1990 /usr/backup/v/v13349/718
/n/westphal/netstat/node.4/info.Sep1989//Fri Sep 29 00:31:01 1989 /usr/backup/v/v7233/74
/n/westphal/netstat/node.4/info.Sep1990//Mon Oct  1 00:21:32 1990 /usr/backup/v/v13162/425
/n/westphal/netstat/node.5/config.Apr1990//Tue May  1 00:19:24 1990 /usr/backup/v/v12156/256
/n/westphal/netstat/node.5/config.Apr1991//Wed Apr 24 00:08:01 1991 /usr/backup/v/v14454/248
/n/westphal/netstat/node.5/config.Aug1990//Fri Aug 31 00:14:45 1990 /usr/backup/v/v12939/739
/n/westphal/netstat/node.5/config.Dec1989//Tue Dec 19 00:43:33 1989 /usr/backup/v/v11015/825
/n/westphal/netstat/node.5/config.Dec1990//Wed Dec 19 00:07:50 1990 /usr/backup/v/v13637/126
/n/westphal/netstat/node.5/config.Feb1990//Wed Feb 21 00:31:14 1990 /usr/backup/v/v11592/512
/n/westphal/netstat/node.5/config.Feb1991//Sat Feb 23 00:09:19 1991 /usr/backup/v/v14039/223
/n/westphal/netstat/node.5/config.Jan1990//Wed Jan 31 00:33:34 1990 /usr/backup/v/v11410/49
/n/westphal/netstat/node.5/config.Jan1991//Wed Jan 30 00:14:15 1991 /usr/backup/v/v13838/1092
/n/westphal/netstat/node.5/config.Jul1990//Mon Jul  2 00:24:10 1990 /usr/backup/v/v12510/605
/n/westphal/netstat/node.5/config.Jun1990//Fri Jun 29 00:50:04 1990 /usr/backup/v/v12498/482
/n/westphal/netstat/node.5/config.Jun1991//Sat Jun  1 23:57:32 1991 /usr/backup/v/v14676/366
/n/westphal/netstat/node.5/config.Mar1990//Sun Mar 25 05:00:18 1990 /usr/backup/v/v11837/580
/n/westphal/netstat/node.5/config.Mar1991//Sat Mar 23 00:13:25 1991 /usr/backup/v/v14218/940
/n/westphal/netstat/node.5/config.May1990//Fri Jun  1 00:08:46 1990 /usr/backup/v/v12402/58
/n/westphal/netstat/node.5/config.May1991//Fri May 24 00:10:12 1991 /usr/backup/v/v14625/225
/n/westphal/netstat/node.5/config.Nov1989//Tue Nov 28 00:30:28 1989 /usr/backup/v/v10875/312
/n/westphal/netstat/node.5/config.Nov1990//Fri Nov 30 00:12:54 1990 /usr/backup/v/v13526/407
/n/westphal/netstat/node.5/config.Oct1990//Thu Nov  1 00:06:57 1990 /usr/backup/v/v13350/904
/n/westphal/netstat/node.5/config.Sep1990//Fri Sep 28 00:08:45 1990 /usr/backup/v/v13145/162
/n/westphal/netstat/node.5/info.Apr1990//Tue May  1 00:19:52 1990 /usr/backup/v/v12156/433
/n/westphal/netstat/node.5/info.Apr1991//Wed May  1 00:18:52 1991 /usr/backup/v/v14491/483
/n/westphal/netstat/node.5/info.Aug1990//Sat Sep  1 00:08:13 1990 /usr/backup/v/v12948/1353
/n/westphal/netstat/node.5/info.Dec1989//Sat Dec 30 00:16:19 1989 /usr/backup/v/v11091/256
/n/westphal/netstat/node.5/info.Dec1990//Tue Jan  1 00:01:06 1991 /usr/backup/v/v13695/831
/n/westphal/netstat/node.5/info.Feb1990//Thu Mar  1 00:14:22 1990 /usr/backup/v/v11630/269
/n/westphal/netstat/node.5/info.Feb1991//Fri Mar  1 00:16:51 1991 /usr/backup/v/v14071/446
/n/westphal/netstat/node.5/info.Jan1990//Thu Feb  1 00:15:49 1990 /usr/backup/v/v11422/832
/n/westphal/netstat/node.5/info.Jan1991//Fri Feb  1 00:17:18 1991 /usr/backup/v/v13853/382
/n/westphal/netstat/node.5/info.Jul1990//Wed Aug  1 00:12:22 1990 /usr/backup/v/v12722/860
/n/westphal/netstat/node.5/info.Jun1990//Sun Jul  1 00:29:27 1990 /usr/backup/v/v12508/352
/n/westphal/netstat/node.5/info.Jun1991//Fri Jun  7 00:26:13 1991 /usr/backup/v/v14713/1093
/n/westphal/netstat/node.5/info.Mar1990//Sun Mar 25 05:04:48 1990 /usr/backup/v/v11837/937
/n/westphal/netstat/node.5/info.Mar1991//Sat Mar 30 23:58:40 1991 /usr/backup/v/v14264/905
/n/westphal/netstat/node.5/info.May1990//Fri Jun  1 00:09:08 1990 /usr/backup/v/v12402/320
/n/westphal/netstat/node.5/info.May1991//Fri May 24 00:10:32 1991 /usr/backup/v/v14625/420
/n/westphal/netstat/node.5/info.Nov1989//Fri Dec  1 00:38:01 1989 /usr/backup/v/v10896/82
/n/westphal/netstat/node.5/info.Nov1990//Sat Dec  1 00:05:04 1990 /usr/backup/v/v13531/639
/n/westphal/netstat/node.5/info.Oct1990//Thu Nov  1 00:07:21 1990 /usr/backup/v/v13351/78
/n/westphal/netstat/node.5/info.Sep1990//Sat Sep 29 00:07:21 1990 /usr/backup/v/v13155/30
/n/westphal/netstat/node.6/config.Apr1989//Sat Apr 15 00:11:20 1989 /usr/backup/v/v5869/18
/n/westphal/netstat/node.6/config.Apr1990//Wed Apr 11 00:15:31 1990 /usr/backup/v/v12002/152
/n/westphal/netstat/node.6/config.Apr1991//Tue Apr  2 00:09:06 1991 /usr/backup/v/v14275/492
/n/westphal/netstat/node.6/config.Aug1989//Sun Aug 27 00:10:31 1989 /usr/backup/v/v7010/570
/n/westphal/netstat/node.6/config.Aug1990//Sat Aug 25 00:10:46 1990 /usr/backup/v/v12906/311
/n/westphal/netstat/node.6/config.Dec1989//Wed Dec 13 00:30:19 1989 /usr/backup/v/v10988/590
/n/westphal/netstat/node.6/config.Dec1990//Tue Dec 18 00:13:25 1990 /usr/backup/v/v13630/815
/n/westphal/netstat/node.6/config.Feb1989//Thu Feb 23 00:14:34 1989 /usr/backup/v/v5411/97
/n/westphal/netstat/node.6/config.Feb1990//Tue Feb 13 00:23:04 1990 /usr/backup/v/v11531/1285
/n/westphal/netstat/node.6/config.Feb1991//Sat Feb  2 00:14:53 1991 /usr/backup/v/v13861/1120
/n/westphal/netstat/node.6/config.Jan1989//Tue Jan 31 00:12:59 1989 /usr/backup/v/v5197/201
/n/westphal/netstat/node.6/config.Jan1990//Tue Jan  2 00:13:41 1990 /usr/backup/v/v11132/1712
/n/westphal/netstat/node.6/config.Jan1991//Fri Jan  4 00:19:02 1991 /usr/backup/v/v13702/202
/n/westphal/netstat/node.6/config.Jul1989//Thu Jul 27 00:21:32 1989 /usr/backup/v/v6693/438
/n/westphal/netstat/node.6/config.Jul1990//Tue Jul 31 00:10:37 1990 /usr/backup/v/v12714/762
/n/westphal/netstat/node.6/config.Jun1989//Wed Jun 28 00:14:13 1989 /usr/backup/v/v6469/737
/n/westphal/netstat/node.6/config.Jun1990//Tue Jun 12 00:14:04 1990 /usr/backup/v/v12485/346
/n/westphal/netstat/node.6/config.Jun1991//Thu Jun  6 00:23:08 1991 /usr/backup/v/v14701/705
/n/westphal/netstat/node.6/config.Mar1989//Wed Mar 29 00:16:39 1989 /usr/backup/v/v5726/276
/n/westphal/netstat/node.6/config.Mar1990//Fri Mar  2 00:14:27 1990 /usr/backup/v/v11660/296
/n/westphal/netstat/node.6/config.Mar1991//Sat Mar  2 00:14:48 1991 /usr/backup/v/v14080/156
/n/westphal/netstat/node.6/config.May1989//Tue May  2 00:12:54 1989 /usr/backup/v/v5995/350
/n/westphal/netstat/node.6/config.May1990//Sat May 26 00:05:05 1990 /usr/backup/v/v12371/14
/n/westphal/netstat/node.6/config.May1991//Fri May 10 00:08:39 1991 /usr/backup/v/v14549/178
/n/westphal/netstat/node.6/config.Nov1989//Thu Nov  2 00:45:55 1989 /usr/backup/v/v10692/842
/n/westphal/netstat/node.6/config.Nov1990//Wed Nov 28 00:09:37 1990 /usr/backup/v/v13515/287
/n/westphal/netstat/node.6/config.Oct1989//Thu Oct 19 00:43:12 1989 /usr/backup/v/v10600/284
/n/westphal/netstat/node.6/config.Oct1990//Wed Oct 17 00:07:36 1990 /usr/backup/v/v13271/77
/n/westphal/netstat/node.6/config.Sep1989//Sat Sep  2 00:16:44 1989 /usr/backup/v/v7041/418
/n/westphal/netstat/node.6/config.Sep1990//Sat Sep 29 00:07:22 1990 /usr/backup/v/v13154/748
/n/westphal/netstat/node.6/info.Apr1989//Mon May  1 00:01:40 1989 /usr/backup/v/v5990/396
/n/westphal/netstat/node.6/info.Apr1990//Mon Apr 30 00:06:14 1990 /usr/backup/v/v12147/933
/n/westphal/netstat/node.6/info.Apr1991//Tue Apr  2 00:09:07 1991 /usr/backup/v/v14275/706
/n/westphal/netstat/node.6/info.Aug1989//Fri Sep  1 00:11:12 1989 /usr/backup/v/v7041/130
/n/westphal/netstat/node.6/info.Aug1990//Sat Aug 25 00:10:47 1990 /usr/backup/v/v12906/387
/n/westphal/netstat/node.6/info.Dec1989//Mon Jan  1 00:16:23 1990 /usr/backup/v/v11122/1314
/n/westphal/netstat/node.6/info.Dec1990//Sat Dec 29 00:02:32 1990 /usr/backup/v/v13681/522
/n/westphal/netstat/node.6/info.Feb1989//Sat Feb 25 00:24:34 1989 /usr/backup/v/v5426/105
/n/westphal/netstat/node.6/info.Feb1990//Wed Feb 28 00:20:32 1990 /usr/backup/v/v11640/534
/n/westphal/netstat/node.6/info.Feb1991//Wed Feb 27 00:21:28 1991 /usr/backup/v/v14058/774
/n/westphal/netstat/node.6/info.Jan1989//Wed Feb  1 00:21:59 1989 /usr/backup/v/v5211/544
/n/westphal/netstat/node.6/info.Jan1990//Sat Jan 27 00:25:36 1990 /usr/backup/v/v11384/258
/n/westphal/netstat/node.6/info.Jan1991//Fri Jan 25 00:13:38 1991 /usr/backup/v/v13821/891
/n/westphal/netstat/node.6/info.Jul1989//Tue Aug  1 00:19:16 1989 /usr/backup/v/v6738/274
/n/westphal/netstat/node.6/info.Jul1990//Tue Jul 31 00:10:38 1990 /usr/backup/v/v12715/568
/n/westphal/netstat/node.6/info.Jun1989//Sat Jul  1 00:16:40 1989 /usr/backup/v/v6476/444
/n/westphal/netstat/node.6/info.Jun1990//Sat Jun 30 00:33:13 1990 /usr/backup/v/v12504/362
/n/westphal/netstat/node.6/info.Jun1991//Thu Jun  6 00:23:11 1991 /usr/backup/v/v14702/72
/n/westphal/netstat/node.6/info.Mar1989//Fri Mar 31 00:14:31 1989 /usr/backup/v/v5740/242
/n/westphal/netstat/node.6/info.Mar1990//Tue Mar 27 00:17:29 1990 /usr/backup/v/v11844/1393
/n/westphal/netstat/node.6/info.Mar1991//Sat Mar  2 00:14:49 1991 /usr/backup/v/v14080/360
/n/westphal/netstat/node.6/info.May1989//Thu Jun  1 00:25:01 1989 /usr/backup/v/v6241/251
/n/westphal/netstat/node.6/info.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12371/151
/n/westphal/netstat/node.6/info.May1991//Sat Jun  1 00:07:01 1991 /usr/backup/v/v14674/622
/n/westphal/netstat/node.6/info.Nov1989//Thu Nov 30 00:30:51 1989 /usr/backup/v/v10887/2026
/n/westphal/netstat/node.6/info.Nov1990//Sat Dec  1 00:05:05 1990 /usr/backup/v/v13530/509
/n/westphal/netstat/node.6/info.Oct1989//Sat Oct 21 00:16:18 1989 /usr/backup/v/v10614/1273
/n/westphal/netstat/node.6/info.Oct1990//Tue Oct 30 00:08:14 1990 /usr/backup/v/v13342/236
/n/westphal/netstat/node.6/info.Sep1989//Fri Sep 29 00:32:41 1989 /usr/backup/v/v7230/762
/n/westphal/netstat/node.6/info.Sep1990//Sat Sep 29 00:07:23 1990 /usr/backup/v/v13154/853
/n/westphal/netstat/node.7/config.Apr1989//Thu Apr 27 00:10:56 1989 /usr/backup/v/v5986/454
/n/westphal/netstat/node.7/config.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/889
/n/westphal/netstat/node.7/config.Apr1991//Tue Apr  2 00:09:08 1991 /usr/backup/v/v14274/291
/n/westphal/netstat/node.7/config.Aug1989//Wed Aug 30 00:21:03 1989 /usr/backup/v/v7017/23
/n/westphal/netstat/node.7/config.Aug1990//Thu Aug  2 00:12:26 1990 /usr/backup/v/v12750/581
/n/westphal/netstat/node.7/config.Dec1989//Thu Dec 28 00:06:36 1989 /usr/backup/v/v11078/430
/n/westphal/netstat/node.7/config.Dec1990//Sat Dec 15 00:08:37 1990 /usr/backup/v/v13613/601
/n/westphal/netstat/node.7/config.Feb1989//Wed Mar  1 00:10:10 1989 /usr/backup/v/v5459/232
/n/westphal/netstat/node.7/config.Feb1990//Fri Feb  2 00:10:50 1990 /usr/backup/v/v11429/877
/n/westphal/netstat/node.7/config.Feb1991//Sat Feb  2 00:14:55 1991 /usr/backup/v/v13861/696
/n/westphal/netstat/node.7/config.Jan1989//Tue Jan 31 00:13:04 1989 /usr/backup/v/v5196/421
/n/westphal/netstat/node.7/config.Jan1990//Sat Jan 27 00:25:37 1990 /usr/backup/v/v11384/2148
/n/westphal/netstat/node.7/config.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13695/1610
/n/westphal/netstat/node.7/config.Jul1989//Sat Jul 29 00:14:01 1989 /usr/backup/v/v6709/594
/n/westphal/netstat/node.7/config.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/190
/n/westphal/netstat/node.7/config.Jun1989//Thu Jun 29 00:15:29 1989 /usr/backup/v/v6470/484
/n/westphal/netstat/node.7/config.Jun1990//Wed Jun 27 00:19:22 1990 /usr/backup/v/v12483/1800
/n/westphal/netstat/node.7/config.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/737
/n/westphal/netstat/node.7/config.Mar1989//Fri Mar 31 00:14:35 1989 /usr/backup/v/v5737/18
/n/westphal/netstat/node.7/config.Mar1990//Fri Mar 30 00:06:02 1990 /usr/backup/v/v11879/596
/n/westphal/netstat/node.7/config.Mar1991//Sat Mar  2 00:14:50 1991 /usr/backup/v/v14089/436
/n/westphal/netstat/node.7/config.May1989//Thu Jun  1 00:25:06 1989 /usr/backup/v/v6241/401
/n/westphal/netstat/node.7/config.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12373/749
/n/westphal/netstat/node.7/config.May1991//Fri May 31 00:18:15 1991 /usr/backup/v/v14666/362
/n/westphal/netstat/node.7/config.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1125
/n/westphal/netstat/node.7/config.Nov1990//Thu Nov 29 00:11:53 1990 /usr/backup/v/v13521/517
/n/westphal/netstat/node.7/config.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/576
/n/westphal/netstat/node.7/config.Oct1990//Fri Oct 26 00:07:16 1990 /usr/backup/v/v13324/413
/n/westphal/netstat/node.7/config.Sep1989//Sat Sep 23 01:01:32 1989 /usr/backup/v/v7191/349
/n/westphal/netstat/node.7/config.Sep1990//Sat Sep  1 23:57:12 1990 /usr/backup/v/v12952/584
/n/westphal/netstat/node.7/info.Apr1989//Sat Apr 22 00:13:55 1989 /usr/backup/v/v5922/337
/n/westphal/netstat/node.7/info.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/976
/n/westphal/netstat/node.7/info.Apr1991//Thu Apr 11 00:09:57 1991 /usr/backup/v/v14373/236
/n/westphal/netstat/node.7/info.Aug1989//Fri Sep  1 00:11:15 1989 /usr/backup/v/v7043/139
/n/westphal/netstat/node.7/info.Aug1990//Wed Aug 15 00:08:27 1990 /usr/backup/v/v12835/513
/n/westphal/netstat/node.7/info.Dec1989//Thu Dec 28 00:06:37 1989 /usr/backup/v/v11078/803
/n/westphal/netstat/node.7/info.Dec1990//Fri Dec 28 00:05:23 1990 /usr/backup/v/v13676/119
/n/westphal/netstat/node.7/info.Feb1989//Tue Feb 28 00:22:13 1989 /usr/backup/v/v5459/412
/n/westphal/netstat/node.7/info.Feb1990//Fri Feb  9 00:19:33 1990 /usr/backup/v/v11503/188
/n/westphal/netstat/node.7/info.Feb1991//Wed Feb 20 00:13:52 1991 /usr/backup/v/v14025/656
/n/westphal/netstat/node.7/info.Jan1989//Tue Jan 31 00:13:05 1989 /usr/backup/v/v5197/23
/n/westphal/netstat/node.7/info.Jan1990//Sat Jan 27 00:25:38 1990 /usr/backup/v/v11385/21
/n/westphal/netstat/node.7/info.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13696/1368
/n/westphal/netstat/node.7/info.Jul1989//Tue Aug  1 00:19:51 1989 /usr/backup/v/v6730/288
/n/westphal/netstat/node.7/info.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/290
/n/westphal/netstat/node.7/info.Jun1989//Sat Jul  1 00:17:14 1989 /usr/backup/v/v6476/264
/n/westphal/netstat/node.7/info.Jun1990//Tue Jun 12 00:14:15 1990 /usr/backup/v/v12486/1198
/n/westphal/netstat/node.7/info.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/858
/n/westphal/netstat/node.7/info.Mar1989//Thu Mar 23 00:21:29 1989 /usr/backup/v/v5662/566
/n/westphal/netstat/node.7/info.Mar1990//Fri Mar 30 00:06:03 1990 /usr/backup/v/v11881/643
/n/westphal/netstat/node.7/info.Mar1991//Mon Mar 11 00:04:41 1991 /usr/backup/v/v14137/704
/n/westphal/netstat/node.7/info.May1989//Thu Jun  1 00:25:08 1989 /usr/backup/v/v6241/549
/n/westphal/netstat/node.7/info.May1990//Fri May 25 00:09:53 1990 /usr/backup/v/v12367/1191
/n/westphal/netstat/node.7/info.May1991//Tue May 14 00:07:31 1991 /usr/backup/v/v14564/457
/n/westphal/netstat/node.7/info.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1506
/n/westphal/netstat/node.7/info.Nov1990//Fri Nov 30 00:13:18 1990 /usr/backup/v/v13528/523
/n/westphal/netstat/node.7/info.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/658
/n/westphal/netstat/node.7/info.Oct1990//Thu Nov  1 00:07:24 1990 /usr/backup/v/v13353/897
/n/westphal/netstat/node.7/info.Sep1989//Sun Sep 24 01:38:01 1989 /usr/backup/v/v7197/186
/n/westphal/netstat/node.7/info.Sep1990//Sat Sep 15 00:11:36 1990 /usr/backup/v/v13057/62
/n/westphal/netstat/node.hg/config.Apr1990//Thu Apr 26 00:22:24 1990 /usr/backup/v/v12134/231
/n/westphal/netstat/node.hg/config.Apr1991//Wed May  1 00:19:18 1991 /usr/backup/v/v14492/701
/n/westphal/netstat/node.hg/config.Aug1990//Fri Aug 24 00:07:07 1990 /usr/backup/v/v12905/696
/n/westphal/netstat/node.hg/config.Dec1989//Wed Dec 20 00:26:36 1989 /usr/backup/v/v11023/724
/n/westphal/netstat/node.hg/config.Dec1990//Tue Jan  1 00:01:24 1991 /usr/backup/v/v13696/976
/n/westphal/netstat/node.hg/config.Feb1990//Sat Feb 24 00:51:26 1990 /usr/backup/v/v11602/777
/n/westphal/netstat/node.hg/config.Feb1991//Fri Mar  1 00:17:38 1991 /usr/backup/v/v14069/622
/n/westphal/netstat/node.hg/config.Jan1990//Tue Jan 30 00:12:59 1990 /usr/backup/v/v11401/418
/n/westphal/netstat/node.hg/config.Jan1991//Fri Jan 25 00:14:08 1991 /usr/backup/v/v13820/1449
/n/westphal/netstat/node.hg/config.Jul1990//Sat Jul 28 23:58:58 1990 /usr/backup/v/v12704/367
/n/westphal/netstat/node.hg/config.Jun1990//Wed Jun 27 00:20:23 1990 /usr/backup/v/v12483/463
/n/westphal/netstat/node.hg/config.Jun1991//Thu Jun  6 00:23:41 1991 /usr/backup/v/v14703/736
/n/westphal/netstat/node.hg/config.Mar1990//Sat Mar 24 00:25:53 1990 /usr/backup/v/v11816/1111
/n/westphal/netstat/node.hg/config.Mar1991//Thu Mar 28 00:18:25 1991 /usr/backup/v/v14247/851
/n/westphal/netstat/node.hg/config.May1990//Fri Jun  1 00:09:39 1990 /usr/backup/v/v12403/202
/n/westphal/netstat/node.hg/config.May1990//Mon May  7 00:19:29 1990 /usr/backup/v/v12236/688
/n/westphal/netstat/node.hg/config.May1991//Sat May 18 00:09:18 1991 /usr/backup/v/v14593/963
/n/westphal/netstat/node.hg/config.Nov1989//Tue Nov 28 00:32:12 1989 /usr/backup/v/v10875/623
/n/westphal/netstat/node.hg/config.Nov1990//Fri Nov 30 00:13:42 1990 /usr/backup/v/v13527/663
/n/westphal/netstat/node.hg/config.Oct1990//Sat Oct 20 00:07:21 1990 /usr/backup/v/v13293/156
/n/westphal/netstat/node.hg/config.Sep1990//Sat Sep 29 00:07:54 1990 /usr/backup/v/v13153/937
/n/westphal/netstat/node.hg/info.Apr1990//Tue May  1 00:21:11 1990 /usr/backup/v/v12157/113
/n/westphal/netstat/node.hg/info.Apr1991//Wed May  1 00:19:44 1991 /usr/backup/v/v14492/943
/n/westphal/netstat/node.hg/info.Aug1990//Sat Aug 25 00:11:04 1990 /usr/backup/v/v12906/1
/n/westphal/netstat/node.hg/info.Dec1989//Wed Dec 20 00:26:57 1989 /usr/backup/v/v11023/919
/n/westphal/netstat/node.hg/info.Dec1990//Tue Jan  1 00:01:39 1991 /usr/backup/v/v13696/1107
/n/westphal/netstat/node.hg/info.Feb1990//Thu Mar  1 00:15:13 1990 /usr/backup/v/v11634/1437
/n/westphal/netstat/node.hg/info.Feb1991//Fri Mar  1 00:18:14 1991 /usr/backup/v/v14071/253
/n/westphal/netstat/node.hg/info.Jan1990//Thu Feb  1 00:16:50 1990 /usr/backup/v/v11418/1006
/n/westphal/netstat/node.hg/info.Jan1991//Fri Feb  1 00:19:29 1991 /usr/backup/v/v13854/186
/n/westphal/netstat/node.hg/info.Jul1990//Wed Aug  1 00:13:21 1990 /usr/backup/v/v12722/300
/n/westphal/netstat/node.hg/info.Jun1990//Sun Jul  1 00:30:12 1990 /usr/backup/v/v12506/731
/n/westphal/netstat/node.hg/info.Jun1991//Fri Jun  7 00:27:18 1991 /usr/backup/v/v14708/960
/n/westphal/netstat/node.hg/info.Mar1990//Sun Mar 25 05:13:14 1990 /usr/backup/v/v11838/275
/n/westphal/netstat/node.hg/info.Mar1991//Sun Mar 31 22:58:16 1991 /usr/backup/v/v14273/228
/n/westphal/netstat/node.hg/info.May1990//Fri Jun  1 00:10:11 1990 /usr/backup/v/v12403/718
/n/westphal/netstat/node.hg/info.May1991//Fri May 31 00:18:57 1991 /usr/backup/v/v14662/922
/n/westphal/netstat/node.hg/info.Nov1989//Fri Dec  1 00:40:17 1989 /usr/backup/v/v10896/204
/n/westphal/netstat/node.hg/info.Nov1990//Sat Dec  1 00:05:41 1990 /usr/backup/v/v13532/127
/n/westphal/netstat/node.hg/info.Oct1990//Thu Nov  1 00:08:13 1990 /usr/backup/v/v13352/51
/n/westphal/netstat/node.hg/info.Sep1990//Sun Sep 30 00:06:31 1990 /usr/backup/v/v13164/722
/n/westphal/netstat/node.hg2/config.Apr1990//Wed Apr 18 00:26:09 1990 /usr/backup/v/v12048/380
/n/westphal/netstat/node.hg2/config.Apr1991//Fri Apr 26 00:07:46 1991 /usr/backup/v/v14467/937
/n/westphal/netstat/node.hg2/config.Aug1990//Thu Aug 30 00:11:18 1990 /usr/backup/v/v12930/1555
/n/westphal/netstat/node.hg2/config.Dec1989//Sat Dec 30 00:17:31 1989 /usr/backup/v/v11087/534
/n/westphal/netstat/node.hg2/config.Dec1990//Tue Dec  4 00:05:11 1990 /usr/backup/v/v13545/442
/n/westphal/netstat/node.hg2/config.Feb1990//Thu Feb 22 00:55:45 1990 /usr/backup/v/v11591/548
/n/westphal/netstat/node.hg2/config.Feb1991//Fri Mar  1 00:18:16 1991 /usr/backup/v/v14072/330
/n/westphal/netstat/node.hg2/config.Jan1990//Tue Jan 30 00:13:27 1990 /usr/backup/v/v11401/958
/n/westphal/netstat/node.hg2/config.Jan1991//Thu Jan 31 00:21:39 1991 /usr/backup/v/v13848/599
/n/westphal/netstat/node.hg2/config.Jul1990//Sat Jul 28 23:59:19 1990 /usr/backup/v/v12704/729
/n/westphal/netstat/node.hg2/config.Jun1990//Wed Jun 27 00:21:24 1990 /usr/backup/v/v12483/1072
/n/westphal/netstat/node.hg2/config.Jun1991//Sat Jun  1 23:57:38 1991 /usr/backup/v/v14675/735
/n/westphal/netstat/node.hg2/config.Mar1990//Wed Mar 28 00:12:19 1990 /usr/backup/v/v11847/636
/n/westphal/netstat/node.hg2/config.Mar1991//Wed Mar 27 00:16:03 1991 /usr/backup/v/v14239/37
/n/westphal/netstat/node.hg2/config.May1990//Thu May 31 00:11:36 1990 /usr/backup/v/v12390/457
/n/westphal/netstat/node.hg2/config.May1991//Fri May 10 00:09:20 1991 /usr/backup/v/v14547/588
/n/westphal/netstat/node.hg2/config.Nov1989//Wed Nov 22 00:38:48 1989 /usr/backup/v/v10841/668
/n/westphal/netstat/node.hg2/config.Nov1990//Thu Nov 22 00:08:14 1990 /usr/backup/v/v13486/1369
/n/westphal/netstat/node.hg2/config.Oct1990//Fri Oct 26 00:07:57 1990 /usr/backup/v/v13327/1071
/n/westphal/netstat/node.hg2/config.Sep1990//Tue Sep 25 00:09:00 1990 /usr/backup/v/v13124/980
/n/westphal/netstat/node.hg2/info.Apr1990//Fri Apr 27 01:07:05 1990 /usr/backup/v/v12135/375
/n/westphal/netstat/node.hg2/info.Apr1991//Sat Apr 27 00:07:49 1991 /usr/backup/v/v14474/981
/n/westphal/netstat/node.hg2/info.Aug1990//Sat Sep  1 00:08:28 1990 /usr/backup/v/v12949/1442
/n/westphal/netstat/node.hg2/info.Dec1989//Sat Dec 30 00:17:32 1989 /usr/backup/v/v11087/789
/n/westphal/netstat/node.hg2/info.Dec1990//Fri Dec 28 00:06:06 1990 /usr/backup/v/v13680/102
/n/westphal/netstat/node.hg2/info.Feb1990//Thu Mar  1 00:15:15 1990 /usr/backup/v/v11638/593
/n/westphal/netstat/node.hg2/info.Feb1991//Fri Mar  1 00:18:18 1991 /usr/backup/v/v14072/517
/n/westphal/netstat/node.hg2/info.Jan1990//Thu Feb  1 00:16:54 1990 /usr/backup/v/v11419/692
/n/westphal/netstat/node.hg2/info.Jan1991//Thu Jan 31 00:21:42 1991 /usr/backup/v/v13848/632
/n/westphal/netstat/node.hg2/info.Jul1990//Wed Aug  1 00:13:25 1990 /usr/backup/v/v12723/911
/n/westphal/netstat/node.hg2/info.Jun1990//Sat Jun 30 00:34:13 1990 /usr/backup/v/v12502/739
/n/westphal/netstat/node.hg2/info.Jun1991//Fri Jun  7 00:27:23 1991 /usr/backup/v/v14709/683
/n/westphal/netstat/node.hg2/info.Mar1990//Thu Mar 29 00:05:55 1990 /usr/backup/v/v11867/620
/n/westphal/netstat/node.hg2/info.Mar1991//Sat Mar 30 00:06:54 1991 /usr/backup/v/v14262/508
/n/westphal/netstat/node.hg2/info.May1990//Fri Jun  1 00:10:16 1990 /usr/backup/v/v12401/217
/n/westphal/netstat/node.hg2/info.May1991//Sat Jun  1 00:07:09 1991 /usr/backup/v/v14671/1221
/n/westphal/netstat/node.hg2/info.Nov1989//Thu Nov 30 00:31:42 1989 /usr/backup/v/v10888/2790
/n/westphal/netstat/node.hg2/info.Nov1990//Thu Nov 22 00:08:15 1990 /usr/backup/v/v13486/1475
/n/westphal/netstat/node.hg2/info.Oct1990//Wed Oct 31 00:09:57 1990 /usr/backup/v/v13348/87
/n/westphal/netstat/node.hg2/info.Sep1990//Tue Sep 25 00:09:02 1990 /usr/backup/v/v13124/1130
/n/westphal/netstat/src/getconfig.c//Tue Oct 16 12:25:31 1990 /usr/backup/v/v13270/83
/n/westphal/netstat/src/printraw.c//Wed Mar 14 10:30:14 1990 /usr/backup/v/v11750/41
/n/westphal/netstat/src/rawstat.c//Mon Oct 15 17:07:12 1990 /usr/backup/v/v13261/822
/n/westphal/netstat/tmp/inap.1013//Tue Jan  8 16:32:34 1991 /usr/backup/v/v13724/420
/n/westphal/netstat/tmp/raw.1013-4.NAC//Mon Jan  7 16:08:26 1991 /usr/backup/v/v13719/1235
/n/westphal/netstat/tmp/raw.1013.NAC//Mon Jan  7 15:30:40 1991 /usr/backup/v/v13719/1105
/n/westphal/netstat/tmp/raw.1013.hg//Mon Jan  7 12:07:19 1991 /usr/backup/v/v13719/1170
/n/westphal/netstat/tmp/raw.1014.1//Mon Jan  7 16:04:15 1991 /usr/backup/v/v13718/568
t�D�-�����:G(�EO(�EO(tdkother/n/westphal/usr/tdk/CONFIG/Hg.Friv/v14725/7973053config node nj/mercury/ merc vcs 2000 512 6000 128 256 2
service enter cfgdump admisc
service enter remconsole admisc
service enter unix adunix
service enter trunk adtrunk
service enter group adgrp
service enter name adname
service enter table adtable
service enter term adterm
service enter tyhost adtyhost
service enter conc adconc
service enter dialer addialer
service enter ? admisc
service enter admlog admisc
service enter file adfile
service enter config adcfg
service enter service adserv
service enter audit adaudit
service enter maint admaint
service enter cons1 adcons
service enter cons0 adcons
group enter crux
group enter dial
group enter arjuna
group enter lingua
group enter dwalin
group enter athene
group enter ?
group enter admlog
group enter cfgdump
group enter admin
group enter psed
group enter Cicarus
group enter dori
group enter tattoo
group enter arachne
group enter Csleepy
group enter Cbifur
group enter Csiriusb
group enter Cbashful
group enter Cbalin
group enter Chappy
group enter Cgloin
group enter gloin
group enter sleepy
group enter Cjbox
group enter jbox
group enter chitra
group enter spiff
group enter cocalus
group enter oin
group enter munchkin
group enter voice
group enter lear
group enter gimli
group enter sola
group enter capek
group enter theseus
group enter laid
group enter happy
group enter doc
group enter thorin
group enter rear
group enter garbage
group enter housay
group enter CHg
group enter scylla
group enter laird
group enter herbert
group enter dectalk
group enter ergo
group enter jerconv
group enter Cthorin
group enter merc2
group enter Csweet
group enter dopey
group enter Ctattoo
group enter Cgrumpy
group enter Cdori
group enter Csneezy
group enter solagone
group enter siriusb
group enter Chunny
group enter sneezy
group enter karna
group enter mha1
group enter phone
group enter astro
group enter nisus
group enter minos
group enter ariadne
group enter hunny
group enter icarus
group enter balin
group enter bashful
group enter bifur
group enter eeyore
group enter gunn
group enter iota
group enter jones
group enter kanga
group enter sapir
group enter sweet
group enter indra
group enter outside
group enter jlhear
group enter bofer
group enter Cdopey
group enter console1
group enter mharit
group enter Ctelebit
group enter IPtiger
group enter moria
group enter ohunny
group enter bombur
group enter obashful
group enter Cbombur
group enter ohappy
group enter IPbashful
group enter Csage
name enter local lingua "''" lingua yes
name enter local arjuna "''" arjuna yes
name enter local siriusb "" dopey yes
name enter local theseus "" theseus yes
name enter local crux "" crux yes
name enter local kanga "" kanga yes
name enter local ogolem "" dopey yes
name enter local Csiriusb "" Csiriusb yes
name enter local capek "" capek no
name enter local mharit "" mharit yes
name enter local oin "" oin yes
name enter local balin "" dopey yes
name enter local icarus "" icarus yes
name enter local bombur "" bombur yes
name enter local scylla "" scylla yes
name enter local Cbalin "" Cbalin yes
name enter local Cicarus "" Cicarus yes
name enter local Cbombur "" Cbombur yes
name enter local lynx "" dopey yes
name enter local tanuki "" dopey yes
name enter local laird "" laird yes
name enter local karna "" merc2 yes
name enter local indra "" indra yes
name enter local bofer "" bofer yes
name enter local mhari ">nj/mercury/mharit" mharit yes
name enter local ohappy "" ohappy yes
name enter local sleepy "" sleepy yes
name enter local gimli "" dopey yes
name enter local arachne "" arachne yes
name enter local coyote "" dopey yes
name enter local CONSOLE "" admin yes
name enter local golem "" dopey yes
name enter local ariadne "" ariadne yes
name enter local thorin "" thorin yes
name enter local obashful "" obashful yes
name enter local Csleepy "" Csleepy yes
name enter local voice "" voice yes
name enter local Cthorin "" Cthorin yes
name enter local spiff "" spiff yes
name enter local bifur "" dopey yes
name enter local dectalk "" dectalk yes
name enter local solagone "" solagone yes
name enter local moria "" moria yes
name enter local gloin "" gloin yes
name enter local housay "" housay yes
name enter local dial "" none yes
name enter local laid "" laid yes
name enter local tattoo "" dopey yes
name enter local Cbifur "" Cbifur yes
name enter local tiger "" dopey yes
name enter local Cgloin "" Cgloin yes
name enter local raven "" dopey yes
name enter local munchkin "" munchkin yes
name enter local sneezy "" sneezy yes
name enter local Ctattoo "" Ctattoo yes
name enter local jones "" jones yes
name enter local sapir "" sapir yes
name enter local dopey "" dopey yes
name enter local Csneezy "" Csneezy yes
name enter local ohunny "" ohunny yes
name enter local happy "" dopey yes
name enter local LOG "" admlog yes
name enter local python "" dopey yes
name enter local Csage "" Csage yes
name enter local lear "" lear yes
name enter local Cdopey "" Cdopey yes
name enter local console1 "**" console1 yes
name enter local grumpy "" dopey yes
name enter local Chappy "" Chappy yes
name enter local bashful "" dopey yes
name enter local minos "" merc2 yes
name enter local Cgrumpy "" Cgrumpy yes
name enter local Cbashful "" Cbashful yes
name enter local sweet "" sweet yes
name enter local cocalus "" cocalus yes
name enter local rear "" rear yes
name enter local * "" merc2 yes
name enter local Csweet "" Csweet yes
name enter local lobo "" dopey yes
name enter local Ctelebit "" Ctelebit yes
name enter local iota "" iota yes
name enter local ergo "" ergo yes
name enter local dori "" dopey yes
name enter local dolphin "" dopey yes
name enter local Cdori "" Cdori yes
name enter local hunny "" dopey yes
name enter local CHg "" CHg yes
name enter local IPtiger "" IPtiger yes
name enter local athene "" merc2 yes
name enter local Chunny "" Chunny yes
name enter local Cjbox "" Cjbox yes
name enter local doc "" doc yes
name enter local jlhear "" jlhear yes
name enter local CONFIG "" cfgdump yes
name enter local jerconv "" jerconv yes
name enter local SPIFF "" spiff yes
name enter local gunn "" gunn yes
name enter local adminHg "" admin yes
name enter local lixo "" garbage yes
name enter local outside "" astro yes
name enter local alice ">astro/alice" none yes
name enter local IPbashful "" IPbashful yes
name enter local dwalin "" dwalin yes
name enter local ? "" ? yes
name enter exchange mercury "" local yes
name enter exchange phone "" phone,astro yes
name enter exchange homer "" mha1 yes
name enter exchange a "" mha1 yes
name enter exchange e "" mha1 yes
name enter exchange merc "" local yes
name enter exchange astro "" astro,phone yes
name enter exchange * "" astro,mha1,phone yes
name enter area mh "Murray Hill, NJ" local yes
name enter area nj "" local yes
name enter area * "" astro,phone yes
cfgdump enter 1 cfgdump adcfg
cfgdump password a18jUSGxZ4w6
remconsole enter 2 admin adcons
remconsole password Ku8uujHZh6ru
unix type enter unixV2 2 unixVcscp 3 unixVp ci2,fim,cpmhs,cpm422,cpmdr
unix type enter unixV1 1 unixVcscp 2 unixVp cpm422,cpmdr,cpmhs,wif
unix type enter unix92 2 unix9cscp 3 unix9p ci2,fim,cpmhs,cpm422,cpmdr
unix type enter unix91 1 unix9cscp 2 unix9p ci2,fim,cpmhs,cpm422,cpmdr
unix type enter unixV4 4 unixVcscp 5 unixVp cpmdr,cpm422,cpmhs,fim,ci2
unix type enter unixT 1 unix9cscp 2 unix9p cpmdr,cpm422,cpmhs,fim,ci2
trunk type enter radian 5 tdkp 6 tdktrkp 3 loopp trkt1,trkhs,fim,ci2
trunk type enter vcsdds 5 tdkp 8 tdktrkp 3 loopp trkdds,tim
trunk type enter tdk2 5 tdk2cscp 6 tdk2p 3 loopp trkt1,trkhs,ci2,fim
trunk type enter dk2 5 dk2cscp 6 dk2p 3 loopp fim,ci2,trkhs,trkt1
term type enter ty12 ty12termp fim,cpm,ty12
term type enter aim aimtermp aim8,aim4
term type enter ty4 ty4termp ty4
term type enter ty1 ty1termp ty1
term prompt "Destination please: " "DKC "
tyhost type enter ty1 ty1hostp ty1
tyhost type enter ty4 ty4hostp ty4
tyhost type enter ty12 ty12hostp fim,cpm,ty12
tyhost prompt "Destination please: "
conc type enter bbox3 1 bbox1p 7,15*24 dsx1
conc type enter wif32 1 wifp 31,7*32 wif
conc type enter wif16 1 wifp 15,15*16 wif
conc type enter wif8 1 wifp 7,15*8 wif
conc type enter isn 1 isnconcp 4,4*9,96 swt,ci2,fim
conc type enter owif8 1 owifp 7,15*8 wif
conc type enter owif16 1 owifp 15,15*16 wif
conc type enter owif32 1 owifp 31,7*32 wif
conc type enter xwif32 1 wifp 15,15*32 wif
conc type enter bwif32 1 wifp 31,15*32 wif
dialer type enter ty12.penril ty12penrilp ty12
dialer prompt "Destination please: " "DKC "
? enter 2 ? dirass
admlog enter 1 admlog logger
admlog password KaN7wNS2K/0g
maint board enter sft vcs 0224 none y 0 none y 0 none
maint board enter ci2 vcs 0225 ci2 y 0 none y 0 none
maint board enter dkap vcs 0217 none y 0 none y 0 none
maint board enter ty4 vcs 0100 ty4 y 0 none y 0 none
maint board enter vcsrepeater vcs 0203 vcsrpr y 0 none y 0 none
maint board enter vcsclock vcs 0201 vcsclk y 0 none y 0 none
maint board enter vcsswitch vcs 0202 vcsswt y 0 none y 0 none
maint board enter cpmdr vcs 0207 cpmdr y 0 none y 0 none
maint board enter trkhs vcs 0212 trkhs y 0 none y 0 none
maint board enter ty12 vcs 0220 ty12 y 0 none y 0 none
maint board enter cpmhs vcs 0210 cpmhs y 0 none y 0 none
maint board enter cpm422 vcs 0205 cpm422 y 0 none y 0 none
maint board enter trkt1 vcs 0215 trkt1 y 0 none y 0 none
maint board enter trk17b vcs 040 trk17b y 0 none y 0 none
maint board enter wif vcs 0252 wif y 0 none y 0 none
maint collect
maint clock 63
maint override 12 cpm422
maint override 20 ty12
maint override 28 cpm422
maint override 44 cpm422
maint override 52 cpm422
maint override 58 ty12
maint override 59 cpm422
cons1 disabled notrace
cons0 enabled trace
unix enter 3 unixV1 256 gloin 96 gloin yes no no no none y
term dev enter 4 1 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 4 2 ty12 13 128 none tty terminal 9600 none n y y none 2brk disc y
term dev enter 4 3 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 4 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 4 5 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 4 6 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 7 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
term dev enter 4 8 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 9 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 10 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 11 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 12 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 5 1 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
term dev enter 5 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 5 7 ty12 13 128 voice voice 9600 9600 none n n n none none 0 n y n y
term dev enter 5 8 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
term dev enter 5 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 5 11 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 5 12 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
trunk enter 6 dk2 4096 mha1 75 none other no none y
term dev enter 7 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 7 6 ty12 13 128 ergo ergo 9600 9600 none n n n none none 0 n y n y
term dev enter 7 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 12 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
trunk enter 8 tdk2 4096 phone 256 none other no none y
trunk enter 9 tdk2 1024 astro 256 none other no none y
trunk enter 10 tdk2 4096 merc2 512 none other no none y
unix enter 11 unixV1 256 scylla 64 scylla yes no no no none y
unix enter 12 unixV1 256 ohappy 96 ohappy yes no no no none y
conc enter 13 bwif32 512 16 y
unix enter 13/2 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/3 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/4 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/5 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/6 unixV1 256 crux 32 crux yes no yes yes none y
unix enter 13/7 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/8 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/9 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/10 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/11 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/12 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/13 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/14 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/15 unixV1 256 arachne 32 arachne yes no no no none y
unix enter 14 unixV1 256 ariadne 64 ariadne yes no no no none y
term dev enter 16 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 2 ty12 13 128 none tty terminal auto none n n y none 2brk disc y
term dev enter 16 3 ty12 13 128 none tty terminal 9600 none n y n none 2brk disc y
term dev enter 16 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 7 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 16 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc n
term dev enter 18 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 19 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 8 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
tyhost dev enter 19 9 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
term dev enter 19 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 20 5 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 20 6 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
term dev enter 20 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 11 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
term dev enter 20 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 21 8 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
term dev enter 21 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 12 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
term dev enter 22 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 5 ty12 13 128 none tty terminal auto none y n n none 2brk cmd y
term dev enter 22 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
unix enter 25 unixV1 256 dopey 96 dopey yes no no no none y
conc enter 26 bwif32 512 16 y
unix enter 27 unixV1 256 sweet 96 sweet yes no no no none y
unix enter 28 unixV1 256 sweet 96 sweet yes no no no none n
unix enter 29 unixV1 256 moria 96 moria yes no yes yes none y
term dev enter 32 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 3 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
term dev enter 32 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 33 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 33 12 ty12 13 128 dectalk dectalk 9600 9600 none y y n none none 0 n y n y
term dev enter 34 1 ty12 13 128 none tty terminal 9600 none y n n none 2brk cmd y
tyhost dev enter 34 2 ty12 13 128 Ctelebit Ctelebit 9600 9600 none n n n none rmcs4tS8PO.I 0 n y n y
tyhost dev enter 34 3 ty12 13 128 Csneezy Csneezy 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
tyhost dev enter 34 4 ty12 13 128 Csage Csage 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
tyhost dev enter 34 5 ty12 13 128 oin oin 9600 9600 none n n n none none 0 n y n y
term dev enter 34 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 34 8 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 9 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 10 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 11 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 12 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
term dev enter 35 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 4 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
term dev enter 35 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 1 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 36 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 4 ty12 13 128 none tty terminal auto none y y y none 2brk disc y
term dev enter 36 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 36 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 38 10 ty12 13 128 cocalus cocalus 9600 9600 none n n n none none 0 n y n y
term dev enter 38 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 3 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 39 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
unix enter 41 unixV1 256 icarus 96 icarus no no no no none y
unix enter 42 unixV1 256 balin 96 balin yes no no no none y
unix enter 43 unixV1 256 obashful 96 obashful yes no no no none n
unix enter 44 unixV1 256 bombur 96 bombur yes no no no none y
unix enter 45 unixV1 256 bifur 96 bifur yes no no no none y
unix enter 46 unixV1 256 siriusb 96 siriusb yes no no no none y
term dev enter 48 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 48 3 ty12 13 128 Cjbox Cjbox 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
term dev enter 48 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 8 ty12 13 128 none tty modem 9600 none n n n none none cmd y
term dev enter 48 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 48 11 ty12 13 128 Cicarus Cicarus 300 300 none n n n none none 0 n y n y
tyhost dev enter 48 12 ty12 13 128 Csweet Csweet 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
term dev enter 49 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 49 6 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 7 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 8 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 9 ty12 13 128 console1 console1 9600 9600 none y y n none none 0 y n y y
tyhost dev enter 49 10 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 11 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
term dev enter 49 12 ty12 13 128 none tty terminal auto none n n n none none disc y
tyhost dev enter 50 1 ty12 13 128 Cgloin Cgloin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 2 ty12 13 128 Chappy Chappy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 3 ty12 13 128 Cbashful Cbashful 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 4 ty12 13 128 Cbalin Cbalin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 5 ty12 13 128 Csiriusb Csiriusb 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 6 ty12 13 128 Cbifur Cbifur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 7 ty12 13 128 Cdopey Cdopey 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 8 ty12 13 128 Cbombur Cbombur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 9 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 10 ty12 13 128 Cgrumpy Cgrumpy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 11 ty12 13 128 Cdori Cdori 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 12 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
unix enter 51 unixV1 1024 arjuna 64 arjuna yes no no no none y
unix enter 52 unixV1 256 dori 96 dori yes no no no none y
term dev enter 53 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 53 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 53 3 ty12 13 128 jlhear jlhear 9600 9600 none y y n none none 0 y n n y
term dev enter 53 4 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 5 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 6 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 7 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 8 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 9 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 10 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 11 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 12 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 54 1 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 2 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 3 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 4 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 5 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 54 7 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 8 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 9 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 10 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 11 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 12 ty12 13 128 none tty terminal auto none y y n none 2brk cmd y
term dev enter 55 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 55 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 55 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 12 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 56 11 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 56 12 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
unix enter 57 unixV1 256 jones 96 jones yes no no no none y
unix enter 58 unixV1 256 bofer 96 bofer yes no no no none y
unix enter 59 unixV1 256 jones 96 jones yes no no no none y
unix enter 60 unixV1 256 mharit 64 mharit yes no no no none y
unix enter 61 unixV1 1024 lingua 64 lingua yes no no no none y
term dev enter 62 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk cmd y
term dev enter 62 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 62 10 ty12 13 128 IPtiger IPtiger 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 62 12 ty12 13 128 IPbashful IPbashful 9600 9600 none n n n none none 0 y y n y
:!C����b�&�R(��O(��O(wtmother/n/westphal/usr/wtm/misc/rawslog/s.inxv/v14725/7983064950	38363
950	38346
950	38337
951	38323
951	38319
951	38314
953	38309
953	38293
955	38285
955	38276
955	38266
955	38258
956	38248
956	38240
956	38231
956	38226
958	38217
960	38207
960	38204
961	38207
961	38209
963	38203
963	38204
965	38200
966	38197
968	38223
968	38222
968	38222
970	38224
970	38226
970	38227
971	38233
971	38233
973	38231
973	38234
973	38234
975	38232
975	38234
975	38235
976	38235
976	38238
978	38240
978	38242
978	38244
980	38242
980	38244
980	38244
981	38250
981	38247
983	38250
983	38247
983	38248
983	38250
985	38249
985	38252
986	38251
986	38253
986	38251
988	38255
988	38253
990	38252
990	38252
990	38247
991	38248
991	38248
991	38247
993	38243
993	38242
993	38243
995	38240
995	38238
996	38236
996	38234
996	38236
996	38235
998	38231
998	38231
998	38232
998	38233
1000	38231
1000	38229
1001	38226
1003	38226
1003	38222
1003	38222
1005	38224
1006	38223
1006	38221
1008	38222
1010	38221
1010	38222
1013	38214
1013	38211
1013	38210
1015	38205
1015	38203
1015	38201
1016	38197
1016	38197
1016	38195
1018	38197
1020	38199
1020	38195
1020	38189
1021	38186
1021	38184
1021	38185
1023	38187
1023	38189
1025	38188
1025	38183
1025	38183
1026	38186
1026	38187
1026	38188
1026	38189
1028	38188
1028	38185
1030	38191
1030	38190
1030	38191
1031	38190
1031	38187
1035	38182
1035	38181
1035	38182
1035	38181
1036	38182
1036	38185
1038	38185
1038	38185
1038	38185
1038	38184
1040	38183
1040	38178
1040	38178
1041	38174
1041	38173
1041	38173
1043	38170
1043	38171
1043	38170
1043	38168
1045	38167
1045	38165
1045	38167
1045	38172
1046	38185
1046	38194
1046	38195
1048	38195
1048	38195
1048	38195
1048	38197
1050	38197
1050	38198
1050	38196
1050	38198
1051	38199
1051	38197
1053	38196
1053	38196
1053	38195
1055	38190
1055	38193
1055	38192
1056	38191
1056	38189
1056	38187
1056	38183
1058	38182
1060	38180
1060	38179
1060	38179
1061	38178
1061	38180
1061	38182
1061	38178
1063	38178
1063	38175
1063	38174
1065	38168
1065	38168
1065	38167
1065	38168
1066	38166
1066	38161
1068	38158
1068	38158
1070	38158
1070	38158
1070	38160
1070	38158
1071	38156
1071	38156
1071	38156
1073	38155
1073	38155
1073	38153
1075	38154
1075	38154
1075	38155
1075	38152
1076	38154
1076	38152
1076	38155
1076	38153
1078	38157
1078	38160
1078	38160
1078	38156
1080	38154
1080	38150
1080	38147
1080	38147
1081	38142
1081	38142
1081	38140
1083	38137
1083	38139
1083	38140
1083	38139
1085	38140
1085	38138
1085	38137
1085	38135
1086	38135
1086	38134
1086	38131
1088	38130
1088	38133
1090	38133
1090	38134
1090	38125
1091	38122
1091	38122
1093	38123
1093	38120
1093	38121
1093	38117
1095	38115
1095	38114
1095	38112
1095	38114
1096	38112
1096	38109
1096	38105
1096	38105
1098	38104
1098	38098
1100	38067
1100	38061
1100	38057
1101	38058
1101	38056
1101	38054
1101	38056
1103	38053
1103	38049
1103	38051
1103	38048
1105	38043
1105	38039
1106	38039
1108	38030
1108	38031
1108	38030
1108	38028
1110	38024
1110	38020
1110	38015
1110	38008
1111	37998
1111	37998
1111	37996
1113	37995
1113	37994
1113	37993
1113	37992
1115	37991
1115	37992
1116	37990
1116	37991
1118	37992
1118	37993
1118	37997
1118	37999
1120	38000
1120	37998
1120	37995
1120	37994
1121	38000
1125	38005
1126	38005
1126	38009
1126	38009
1126	38008
1128	38007
1128	38003
1128	38003
1130	38002
1130	38005
1130	38007
1131	38007
1131	38009
1131	38007
1133	38006
1133	38001
1133	38006
1135	38005
1135	38000
1135	37998
1136	37984
1136	37983
1138	37946
1140	37941
1140	37937
1140	37938
1141	37938
1141	37934
1141	37935
1143	37937
1143	37935
1143	37934
1143	37933
1145	37932
1145	37938
1146	37936
1146	37937
1146	37934
1148	37933
1148	37935
1148	37932
1148	37932
1150	37931
1150	37933
1150	37937
1151	37934
1151	37932
1151	37931
1151	37929
1153	37928
1153	37922
1153	37923
1153	37923
1155	37921
1155	37919
1155	37914
1156	37910
1156	37912
1158	37911
1158	37906
1160	37899
1160	37891
1160	37889
1160	37882
1161	37883
1161	37881
1161	37878
1161	37876
1163	37876
1163	37879
1163	37881
1163	37882
1165	37879
1165	37882
1165	37882
1165	37881
1166	37881
1166	37891
1166	37891
1168	37889
1168	37896
1170	37894
1170	37899
1171	37893
1171	37896
1171	37900
1173	37899
1173	37902
1175	37906
1175	37907
1176	37903
1176	37902
1176	37904
1176	37904
1178	37902
1178	37901
1178	37899
1178	37901
1180	37901
1180	37900
1180	37902
1181	37905
1181	37907
1181	37907
1183	37911
1183	37915
1183	37919
1183	37920
1185	37919
1185	37918
1185	37921
1185	37918
1186	37914
1186	37914
1186	37916
1188	37918
1188	37922
1188	37921
1188	37920
1190	37921
1190	37922
1190	37921
1191	37928
1193	37931
1193	37930
1193	37934
1195	37936
1195	37937
1195	37936
1195	37940
1196	37939
1196	37938
1196	37940
1196	37941
1198	37941
1198	37939
1198	37937
1198	37935
1200	37935
1200	37936
1200	37939
1201	37938
1201	37945
1201	37946
1203	37947
1203	37948
1203	37946
1205	37942
1206	37946
��CK���Y#�!O(�R(�R(wtmother/n/westphal/usr/wtm/misc/squig/trin4.Jun.rv/v14725/79930660.9120
0.9061
0.9141
0.9377
1.0043
�Cc��:h��~R(�}R(�~R(marcia#28428/n/atomic/tmp/si/bQg1.q.conv/v14725/876�
�
�
�@�@A6�A6�A6��@&S�Cz�@{�@��u?I�N@o<
A��?;Ф@�Tt@���>�cQ@*�@A?~A��Aw�{@��z@�t"AE�@��A�}5A3�kA��VA�#@H�GAE�jA��Aȯ@��A4A@��@�7Z@d@*QZ@b7A�dAʐO@��KA��A
��?�ڇ@�,A#`A�VAbt@KI?��>AơnAb�qA%:A�onAzA��@�[A��A*,/A��E?g�@���@�S>p�@�A��?	�<Ah�?�5AAPdMA�VA��xAN�CA*1tAB[NAD5b@C�	A3��?��@X-�@�d_A��@b}A�8[AH��@�xAo(�AG)AS5A��VAK�gAh�A���@�E@i�@��SArc�A�f/A�#?A�w�@]w3@��AI�@��A�?@�@R@��@�6>)�1A��@��A�#�@wmA\�@8�FAQ�A0�@�y^A�M�@ഃ@�aQA:)�A�\Ah>A�6A���?<�
?~��@B��?��A98BA�|A��A��A)m)Ay�A���@+@A���@WAy��@�??��@t�)?��@��@��@.�A1��@���@1?dA��@.��>��9A�"AWX�@�bA��nA���@x��@�jAK�@�\�A��`AI�JA\�@6�;@h�0A�UA�A�"�=|v>3T�?��@�V�@�)A��?��}AXA�KgA�M�A���@tt)Aſ!A���@s�[@��RA]At^rAPBWA"ۿ@�UwA)��AmWA>�^AF�lA��WA�
�@C�?�@��2A��
Ax�A�@B�A�QAK�AJw�@���@fOA�8�@"aAul@�K0Av$YA$(�@�0A�o�A0hCA�_�@@FA�\A�8A	%0AS}�@�z�@���@sogAB�@/�WA�>�@�,A�@GA/ـ@y��?�6A��$A#DAJFA���@Ez�A�x�@cGcA��Ag�@I�IA��7AF�.AA�A��xAz�@��yA�&AX=#A��&@k��@1.A��2A���@�@�A��KAt�5A�L�AR�5A4�uA�F}>�š@��@ۗcA���A�A0S�@�e&A�Q�?��lAr!�@]9FAIqpA�\@D��?Y�A��@b�(@�=5A
�mA�@�@{�@�)A�3%Ay�6?(�bA���@j(A�
xA
�@.�Ax�-Ax��@An@��l@�AE�jA�4A3�~?���A^�A�Ч@ތ�A�leA\YOA��[A�TAl�N@�E6@��?c�@'��A�J�@{�@��@AO4�@�gWAa�@ЮA��D?��7@�)�?Y1@��YAv�A��A�PmA=�@��]A%�@+�>A	�cAz@�@_:@ h@���@fAT�@0�1A�Y�?��@���@�	AЌ|A@AApmA�fZA���?.\�A��A�Yq@�Ar�Q@��WAAE'�?Bv�>�
�?�%A��)Al@y�xAH+GAW��@_?%Ae}uA���@��`A�Ba@w�b?�8A@�W-A��@0�g@�SAK��?��>@{[A��@�j!>/�_A���A_yA�V>|�=A��bA�	A�\�@�5.Ak	�@8�G@��@��A���@ef�@W�"An|WA�j:A��@b�AmlA}HA�xgA��=A5<YA��?^�(@[��?�.?��@�+�@��JA`}lA�nA4��@j�G=6/AJ��?t5@�|9A?K(Aǩ�@�8A�6?���?�'�@�iA�@&vyA��?A
M�AZA�)A�)>@��@Z��@u^AYo~A�@��IA�S0@*&LAN�OAx?�@)hLA�ju@�Z�@G @��xAJ	�A,��@�>�@. A�j�@�:A,AsA��@� A$�A�t�@NJ�@‘VA�A"DA�{A+��?ժ?7.�@"AAK>Ab��@��PA>
�@�|�@���>f��>�A�@��:?N��@08A:KA|��@&�?��YA�A�9�@��kA"hA��@�?@u½@D&�=̊;Aw>?W�?��@��fAn�>A�N\A_�>�ւA�s�@��A#|�@��A*wRA�nAg�MA�0IA��"A� JA�,@$h@��K@�-WAJ�F?Ҩ�@��YAsYA��A��@qFAtA�
A��~A[7�@\z�@��?H�&@_�@��KA�y�@���?���@o��@%�A��JAD`(@D�nA�fA��+@�(A�-6AӦ�@��@z�
A���@,}2A��	A��@��jAK@���@��mA'_A��C@��@�ڛ@��:AcIA�QA�Aa2�@��A�|3A[ނ@S�;?�A�pqA�^@��,@_�A�i4A��y@OoA�b�A�#�@��y@J�<@5�A@o8>A�1%@�m
A}7AA�35A��A?(PA��>@C eAV�A��CA�ۮ?%�*Ay�A��\Ao��@\0�@��\A��mA�qAm�>��@j��?=#�@�!AT8A��KAO�L@Z.A2Ar�A��yA�"@KOOA��@fu�?DK
A��r@S6�>'eA�&�A;�@��?�@�?.t@Ay�@Fđ@�;�@$m.@&��@7�e>�#A��
Al��>$/A�qIA]��@��?ځ�@���@�[�@E�_A�j�@�y�@��OA�P@O�	@�"A^׃AV��@o��?�z@޲�@��"@��A�pA&;lA��A˽!A�"�@}vrA!,�AZANj�A�eA�FA}agA�3�={�#@^oXA5A���@{�x@��A�vA$��A�qTA��t?�E;A:(#A��j@0��@5-JAkg]A��<AX�@�zA��>6CAR@�?��A��@`
5@ك�@nSA:!jA�"(@?@)7sA�(ASvAݬGA�R�?oaQA���@�PA-�cA��FA�A�o�?U}�A��{A'<v@��?A8�%A&$�@�C_@+��@M�0A��
A%��@E�*Av�@=L8A-��?a�2A���@啿?9RJAIT�?�˃A8	�?�@��$@t�@�|aAW;PA@b�A/SR@�9zA��JA>�7AgJ#A�.
AV�}Ab��@��M@��bA���@�1A'�A7mAm�xAc�(@�Z@Y(@�A�A@F�@�yJA�8
A:�?J�A`�AL  Ap)�?A�>`5Z@ہ'AG^9A��?@�sAZ�@|�VAǠ�@s�@oAP?���@��@�A�d�@�t�@��@���@�S�@�gA��A��9AK..A�`}A��-A��>O�QAL�?}�cA�/YAu�CAY:�@�@�~CA�A5=AT>�?A�g@�eA��1A@�g@!T�@v��?@BVA��@D�@��@8��@�aA`4h?$kA$�BA���@	�@�9�?b΁A�ʛ@�2lA��A��qA%�?�� ?��@�6A>�#�@�ˌ@��A:`lA���@��*>8��>�Cv@�r{Aq�3A��?�@A!�@KFCA�dLAy�@^�A���>��@z�MA��@�^@��CAc��@]\�@��eA�#0@�R'A��SA�t�@[�@d�VA��n?m�@�V�@y!U@B�'A���@�q�@�;A�t�A��IA�>�@��A�eA<�@P
o?,�A^�EA�3[A�ikA�;A��WA�r�@>��@꾙?jJ�@V�A�]pA���@�]?=��A��@�?���@�uA��A�JkA�/�@#��@Fݥ@��A��lA�
@��uA7A�v3A��AAB�A��+>��A�$�@A��@R-(A%�@��EA
�&A�ƶ@���@]��?z�k@ՁA��"Ax��@�A8�@�T�?v��@?)F@�z7@�؇@�7~A��&AiwzA���@�mA�o|AšuA�?A%z
A�
�@��#A���@]�#A��0AGȅA���@���@7�@ٸ�?�,IAUzq>���?�?@Iw�?+7!@�#A�8L@��?G��@�.SA���AS�8A/4{A��?L�*A��:@�A�[�@��@A�n@���?5cA��?1v??��A�2?A�/<?!̄A�A?�A}m�?�A���?�-�@�	�AsfmA���@8R�?��p@)ׁA�@Se{@�K�@��@)�D@���@_��@��|@
AA��@�FHAI\
AR��@���@g42A{��@V�\AK"2A<EFAy��@�&�@�kA�DA�RmAyAً�@�c�A�!�@��AwB�@I�2A���@���@ի'Ac�A�-`@�AQ�A�+As��@��@|�F?
hKA�V�@��>=�@�
A-��@�H�@L	�@�LO?�>�@��1AAp
A}�A�gA_�@X��@"�@�uA>=>A))>�Ҭ@=��@���A���@��@4�AA7A+A���@��<AӅ_@� .Ajg�@h�pA�"^>��HAD�C?mswAdA��@Z�A��]AN��@"T�@�chA��A��PAH�A^�@�F*@�=A �@�=A�J�A�|@%@9'9A�/rA��zA�3yA9p@��|A(�WA�y�?X�@ A Aw�UA���@)`?�t>��qA��&A�~�@��A��@ٚ�@A��#AՇiA�?�ieA�2A���@S��A��@r�lASɀA�&\A�sA��.A���@�S�?�UA|�@&�\AȜ�?]9Aciu@B�A��:?0*�@��A��)AKHuAeA3�kA��@��QAH	dA�SA�P�@t�@`��@�a@R�~A���@_a@~{@���A[�;A�uiAW�?[WAI.A��>���?�8�@�"A�J�@mcAzj�@k�zA�*AY��?�TAa�>@��A�g*A���@��@T3A̮�@�ŭ@��%A�:E@�gBAHu1A�9@v;�A�_A��?&��@)��@0\*Atn�?�mA���@��@ї�@�� A�y�AJ��@��TAS�@��@��SA���?�5(A@Y�?���@�5HA��@���@�)qA��zA��}A��sA���?�o@y�A�3�A>Y�@���>c�?�Ҷ@���@�pCA�?HA�WA��pA��>'�=A��@!��Aj��@V�A?MDA��i@��>@��@�[�Ajm$A7A���A�7A�� A��A�j
AHA|�'A�E�A]
ARfG@���@Ժ�?R��@��rA��GA���@f�AA�PA�CA�.A��@Y>A��@��uA9��@��AC{;A۪�@̲3A�_�@�9$@ۃA�JA�h@m@C)A)O�@��$A
�|A��NA�h�=�A��?@~n@�zQA��A��EAtCAX�@��@��?��@@��A�FA�|@��_@|W.A�J�@��wA��!A���@�.�@P�yA�@���@�2"@`zP@U�pA���?[PA��?[�A׀TA��2A��@�r@�pAsA�
�@�88@
T/@�+bA
A�@g�A��?Am}TA6@�1�@�]�@K?~A��.AC[A�K�AȖMAP�A�)>>��@���?���@cl�@�mA��.A3:AA�
�A�XAuA�eA�f�@�IA|xAy��>,�oAP��=�5[AƁjA'AA�yA��@8;{A^�n?1��@��A�62A���>K�@��AA{.FAi�(A���?��!@l�?|A��A��?B�:A�KA�\Ahн@[A�U�@0�lA��J@�#A\��@$d_A�]P@�w?J�	A���@GŒ@$
aAyaA4�XAN�@�
;@N�@l�lA�A]��@��@rs,A#LaAn��@�(�@Y?�|A�JxA��A7:j@K�|Ax�?�b@�[�A.�R@��WA'�@��+A>�$A�@�DtA�n!A��A�EiA�� A$�A�DUAO{�@cA�Y@�v�@���@`i�@�z�?��]A��vA�jA�A�Z�A8�&A�k�@$�A��?��t@?P�?��3A*��@��TAŵBArI�A��2@�A��5A���?�`�@Qw	@jgAu,�?5��@�#1A8]jA�WA�AMAt\vAi��@4IVA�Ao}A��%@'��@aSeA<�A�&A�4A'�-A�tkA(�Y?<r)A��@�@A�A�@[��@!ζ@=WAmg"@�A��IAs�1A3�f?p`A1ǀA�NA�J?AB:@�g
@,yAiA��A
�@�YgAK�CA+�@�!�@��7Ags�AM�?A�6S@�B@�]SA�\�@��N@�	M@S�kA[
Az��@��A��
A���@i��@��,@�{�@�8v@�|A�XA�z@#�,A]LA�lfA�s.A�cFAķ3AP��AWAE�	A@�A::�@�M@	7�@7��@w��?�ê<�4AwyRA)nA��
A��UAj�@u�@���?��BA�@�3�@?�DA�xAO$Ao�EA�v@��@rj?�Qf?Q�@;6>�xmA�qVA��@�x�@hvyA��\A_GA���@N�8AЄV@���@_�4A��A-$F@�vAx[A$�@��<@4rI@���@�v�@ЦA�}ATw�@�AwnA�7�@�oAt�@}*$A�}A�
A��]A��hA�4h?�8A|�%A�5wAxgxAaEPAy�A(`iA��?��?p{A78GAv:@s��Aa,�@�<TAQF,@�"hA���?��ZAK�@�_NA��T?!v�@�|�=�Cr@,tA�X�@�O3A�pA���@�� A�e@�+"@�`A��?Zlf@X�bAnY'@2)eA 
A�/@�,]Ae�=>v��@�xwAr>�@�'�@�+}A_��@~s�@#a�A�k`>p~AA��@�q�@�fAa��@�;A%�5@���?:�[Ax6@�(A�lAů�@ic�@�tbA�C�A�?�@DJXA�!A�LA�^A��3A���@?4�?"�_A�$�@��@�9�@l�-A��>��X@�ɳ@��@@@LA���@�bA"A[�Aa�>/p>Aou�@~�2?�~6A��@ϻ'@��ApA��nAUŅA��2A��VA �QA�B'??i�@� �@�
@�$A�nWA508AO��@-�@]"A�
~A�;�@��?��@��[A@"CA+*!A6z�@�LoA^iA4@e�AHsA�wA�N[@S�1ALf3A��@�,AʛA_u}A���=�dA�~A:B@��A�K�@j�AK_�@pVCA�4-Ao+�@D�B@a�A*��?��zAbY4A��@��1A��a>g?�@F�@)zFA0AT�sASO@� A.�{AacB@o׀A��gA޷A�Qy>�F:A�v\@x4�@��y@�W@8�A!�A�l>V�A���@U3@�gA�Q5A�C�@�F�@m�@�/�@���<L�&A�m�@�/Ap�EA�?���AI�@�{A�1A��A�H�?�h�?��wA��@�'�@�_A]��@�n4A�2*A^�@�@Aޯ�@JARD�@��@�?7�?�x?�YA�62An#OA‘v@R`�@�LA�xAi�WAF�?נ�?�sA�#�?'�!A�@䨅A�4�@�(�@��"A��FA|p�?�DAe�e@
�A&IA�8A�KA���@�hHA7�>�mA{��@Na�@]�A��?G�NA���@�7�@���>�<;A8A�<"A��@t��?m�A�B�@�Z:A˗�@�
AA?��w@�?A��@AV��@�bAi�x@.
dA
�BAh�-A��Aj01AB�\Ao��@�܇@H�yAq�@�}@Y�IA�dA�2Aض�A<ld@��@Ѽ^@�qBA�IYA7��@�A��DA�UA��@-��@��j@��\A4�8AnA�4A��@Y`oA�8�=�(�A�VVA$�/@�4A:�A�T3A;Au�@��
AZ��?D�9A�@u�CA�Ae?h
@��d@]A)�A5*�A�$AC
�?��@�6dA%$/>�)`A�=@p�Aã>@�?���?C�AR�@���@��~A���@��iA�6�@[�5A9"@�b>��A[�]AY7�@2�@�*A��xAOt.AtA�zVA&h.A.pAD�r@:	�@�:A,vA��=A��p@Y�~Af�[<h�_Ah�@�UD@@A{A�*}@ꟁ?KA�mkAPj6A�"Aǭ�A��^A>�@g
pA�6A{�>A
^�@NhA /GAvGh@DM|AS�`A��@�H6AT�n@(��@���@�E�@e�?A7i�?���@�i�@���@��iA(�uA��oA���@��@�	n@�@?��cA��L=��@̯�@�ރA�tA�u�A_gwAЕfAE�HA}J\@.p8A�FA���AO��@Ő�A?I[A�>�@�O?��f@NN�A�bA��@QX`Ar�pA��OApg A?�>@M_*A_:?U�@�LAF��@�G@1�>A���@½A��1A;�@A��>A��@vo=A��)A�JA�Һ@�� @��@)�#A5$�@$Ai@�?��FA\�fA&��A<Ԟ@��aA"�cA�B<Ao2I@qc@�V=@䎫@��
Ar�EA��@�A�� A��?mAs=V@�PfA��=>��@U[?�@A�$@�
�@��A�QA@#KA�&vA�sAO@��A+��@�q�A���@,�RAHw�;�X�@�5�>�A0�)Adn2?��A�xA�l�@ت�@ScAд@�
A��EAa]zA�!@EA3FXAݢyA�K+A��A�pA<�Aw��?j'A�R�@�=�@"��@�AU�?AϓA��@��KA��@��YAذv@�7A㩄@2�?�+A�@}	-A�F9A�1�@�!AVF�@^zcA2�Aٔ�>y%@�K�@���@솆A�sA@�u@U3�?��p>*O�@C�+A-c�@;�
A�	@�'A��@�l=A�}A��A�- ?��CAoJAP	�?n�^A.>m�AZ��@�>v�A��A�eAA���A�1�@�A4�5A@WIA��@���@�ZA�A���@k�YA�:"@�r�@wB�@�9PA� ?��/A�A�ZF@sˁAo��@
��@��eAGoA��2A�6�@�q@��Ad�sA'�-A�� Aʸ�@���@�$Ab�?V��A�2�@�/KAJq�@��?�OgA+�@�@wP�AN�A�`AAg��@+��?�*�@��+@RJ�AW�u@?�
@�F
@6�b?�+LA�>.A��e@��Ai�QA��^Aޡ~A�xA/5�@���@��:A�C0@ǘ>��@���@b��@�=@�G>AnA'|�>y՞@�b]A,��?�_=A�I4A*XA,1�@��fA�E`Af��?9ԂA�VA
7�A9�A&��?f1�@�>�@ �!A�k,A�A+H.?�A�5hA��wA6UA�B�@��>e�&A���@��eA�PA��@��9A��#A�p]A���Aq�GA�V@��?N�K@UZ?K��?D`KA�&@��A��:A7�,AO��?>��@~|Ar�!A�@���@A_A@�"@%7nA�JAj�=��?T6AN9?��A�>�?(�A|�5@z��A��?T%A��N=@?a+EA`�>T�A%X@d-{?ܖ�@?�TA��@s��@˧o@9EA��X@��~A��qA&�?\�WAk��@���@E�ABNAQpA[�BA��mA�zIAB�\@rQTA��?�9A���@ A�ap?�[XA�A`A��@�9A;�@��?�A��5Aa,A'�CA�{)A!��?:�Aa=@"x�?�|AsnAߎ�@��CA�MA��[@�4A��?Y�>�@[�AbU�@��@^�'AP_�@8A/	�A�'�@�xA���@���@_��@�Ѷ@���@�
�@h�@_��A�ЀA��HA�fA��VA+nA��CA]�^A��`@̤�@d�A�%@A�%E@��mA�M3@i�@A`5�@�X=@%/�@$��>DxYA�"�@*Abj�@�%*@:�Y@XXAD\A�@(�L@�y)@��MACb�@;y@F��A.9�@P�NA���@��AA}�@[�Q@Q��@�$�@���@VLA��iAd�@A�D�?c�pA^�AtiTA9��@�5rA.>$@{:/A��A>�@DSA���?LpA�c@�jA'�UA�YqAU0�@�y\A�-@�A;ҁA�r@?��@��\A`QmA%�A<�o@,8@��@]5[A^ܖ@V�?�,�?G�YA˨RA���@1��@y�@���<�܆@<4�@��A��DA̶PA�a�@�t?��XAo�^A���@���A��?�XkAs,AΡ�@��?�1u@��x?6z�@�@�bA~JA�nA�d�?��m@ز�?�$Y@,�>ږ�?�@���@�@�~#A`ji@�o�A���@>�yA��$A>�@K��@*�@�2A��k>C�TA��@�CA!�@3�RA�D�@i�K@K;3A�;EA�&aA�)AT+A��"A�hyAn�D@^��@��A{��@
M�@xS@Ԝ�A%z�?���@�HA��L@K�AA3V@Z�?kg�?�P}A�O�@���A+�A8�A5�S@�Q�@h�(@�?BAyhA�A'%uAe)@0��@"��=�%A��?NApA!K+A'i]A��A+�@�p@Z>_A@
=A��_A�;�?1��@��BAQӀAB�A$��@#�$A�EAL5|AKjSA�0�@��eA�>qAY�?&@aA��@�02Ar��>]G�@��'AcE@�oAc2�@<=fA7��@�xhA��b@�|(AIj
A3yA-��?qL�@X�Y@�Y@i?^�+A��=Aa�BA#�@V2�@�N.?��GA�TA��RA�h�>�:A0%?�k@��1A+��A��Av��@T�RA�>t�T@gr=A��*A!��@���@�7�@u��@��?��oAks�>�ǎ@�N�@�0A�@���@m��?z��@���AB��@T�Ag��@⵼@��zA�A�@9:A=qxA
5A�A���@��-A��?b��?_ZVA8Wx?nt@��aA.�AQ��@�,6Af�KA���AA�tA��t@G�LA��$?�A�gAS�@~`9A�@ip[?<�fA��0?��A���@��u@�@��2A���@
qZA48A� 8A��B=�A�OMA�5A_xA�IO@��AGl�AӨ�?�sAtfA���@'��@ X)?���@��@决@��T?���@�#,Au��@��KA��&Aۄ`A�!�AV��@XA�
�@�Q�@{��@H�kA�aA�m�@A�X�@�c�@=�6A=_6@<i9@3�@kIVA�'A5�@�DApR%@�yA2DRAǁ2Ao_i@
�iAtXyA�M}@)Sd?�[A�4=A�$ABq�>��@�8A�`A8�Ae�LAv�	A��!A�AX'@�@	�'A"u@�O�@��rA�O�?-�Aa{ABcA�IWA	1aA��	A UAF�tAS�?|x@w�NA��?	Ak�$Ad:5A��A��VAR�GA�?�F3AQA��@[�.Akk6A�ZA���@�A�i�@<��@N�@�x@�y@�KA?{@[�-@ަ�@��?K��?K��?���A�NEAǁ6?��s@a�@xj�ADo�@h�@]E�@�y�?N�@��@��n@eb�@}?�A9@��AR?ȩA��e@��NA#C�?���@Bz�?<)�@;�A�pA��@��@��P>7z�@Ag�pA�GAD7�?a_�A�3MAV�@�=�?��@�&@�Y�@<|�A�g�@�/9A��A�iA��@-+rA�!\@��@$8A$�@��rA
�A(�@��A?�\A7=aA괩@�%@8A�A�uCA�K?��@#�A)�^A�)Â,A1�A1A�>^}<A�	A$AMsC@U��@���@F�?^i�A��@��FA�(A,�A�@AՒQ@F�vAU#Ayt�A��{A
�[A��sA�G@ScAR�>AG5A��8A��@�SA�=A�{}?<�A��9A��A4@A�o!Ab5@yVA�h�@niA xA��A�?C
]@��,A�ABEA�5A�r<A�_'@_�EA��Aߓ_@�BA���@,u?A��A�@So<J�8AS}rA	
@A�
�@G<FA�A�A��RA�m�>��@�?A�@�A?0NA�]A���@�eXA��+A�lA�oL=W :@��A���@u=LA{��@�QA6�-@��BA�/A
�*A�j�@�WR?��lAheA
�@�m A�!A%;PA��$A	@XA@6M?So0A�h�@b�A��AH�uA�@U�\@�oqA�LAS�<@b��@�C�@��5Ab��?�#aAX�6?l��@��@��3@�9Ad�;A�MZ?�ArAE��?�g?�RA �OA	��@��?|�D@��l@�.,AN�@_Am�;AÕ�@��#A?K�@�KA�qA��fAI�;A�@�?9A���@� 	A��vA0��@�"@J�XA��zA�.z?��/@N�jA��&AV�?�U�@��4A��$?Y&�@f�3@i�@���?��A�uk>x2AK7H?�R�A_UA��?i}n@b��@���@�@btAޭ_AE�?S?��6?F�u@��A��@8C&A�K(A�srA�,.A��4?��{A'�8@j��@��#A}/SAa^�@��@=g�@��A�b�?ݑ�=Z�Al��@��?A]�?��:@��A�O�@��p??�@z�"@Q�wA٭@��j@���A�'5A��$Ap�aAAÕ@V�,A��AD�xAZ��?�z:Ab9`A2�RARCaA
)A�o�?�^A<9Aբ@X�?���@�@&A��An|AXD�?f��@
y�@��@ �@�X->���@տA�؂@PaAY��@�e�?��`Aj�Aq?�@�rA~�*@�?
ZG?���@M�@�tA
8J>alfA��	A���@�&?��A�%L@��A��=@�=.A*�2A�
�AEn�@��A��HAjM�?�
+@�f�A�=\@��@֬�@!Y:A�yAwj�A��@{�@w��@7�A�A��Ah��>��~A��\Am˅@�=8A�گ?�ނA�ߋ?\>�@���@�1eA�A��7AsOAx�A�#"Ao�GA��@L�yA�Z6@j��@e�CA�<�?|[�@�NA(C$A=�A]hH@�;%@�@A�\AGwyA��@2\�A�B�@5'o@�yA���@��b@mg@Eã?o@�@<�@���@��zA4J@�f/A8�f@�Y�@��lAk�>�ThA�8AQ��@�RA�qA_� A�NA;AyKpA;��@��]@���@���?���@�;AQm~AbЅ@��A���?�kmA��eA��A<�?�*A��A{�bAy�y@N%�A�kAM@�gxAg��A+��@2�AZ|�@")A�J�A\[,A#�Z@n�1@gFA�0�@��@H�@V
A0��@/� AA2�?`AO�?�QA;,A>AM��@�OAP�>A��A~��A�6A��@�}]A�A��(AC�^AykA��@V�*A�A��@�@�*A��QA־OA��A��gA��JA���@
�$A��jAh݅AT�mA\
HAȁjA�d{A��AG��@��@�@�QA���@�-+Au2zAR�@�#�A�!{@�&�@f@%@%~7ATkcA��{A�j@��@R��;x{�@�6@q~;AQLGA(�@~6�>���>�pA(mA�
@A��
A��ABʾ?��@vAYO�AXԼ@f�*AxQ�A8��@1u�>0��@#.AdA��@fAN=uAaf�@<�L=���@]�`A���@��@�z@�@@��tA��B@�oZA��vA�uMADq7A�A+�=AR�;A�\S@b��@�	A��A,E�@i/@A3v�@�B@d%2A�=iAVpF@)zA���>!�DA@$A�}@q�<A$S�@̰%@d�@A60
AYK�?ߝNAv&>A:�
A�=cA���@l3�@ǷO@!��>�^�@��UAݕA�@�~FA0�@�<Ap�LA���?F��@űTAv/@�?�A�>r?��@�@op"A%A�)A�ɡ?�5
A�GqA�t@��=��@8h=M�$A�p�@��?�lAn0)A�XhA
�PA�RAj�;@p��@FQ�@v	A��"@���@���@A�i�=�
Q@��@�>Ao�=@�1%@V#�@>�A䶯@Tw�A:��@�Y@���?��@Eb@�AA*�sA��{A=�A��@j$`A���@�)A7
�?^Ԭ@�hbAf�?�@2N>�j�@X%A6�@[@|A�a>�Y�@��>o�)A*Q�?��`AN�!A�UK@�M�@��Aj�A4��@V��@4�mAU.A�(�@��t@�VA+HsA��A�UA@�@pu)AI��@:��@�դ@��@\QAo&DA.I�@�-A�z�?NCaA{ A��BA1��@��tA5�Aj�YAN_@��A��A��DAn{A�S�@-�~AR�P@�c6A!�r@��@�n&AU�Ax�
AY�-A�h�?���@i&�?���A��A���?�I�@�JZ@m�@*�!@N�@F�A"�aAD��@�(�A]�@�:A��?�RAv#@�z9A�n�?J��@���@�$U?��kA�6MAj�e>�'UA+�
A��~AH�4A�1�@H�;A�Z]@�Ý@·kA+�YA�(�?=eO?�oA�G|A6��>O,�@�Q�@oWA���@,J*Avř@�WA�=�A�~A\��@��A�[@�#A�nAz	"A�{�A�cA�.A�T�@�ˋ@�0ABϺ@�A��+AB
cAi��@�Ҋ@�?A/�5@��@i�@�Tq@��~A'�9@���?܉�@=��?f:�@.!iA>�HA6��A��0A��@�0�A��%?��BA�#4@=eA���A갹@DjgA�?A��
A��@�g0A�'6?xǔ>�'A�ktA�(�@�v�@��@���A?�A�PSAͭ�@A�@�?A��Al~AxEH@�:�@���?��
A��%A���?=�G@�%Ar\@��@N:3A�1.AXZA�wHA�qA��A�uA�NAG�!>�J�@�A���@��ZA�GSAT�>�d@�n$A��_A*�@��xA0�$A�,,Ảp>�LA��QA&�H?���Accd@�!�@�AѴcA�+�?��@�UAɮ�At�@�qAL�UA��A��>@]�yA�^A=�T@S�?%i�?�&X@cw(@*O�@uuAp��?^zA�G�@��x@��T?��@�w�@�'CA?r�A�A�p]@	@ƃ�@�y>>�\7@�ˁAUA{�5@G0A�(A��MA�?�@+�A�a�>�~bATjcA�-pA��AXm%A�B;?�3�@ޓ�A�I�@M�>i%@�[8Ae5A���?���@>IA
TA><7AvvA�4@e�A���@�AA�@�:@�M�@U�#@[M�=���@���A�f@\~A:iA��6A§@J�IAL&A�?9AN�KA��@�AWtAӓ#A�\:A�S@$��@ˣt?.�?Z�
AԘ@$��?� 
@��P@bq@��wAA@}@�mA��
A�K@R�;A{
A�'�@N�SAG_�A|A�<>	�@��kA���@{�KA�L�@jé@ƿzA�9A�gA�!r@��\A�u�>)ZAcF�?��@��tA(ՀA�?�$AŰ?@ȌY@F�,A��JA��Aj��@���@=w�?��]A���?�rgAw$B?*K?$1_@SJ�A�i�A��A@S�?i@�U�@S�uAj
�>��A�V�?H
�@qȪ?1�7AJ�@d!\?�4P=���@0�PA�A��1A��
A�CAB��@n��@�s�@T�AaA�AH=	AV��?rI?-A�@I��@K<Y@��iA�?kA�7A��h@TAv�.@��A�7?*}@/�?�vAf�J?�GA�A��@P(LA
��?��@ݻ�@'�A�&A��@��tA1Q@��#A�Z@�koA�U�@�ۉ@�K�=���?1'A� �@MvA�JA��A���?�5r?9FAݤ�@��@&yn?�f A�jA��A��@e�XA��@�~$A���@�i>�}�@`
@ku�@KA6�@A�Q|A��qA�\@�CAX�A�oAW��@
�@'�@%4qA.�@pЃA��LA��?糖@��A�?@di"A��~A�O�?�#kA-�QAl7�@W�YA�.@]kQA@&rA��@�
�@���@���@	�bA�ZA�kAi@���A��-A偃AcW A�6gA�s�@��@?�
'@W�A&��@�Nj@��cA�.AAg� A^�@O�@�ZZ@�sATa�@j�@�LA�dvA�A`@���@�)U?�tlA���>��A"0�@>x�>,UuA�;@��$@q�
A4�@Y�@�tA��@�"�A���?Mx?MI@U�vA�NA���@�N@u�AU�;Ah�4A��{A��@�8A��
A�:'A��@�ŃA��jAq#�@`�MA0.+Ar�As_�@PR@��E@�5!@Ue>Ao$�@-�%A�ٳ@���@3؁A�
AW(o?���@�AcA92A��A�d�@��4A��8A<<A�{ A��\A,P.@f1iAno3A��??�@;NA���A���@\��@�^AV��@�aiA�XR@c�[email protected]�@k�@��f@)�
A��FA,hA%��@��@='.A��`A�zuAm��@'�ZA�'A<��@�u�>��JA��@��qA�=A^A:F,@�LA_
dA_cAƄkA���@��:A		A���>�B,A_�A�aA�+CA
C]Af�AA��LAl��@s�YA�!d?m�\@wϳ@5�`A�[A.X�@=�A.�AA��MA��A���@X��@b�@�@���@ pAږ@�9A�3A�o/A̫�AVu!Ax
�A(�lAb�rA5��@.c�@��{@�>rA�ރAc(c@[C�@ۊRA/��?��A�1�@�ǽ?�B\A�uVA� A0t�@b��@]�?�QA�΀A���?�*�@�@�Y#AЅ@ʋm@�-%A=�AS@��A�^Ah�qA�A<^fA3��@
7A�AAn
~@��z@��@�s\Aӥ@:�@hD@8z�@���@�vm@�/A��@�jA�1�@VF�@u&�@�sAX�\A6<+A�GA4�A�O*A
�AZ75AlitA`'HA��?h�@hՅA�{AR{�AdaKA���A�YC?�@�@p��?�b�@<V�@dB6A2#nA�	J@[�MA+�`A��@
�@��zA��>s�!A��	AUa@Eɍ@"oA��;A|s@�G�@��[AR�;AH�@�@A�7(A�\A�Z{A+l+@��5Af�:AS�TA�D5@Z�4A�kyA�V�A�F)A �@���@�#/A��A��@���@.ZA6G@��FA���?��A>DATnA=�cA?�@�u@��dA�hA��G@�A�WAU�?�jA�vYA��kA���?��?(��@ɒ|Ar�@��
A�F@݃�@&<�@�|dAKmA)�1@��YA��@��mA��	A�r�@�g�@נA�hAt)�@MtTA�q@�aA��oA��zA�(@@���@L�A�w�?97A~�@3z�>��9A|�{A���A�
�@C��?��tA^�KA��X?���A�lAs
m@�tAmWA�9GAjB�?�2�@�
bA�zA�1A���A�'A��A=!uAe�KA��?y�AD��?k��?�v�@�*�@4F�@�8AzA��EA=$A+xI@�OOAT+A��)A�?@l#[A.,�@Uڛ@pr�Ao?�>�OT@_;Aa�A-�LA6�:A,�qA�h`@9_A�@�X=AF��AE�@6(�@W��@��@탅A��SA�>�@n�5AxS$@��@[iA}XA�WAC�wA��kA+@⬦@&�?�m�@�	Ac�@��NA�'A�A���?zV�@�HA“t@�ݡ?�@LAwxAqDŽ@HAYkcA��MA	f�@�� @��@b�'A��A�^�A�F4A1VAij|A�A�{;A|/@��@���?�Z=AIu�A1�A��Ay�@_b�?��@�8�@��?ؖpA$٨@�T?A�DA�¡?j�9A��,AePeA�~A�D�?]��@�3TA�OQA|�@�n�?��@�;�@��@@RCA�M+A DA�cgA*@�:?��A��6A�
@���@s�>���@�TAo�A0=AŒ>V�@ڏKAr��Aw� @��@��x@vsA���@9A}��@n��@w1	AIKA��TA
hIA��O@%�E@�S0A�v;@ޥ�AN0'A��@�,=�5�?[�&A�.iA�C�A��*A��@I8A��YA>�A�DtAJi�@=�
A,�A/CA�>AC�A?�@���@s��@Q�nA@�#A=Aq�?���@'PAY�?�nA�*pARAS��>7)AT�@wAoA�-�AF"r?R��@��Ae�AT�A��?�8�@��A��,AM]�@P�sA��@ڲ+@R�@�V$A[ۘ?	C�@�л? �?;�&A�+�@��?��A@B_A}o�@��@Y�@hGA]�?�PeA8tA��o?�hAۦ�@�+A9A=�VAQC=?<ҋ@A5�@ñ�@�A��;@J�[@�kAТ4AT�@3��?ٙ�@bXA%)?D��?�[@�8PA�+jA���A��@�o/A8�aA��z=}�@�zAl�@	gkA�pU@z^@�$>A��UA�cA��@��2A�+�@�Aw�!Ae�MA^"AA�OeAa`aAT�@�	B@�كA�ZmAU�NA-�|@��@p�.A6uwAY�@�=nAv�AA��>!~A�A)t?��
A��@E�A0$A]�>A+��?�a�@)��?\�?��[AI�TA��`A&�WA8�@u�eA�=�@o�IAD��@���?F8A��@�t�@a�fA�U+A5�k@9�lA�t)A��6@fZ�A30/?�A
dnA��QA�iV>'�8Ap�@!0�@�3EAA,'A�^�?60A��lA0��@���@z�l?݆�@v�?�_@��PA�$�?4�=Aޢ-AA�l~A�w�AOب@s�@7.@�XsA1JAs�$A'B�@�"�@��GA<gA�
�?0�A��Ae�A��?A��XA�p�@@��^A���@$�bAL.BA8GCAB�@?3A#-@��,@QU<@��@�NA��jA�p2AF~FAi*�@�+�AS߄@��vA1�/A��RA?#A1:?�S�@� �<���?è�A�2&A�n�@�j�@��=3E\@FqA?�?�uAt=�@q_@$�@��@�GA`YAJ�k@��A$��@�g<AT@W8�@P9lA9س@߄>A�A��)A?��@
G0A�2qAֱ�?媀AjA��t@��r@,A���@uj�@�&AU3!Aغ?�+oA�R�?�FzA�@��`A��{A�ԉ@�Q�A�`AB/A��AA��#A��A�bA_�@���@���@���@���@�51A̾@�(@�ʚ@��iAEI�A��JA9�@�YzA5�AH(|A�8�@�@�wbA�A���@U:!@�DŽA_AL��@�q;AX�V?xM�?��n@���@�fA���?�0rAk+A̦�Aq�A��A[�0A�J<@�]@�SAx�PA�A~��?$cAB�A!�@��?Wv#@���A��?AW6A~A��oA\uMA���?�AtA�U�?;xA"�@��@ �A�7k@��KA��QA��@L�A�@��Y?��A��@C�Y>�bA;U~@S��?�1@��+A�tA�#x@��@� *A&gA��dA��SAqk�@uA�uA0�wA$г?���@�Z�@G��@;vcA�u�@5��@�C�@��I@3$FA}ƁAVw>�A*�@лA\"/A�??:��A�pyAp�A�Aht_@�I?�YV@m�@r�y@�JA>@2�FA�{�@G��@\wA���Aok@ۥ�?z�?0�p@���@/�~AD?��@^�~@��@��VA
19AlJ_AXD1A�TuA��A��.@RazA%�9A��`A�'OA�AH�>@:ܰ>�*�@L��@^t)A�p#AT9A%�\A�B@���A]PA	p�@KAZ�@�	A&�iAf�AAOSdAp�@��@$�A	�v@�;KA>��>�9�@�mA?�{A�*Az�AM�@�cA|�UA�g�@�
cAxA�xw?�?J}>A�AA�^?�Y@^[email protected]�!�@ߧ;@�*&A�lP@���@��A��@�fA�
"A@�FA��A��&AɆ�A�8AdpLAA�BA�V@ج�A��A^�HAr�ZA�?8�@��h@�>A�=BA�{�@��CAY�6@[EAJ��@��zA��@;��A�\A��NAj�@9�@�[A�l�<AB&?@�PAP�?��@�:@��I>CSM@C+�@,ZA�(|?���@�GcA��@��^A�@�KjA��@j��>���A;�Ap��?�gLAH�^@��AT��@O[@.-(Ak�@{N�@���@ڬ�?��?��@�6�>20A\�+?T�A�0A�sA�}�>�
4A��?:~`A4��@iM[@��@+�vA�
�?IAUK�@�A�p@�^�@�$A�0�>z�@'A���@��qA?H�>C��>-G�@�b?���@I�AQ�A\w5A<+A�=�AOrAT��@��@���@�5_@�
tA�1A^�@��@�t4AW�sAD6dA��@D5A���@�A�b{@���@5*HA&�AĿADTcA�VA�ٔ@K	vA��}A��@y�dA�`A�R�@��@!�%A��@�_XA�O�@�,AJ�lA��3A+�bA�(qA���@<N�A�&@p��A׵�?ZrA_RlA��A��@��'AG�@��5A�=A�@X/�?�}A��A��@?��@�H�@��#A�A��YA/b�@N��?,�"?��@F�mAlQ6?��.@��'A��y@��A�@߬�@�UA��p@�y@݄
A@�?�.=A=E\A��A�\�@eAf��@!XA���@7Y�@�isA	C�@�CARߍ@��:A%<�@��CAV�@��N@��YA�9A�feA��>��^A@\�?��~@2�mAxnA@y�M@��jA>D)Aٺ.A��VA&�6A�SU@�)A��An�ARiUAy��>�IAؠ�@�N�@��?A��Aᙽ@�:A�vcAA=5A�Q=AL�Ayj(A�
AR,dA AB%�@�r.AT{A��ZA��@��A�=�@9�@�8�@
��@?S�@[L1A!Y�@�f/AAm�?�wdA0ϲ?���@�;A��AB��?��T@�N+AFo@�GA�	&A��A��zA|�@Zħ@LCAk�|A��Aa�A�~AԵoA��KAS��@82@aA�@jS�@�GA0�*AiRAY�{A�ɲ@�V7AR�QA��@;g�@|A�>+A���A���?=�mAATAxc�@�2OA�WrA�[;A�R�@TB�?��AL�A��DA	�MA��4A4F�Ae�BA���?��dAv�@�GA��	A�!.@0^i@��@���@)ˀA��[A��yA'fZA�MA]"�@��@�$
A��8A��8@k�hA���@���?�ZYA�t�A-@�8A��@�b~@�8�A��]A��7A]�A��zA��u@�&�@iD@��>=e7�@��@���@�@3�?A0Œ?��A�M!AN�@@ՌA�S�@ٚwA�|MA��)A�n)A���>�AX0A���?t��@��@E>�@���?h�@�T	A��@<ZA��@.u2A4�}A�7�@6�@��~A��@���>AbA�F8A�/AQA^��>��@��@�}kAz��@��5A�E#A�1A�;5A+F@Nt@�.A���@��q@ʪ`A�agA�bAp�SA���@KRfAǍ+@�s&A��\AN]�AB��@��A�7
A7�A��@�AT@�́A"a%A[�@��fA�v�@���?�6uAW�AݞsAw8jA�s@2��@�{lA�WQA�UAy�@�@λ5@�}{A}�AQ��@�=�?�i�@��=Am��@�'�A�.FA�8�@��A��@��PA|0*A��@�ߤ>J�@�l�@���@��@2`�@���@��@���>x�@V��Av��?i/AB�A��fA���@��@p�l@�gAØ_A�*�@�o�@�/yA�6QA��@�8(@ ڧ@~4q?�n�?��AA��A�]:Ah*vA�R>AS
@�A�yL@2��>�he@C�?μA�܂AM��?��@�|;A�s�@N��@	�@5]_A)#�@��A���@,kdAm��@���@�)2A��1A�$A�e�@�uXAk
�@:_A�=RAk�?AC�7Ac;A��@9$�Ad�@#p�@c�@<fA�mAd��>�	,A�A�|sA*�#A��xA�5 A�V@�X@i"(@�C�A�A��FA�x@���@�kEAmBA�x�@��2@�wmAX��@LrYAA�A��tA�:�@ȣZA�Ǜ@��GA�H|A-;A�IA���@5�IA�՘@0�JA�}A�y�@�CfA�x@Bv{A���A���@�^@xCA���@��$A�'�=��6A��RAK#A�1>8��@�~�@�@AJ<3A[_�?��LA�ކ?:�W@�@�y#Aw�UA!L�@��?iA���@�ׄA<�@�_=Al�Ak\�@�$@�)D@>q�@heA�.A�zA�8@�zA��?��@?� ?�
AA��?Q�WA���@0)�@D?Az��@��A��{@06rAm�}A��@E6A��EA�<�@�fA/3A+��@���@
*AK�|@�y@��WA!Z�@N(AG�l@�x�@��YA�7A��A�8AA�+�A�\A��YA��/A7q�@p�AIG@a�}A
�rA���@D�1@e<
A}��@�XVAݹ�@��@�UA�"CAKA�x-A �RAd�@�t�@U�A]"�@d�@J�@�/Ač>�kNA�0�@@�-@3JA!�@3�TA�~?�P�@�s$A��K?��@�$?�@�$]A�v�?��AB�@4A؅�?VKAn��?��@��@�~nA�=A���@�_A�E�Aٛ+A�4@M��@�	AQJ	@�x�@�zA��A�}AzҀAh#bA�OqA�D{A��J?�AE��@)�[>���@���?��=@�SZ?6AI'A��@���?�BA:RA��A#TA#kfA�aAP]�AKA��A<q�?��@X�AP?w4A��@A�GA��@D�?
}�@�D�A.fkA
gA"a�@�"^A
j?��9>�A@��Ap~fA��SA��A�.A;^�@��@يkA�M}A>�oA���AU	AT�5@\ӈ@�J�@�+A�.�@��A:��@'�XA1�AK�AB�@WSAAv��Ac��@�vA�A׍�Ax؆="�[@F��?|C�@Z��@�ez?V?@�s�A_Ǧ@��<@�{�@c"vA�ڑ>k�	?&ZUA�ik@�2A�%E@�8'A��Au-A�A
��?�ׄA�/A�g3A�A-+R@~M�?@A��@_M>A��@MA:J4AZ� Aa`�A�s0@��;A��$A_Į>��A��@\�A��@hH�@֪A3�A_dPAL�0A�w�@o�<A�^AS�-A>_?A�[f@���?�>�?]��@��SAK��AE>��?BV�Ac�@�YA��7A*�?�F<A�l8Amj�@�!A�A?!+A�[uAɍ�@�P5Ay4AA}�A[�SAV?�A�YRA��?�sC@�yA��?*ۄAknA��3>��A�8A�B6A���?J�A�RA�zA��4A!A$"�@1@ ��A9�A���@��@��A2�AZ�LA�;zA�G�>��iAat�@��!?�$A�EL?�V�@�V�@�[A�9?�Y�@k�_@@xA���@J�<AV8�?�*HA$�@��@A��@͎�>�3�@�e@�?`AyTA6	
@�ޢ@ �0A��A�b?���@D^FA��<��@!SqA�OA�*>��A�e�@� @18A��lAfc�=>q_A�:@�LuA+��@3�?W~/A8(A
��@���Aa	(@}��@�T�@B��@���@�wbA��?AL7UA�!{A�AfG�@S=�@�1@�mxAC�d@�VA7	@��YA�C�@��A?�ƈ@lg
A|@y��A�=�@��aA� fA,�p@;0&A��QAn
Aw�)AqoN@[�g@(+gA�G�?�X]>O�4A���@���?�TA&�MAu��@�A|AS�@�gAxSA�;�@T��@�k?5‹@.��@�lA���@���@��A��@\�m@#|AT�n?�kvAQ��AT�jAl�A���A��@0��@o+�@�/DA�H]A�A���@��@LA<iA>}J@̳F@D��@`�@�A��KA�mA��QA�xLA��U@=�@0�A|^�@�%qA+G�@#9�@3z�@��}A���@���@d�Ao�pA8�A��@<h.@���@��A�q_A��Y@S��@�=�@g�Am��A��zA�R�@�A��%A��@�A�A'Ah��@~@+�KA*�A|�?�iA�o0Aq�Aa��@�F:AʭA1@>@�A�!aA+�v@ �
A��IA��.A�s�A��*A�@x:RAI]A�zuA�\@�ArH.AH٭@A�:Aq6?TP0A8�b@��AA��@�VQ@S9�=p+A��MA^�>�A\Aw�@1+�A�Ǧ@��mAAfAY�A��A,R/A��?P�pALG�?��!A5 H@%c6A��AĈo@D�'AgA��;AԄ@fmxA�A�!A�H�?�J�A�EAl%JAbA�,�@�:'AfF�@M�>�(Ah�GAh$�@Mx�@�h�?���@s"Au�`A��7Ap)A�R9@J�nA
��@�UA��qA�|@���A=�@!?A��@%
�?|/Amx!A�C@���@&1A�6�@�WA��6A�f@���A���@��wA~N�@��}A@sA6YxA�ی@EmZA%�WAb;BA�@&AO�CA%JA4U1AQ+AM*#A���A���@u��@���AU�VA�oKAú@'��@O=A&9Q@l(1A9��@08�A��?���@S��@���@�RA)�*@F�jA䊌@�A.�-?��/?m�zA��A�@��\AuAA�s<?��A�/rA��:@G2|A��@
�.A��Ac�4AH6A�
AtbYA�T�@]�?�&]A�oA�X$A�InAѩ�A��APD@7�A'�@�0G@L�tA�fA�q�@�cA�)AM�Ax�A��?AA���@n*A弣@���@_
fA�/A,h�@G�GA%x�@�}YA��`A��D?4>VA���@��@��?&kUA*��?λ@�-A�1lA��A�N�?f�QA��P@"�RAܺ_A-B@_��@R?G�BA r�@I2\A�w�>���>(�jA{S+@
LUA�A��@Ǯ�@�v�@ULA(�6AF�nA�A9AqK#A6A��A"A,Ad�A	U@���>f?A��)@��@�?AG��@�}dAN�bA	$r?��1A�wA��9Azz�@Lܠ>�̈́?��@b�{A��>@�N?�wJA�A��?5��?�B�@O-AMA�YA���@;W
A�:�A��A�	K@R�V@�1�@R?���@�mA�C�>tA@�!!A$�@A��IAA�q@�@��?A��?|�UA���@�+@0@(A�f�A��@](�@	�p@j�uA6EA�!5@�)�?_J�?��A���@̢�>��LAyA;�bA'�JA@VA��E@�k
AhPA�:*@z�A-mLA�"�A�"$ASZA9�?��{A2:4A7	�@Dz:A�� A�F�@	�@ź�@�y�@�MHA%�_A�� A�JA���@3�[@�J@�JA��8A���@��>�ް@��9?��G@]�Al��@�s#A��dA��$A��tA�4�A��@.��@�ǽ@F�j:�PA)�A���?��AN3IA�n*?_C�?�+@ݫ@��?�h|A~u�@eVp@G�WA�'Q?SA��(Ai��?,X?9̊@z�YAK�?Iݲ@9��?�|�@�44@쾀Ap5�@���@Ns�@U�'Aim�@�2IA�\�?`,�@H�cA�KAl�@T>A7�CAE��@O�%AjYGA��@�FA���@�u�A^LA�umA�-A�~A}��@�A�=A}
AW�@YG@{3@6~�@�pA�L_@ʃA¤A�jq@���@;�xA��@1%|A	OZ;�fA*�@���@�	A$2�@HҲ?�)kA���@��A��SA�A��A�i>@�RA���@�&A�$A��A̐�@'-AؓA\q�?�uA�(�?:$�?��@ɵqA�y�A��@�Ӳ@��PA�(A|�?��A�Y)A1��@�2@�T-Am�\Ao2uA�\A-u`A�A��@|S�?1^0A=1A)@�?KA�5�A+1A�l)A9�@���@�`�?�G
A�dA�
�@"�qA�`|A�^5A�oA
��A���@D�WA��lA��lA���@-�iA�D]@�OAq1�@��l>�@\��@Vu6@�{A��@��@�WFA�)wA�|A�w�@q��@���>�a�@VD�@��nA�C@�ž@}��@��@���@�j9A��R@V��@��_A��>�WA�ObA�S�@�/*A@Aj�A�zBA)�X?y1IAok�@K6\?���@
gA?;RA�LA'�@��4A��AFuA�k�@r8�@���@���@ߤ�@�A��HA,J�AΠs@�	A1�
A�A7�e@q��@�U#A8bA�V@��BA��3A�� @/�@P�@�ȃA(Y?�Z@�@��}A�u#A|�JA</?p�@�>?K��?�)^Am�@
��@L�bA�CA��A>��@�V>G)2AL�AƸ
Af�,@��<AWj�?>�@�
d@ȮjA�l#A>��A6��@�6A�K'A�r@��A�ӕ@�y�@�)�?(I"A���@W��@�LeA�=�@s6Aa�pA�}A=tA�|@�a�?M�?��HA	�Ao�dA;$A3[U@�L�@� EA�u3@@*�@ЫAZ�AV��?�U�@
~rA*A6�lA�k@���@�R�@@�@��,@'��@
�cA�1�?�{A��@��A�rA�}A��@��A-/FA��@���AA]SwA�Z�?$�sA@:�?�@���@8A��@��cACnhA�i�@���?�@խ�AS�AA}9|A
�9@b��>$9?��@g7A���@�Ε?�ە@1uFA�*�?�jA��UA�L�@��?m�mA��GA��A��WAʝ�@Z�D@&KlAn�A��NAp�8A�H@	B�@@ێ?UqAA�]A�l@H��@b-�@x�RAWDjA{RzA~�PA�]�A#��@�UpA��?B�@i�*A s?A��o@�>A{AF�h@�yS@�A��Aν-A�}:@I�@ESwA�A-1�@��yA
��A��~A�F�A�A~�#A���@��aA�-A�5bA�@��@�8A�MTA�g�?!;>AeHUA���A3a�@�R8A�A�>y"?ZgA�`AگoA^�A��!A��kA�&1A�jA`tGA½]A���A�r<AWY,Az�[AR�@A!UA��TA�
�@��A�D=AM��@��6A*6�@��A@}�@k�TA�\A}{|A��A'�@cAl�@�c�>$�x@���>
@��@�`A��@%��A�+fA�>Y%�?�}A�<!AY��@�%@@�H�?d3�@_
�@r�rA�x\A��PA�ځA$p,Aɻ�>�A�BaA1P8A�;�@��OA*�+@��*A0P~A٥eA�
@�4HA^zGA}xA@�/VA>W~A8�@��-A]��?�n�?�38A�-Aܺ�A�}A@�D?<x�?"�RA�(Au}uAV�@�A�@swA�[+?��@|�\A� �@���@��iA�[MA�yA��I@�́A���@5'As��=3W2A�&>(-Ak��@m�?��CAa&\A��A9|@��!A�;@��@� U@َ]A��@��Az��AJ��@s@A�A�{EA��@-�[A@rAA
)�@��@�X�A�T�@�#ZA�W�@x�fA�e�@_C�@��I@�bA��#?|�?��A@�z�Ag�FA8aA�xBA�A�dU@%V�?tظ@�lA��$At��?�xAzv|@�A��0@�N�@�,AB��@dd(A�0�@�ׁA���?SH�?is-@t��@�A��JA��?Ah�@L��@�&JA��@�9pA�3:Ar]AG�@�m�@���?a�F@r�QA��yAe�@�OAL
y=̹@��qA
�\A�-�@z��?��5A�γ@��EA�_!A�bA��>	�;>��1A[wY@�{KAֲ
@�3A�9v@�
@��@�!�@$�~Ao<jA!</A�5�@H��@Ū?��@��c@^CA�]@W;A��A��>�8A�aH@,�@��@��6@
@1>cU>@��?!F�@oSAuqdA��R@X�4?��A-oAA��@�Q*AKrWA�R�@�zA3p�=f0-A��A��7@��A��qA@��@���@D�+Aйx?���@]�@9|<A<�/A�� A�A�$�@}�?ow<A�e�@��A��K@W(3A�@�1�@�=�@�w�@XENA��iAh�*An�A���A�u�?��AA�Ac��AJ�A�@�>��u@�:H@l
A@6�@)c�@���@��!A��qAQ�@fu>AA��@���@�<Aѹ�@�bj@��'@`A�c/A�0@�٘@۲�?o�YA��A�&|A�\c@���@$��@���?��^@`}�@wkA��tA�SA��@AB[�=��SAL�kAM�@4�@S��?�vA�$A�9AHuAЍ�@�/jA��@)1S@�sIA�ڙ@���@�@�M$A3f�@�`@i�R@
�PA�wx@؂@��@d<A��+AZ|�@�u�@`�wA�A8�@A���@�Cy@M�xA��@�ve@��?Aωq@�7�?�5�@+�S@'E_AZ��@h޽>g�EA�1eA�A��
A�x�@�]-A�&A\�kA�aA@B�?�WuA��'A٫�A��oA#�@Iʒ@:W9@�`@��pA'�-@,�A^�<Adx@�'�?��+A�iA���@�	!A�>�Sn@�1@��AlvfA,Y�@?�@mm�@3/�A�SXA2߉@���AL}�@�H|A�bTA]�0A��@=A�CA�5A=�N>'��@�ނ@Nc�A�w�@�3A��fA�aA~sAq�AT�@��@��A���?��@) SA,��@|V�@,L"AX�SA��@���@Mצ@z�?]�|AR~�@�AVl,A�|�@ͥ@l?@�!A綄Ah�@i0�?f�@�%�@p3�?N�)Ax��@��>p"A���?N�`A,�?��@��Y@/�9AP��@x�A2oAoAb�@-oAϮ.AO'A��@���@5�@�b/A�a�Ayp?@_�[email protected]@�`A��A�0`A��`A�4%AA���@��@��a@e6ASq�@�AN�dAw�tA�lA�.AN�%@�a�@Jn@�00@@��@�9A�G�@Z�;?��OA���@-*�>��r@��@�@{A4�A�pA���?��I?��5A8��@��AA�CWAA�3AO@V9_A���@YAO]A�9�A���?_��@��A�Y)A�@˯wA��@���@)B�@4j�?�
Av��@���@�i�@-�HA�e�@]�UA�cAD�A�L1A\��@f��A��@��4A�@@�S�@A�YA�Z?��#A\�yA��bA��~A��A��?Ѽk@��@��@K�@�a<�CAg��?*�qA�}A,zA)��>�È@A>?A�m�@6�fA�D�A@�KA�)A�X�A.@A�6�@�i�@��nAA�-?��XA?�@��A�;A�hA6+A��!A�vA�07A@C`@3�KAAZaA�ArW�=��@|��?U�A?@	�3A �8A��@0��?�pA�-�A{6�@�<�@s
mAhD�>
x�@�
RAєu@@�pAbiA�sA	~r@�u,APV�A�)A� YA��@��6A��AZ�o?}Ѥ@��@�_�A��@`J!Aҹ@�uAV�AxI�@7�nAj*Aݽc@�!�?-�@A�RA�P@2�GA�W@I,�?W�3A݇e?�.-A6�eAd�qA��A.ƌ?��?�r�@�\~A�x�?)8A��>A���@#��?{G|@��A�Ъ@�$?@;7SA	;~A�6`AO�0A�>�VXA���@�cA��@=�-AE�AI��@�?	A���@A�gNAe�:@:��?ϕ�@��=A��;A�BA�unAJ"A�lzAmh�@�@�_�@�>�@��@�kK?#_�A��@�j�<wA;�UA��1A��@V��@���@��@�S3A|)0A���@�7EARCAd
A�z	As�/A��@q�@M1A�01AO�q>��?��@�Q@3��@|0
@LO�?*`�?���@�K�?e�@7��@���?�RA�Q�A��@��	A���@:�^A��NA�'MA��oA�A��vA�5�A7�`A���?fD�@|`DA���@F��?�ȼ@��k?-<A�-]Ap�N@5�VA��:A�+A��uA�ѱ@���A�҄A�R5A�׫?L�YA[@��PA��@��S@�A@�?��gA7�"?Ͽ@A�AfW�?ܤQA��BAߦCA��@�SAP�VA��;A��XAf��@U��?Km[A��>��A�RA��KAd��@X�9An�A�eKAI�mA�ҩ?ScA$iWA>�mA'�A�@�BG@1��@}�M@�d�@t2aA6J.A���@B�8A��#A�P�@cjASAC�@��@Px
>���@Z�EA�i�@/;Acޠ@�y@�$n?�
@}�IA�QA��>@ȼ3AG9A1A�K8A��A��=A��;A
�@�3�@`�@�[%AQ)A�zA��c@as�@)�6AE��@��IA�A�@w��@�}�@���?�OY@�]Ac%P>�A]A�&n@4�IARcA���@��3A�O�@�P�@J�\A�uA��A��CAc�B@�{�@D�@��A�+/A�JA�AT|FA�*A��A�� AR\,Ay�TA�Ш?.��@5!YA��@N��>���@ڏA�Ad�?'"A(e�Agf-A��I@U��>T߱@�s(A��@�]Aߧ�@�"�@_w@���@^�>@�Au�AH0IAŽ*A
$�@��A��Q>�QIAL#As�8APQA�}@
�]A�AL�FA��|A2��@�u�@q��@p�A=c!@Q6@��@<��@*�@���@���@�
AA��@A�Av�@|��@�J
A�pAu�A�
|@v�@C�"ANA�w@a��?�r�?�;A�dA�n@�M@E�>A.N{AΚ�@�<aA�ޘ@azA�CA5Ɇ?iL�?!\TA�RA}%=A��@�w�@�.nA�?�=?JA�A�JA?*|�@��NA��QA.r�A��dA@6�?a�	A]{HA�KAD�A��y?��A��@/ݑ?�zEAw�A�`IA�A���@!�pA"|=?<2�?o9�@��9Az;�@B�3?�ڪ@ԏ&AeG?��?\`A��#At�+A[=A�G�@�2AK�@�Nz?�?o[P@���@��{A�c?a�.A1iA�}A��@
��@�F@��7AH�>A��@>�@�N�@��A��;A��AA��>`(A2��@�<i@��JA��9A{A�Lz?.�@��?-Y�@x�A�]cA�?-@��<AI�?X�SA�@�|f@�A�թ@kp`;�6�@�jHA���@���@ #A?�)A�n$A8E�@xM@�0�@��A�?AA(W�>��gA��A-/ A?p
A�m�?sARw�@�n�@�*�A\WA@$A1�?���@Z?OA�VOA��X?��~@J�XA^�D?U*RA��@��`AL�A��OA~QAs�XA�VAG�cA\ș@�A��dAT_A�n�A��A�+@8�@�ҽ@c�ZA���@�]A�ZA�c�@��@�|{@��A‚AZ�@�ܥ@9	z?t�A�@k�=A�!pA{��@�Y[Aڶ�@vj�@<�@�z�@?)A���@��UA�hA��G@0�FA�cP@�e+@��=�p�@���>�G@/� AX��@_
�@��?��A$��@"��@��lA��CA߹�?J��@}c�@��zA��EAǭ#A7�8A-!�@C�3Acm@@}$?�R?F�"A{�[A�(]A>*8A�U�@�ɀA\�"@=eZA��8A��>Q4B@�^ AZ��A@�?��;@t�AfhAd�(A\_AY�@��A��}A�H�@�]�Aku#A���@�}@y��@�LGA�w�?w@�¼@C�iAO87A��D@�~0A
V]A��tA�fI@L*�@W��@,K�@�!?A�&=�X:AN�A�!{@�EAU=�9m@���?���@��X?��?A�}Ap�@�vA��@
��@���@d�A�]qA�m-AA�?
@�/�={&AL�?��GA�9�A(�6@�A*�UA���@jKA��@�kZ@i�"AJe�A]V�A�T@h��@m�?[�rA�v�@S��?fϟ@��Aj|BA��@���@�1?ؠnA��;@n��@'kA�M@��A��@L��@,A$`A�JAK�0AT�hAo��@��@�ш?c�@���@��!@}]AXsxAݩ_A��@A�
+A�mPATWA@XIA�5AO�
@K��@�w�@�A�@�c�>q�A���A[��@��H>�[A��[Aے�@��A_zdA�[Ae"lA�&?��
AI�:A/�JA��A�5@�9�@Ta�@�$�?T��?e�AP�kA��@U�@��mA6f)A�$�@ڞ8Am�r@n��@]�@īWA�A&I0A��A3X�@S
A�
pAI��@�q@x�@��A��hA-cA4�'Au�<A���@��+As"aAN�@H A_��@P��@Q��@J}@�;:A�Z�?��>A_�&A��@/�?y qAM#A�@X
@t�j?�)A���>Z+A^�xA%�@X��@��ZAwx*Ae�A�XA���@��A��>A��@���A�yA#�sA��.?$�tA�a|Ae�$A�>L2A��AӼ@@T��?��<@��@x�nA��?���@$֭@��@ű�@�!A�&OA�+nAO@�JA��eA�e@�Ċ?��rA�qA�mSA��A*d�A���@%(t@�~�@�h_@�lxAc"MA�qA[TA���?��@50PA���@�/�?9@�FAu'
A}��@�A,K8@�#&@@�tA,?A���@�[A��?P"A?H@T�_A�xA�deA��eAv�AA��Aj�PAD��@!�'Aҏ}@���@�f@y/�@؀?�kA�V@�O�@��A<i7@��~@NaA�pAW��?��@���?�xqA8��@��v@���>Z/@��9A6�A��AɆ>e�@�A�IA�aAԹ!@]K9A\��?�@�A��Aߡ�?�]A��lA�t=@0�@�R@�HA�6�@��7AX8A�
�@�e|A:�?$`�@��BA�/;AG�@G��@_4A��RAv�@A��A,B�@�b�@
��@{�tA��QA	qAJ�+A'�VAx�,@�C�@��SA�EA��LA�3�@�R@s�>Ab);A�h
A:�A1(oAY��@<7,@	��=�@<�,A�]iA��?���@K��@y��?'eAboA�"�@���@ٴF@��EA#�@A5��@�*�@�/iA)�bA��@n=A��7AY�}A/�jA~�@`O=A�P�@�6�@AA�<@�QAe�?��@�܌?u�o@��rA� A���@E�A�T�@�$!AD�/A�hmA2<A$3�?n��Aw��@[�Q@�J�@�B_AȫA�6wA<�HA��~@P��@?R�@�oA��AHٶ@�(QAV#A�`�@�;CA�9ADyz?Ѩ[A�0A�.\A
!@��A�KA�doAQ�CA�AO�@��-@��AO�@�uXA1�@k�Aa��?q��@��{@��OAbgWA4}�@�8~A���?a�Aә"A[��?W
f?T�xA��U@Ҧ@jR<@���=��@?
y@��TA�]�@�\A�@���@F��@��Ah*�?)�AQNMA��A0��A�;&A=VxACA��LA��?R�@czA+�@$Y�?P�?TbAJ��AڗA2�TAQ4�?�A?aiA�[�Aɠb@��=A=sA A� �@�+v@q"%? l
@��EA���@�fA� �@;G�@��9?�o�@�T@�2AA+9@y\pA�<�@t!\@\�0A�%A/3DA
�?���@��-A��3@���@��Az�A2]�@'�uA�Ψ@�R�@-Z5AK_"Ab{uA/{A)KHA7.�@'S�@#�AA�N-A4�w@w��@$�t@�qnA�hA�deA�o�?�A��>A�IA�>Aqñ@�muA�#�@�A���@QD�@RyA:�MAfpAsV@3�}AT�@�uA���@6A�aAU�@���@�@L3dA��@���@��?�LA��?��A�V�A�([A#��@%�q@�>p�2A9�A<�@�/����9�h���m
:�������9�|�8�:H��:)�u9��9��z���'9c��9�O'7@������&Ƶ���e�3(�V��9�J�7�ҹ��T:�#�9�%Ϲ6
:c8�9�̱����:8��9#S����������ɊJ:�xm:͔I���;Dv�����:�p��P�U:�R:;��:z��AI9$p��I����ca��ow8j�⹚\�:]����	���ù�1���5!9O��8Q�^9�n�8
�9��H���E۟�/��8Dg��ڋ:�9��!9�r9������ú�)7Q�������I���f����#9�':s��9f����8ԓԹZ�>%��$x�:Q��*�:z����9�*;�'��Y:�r����N:�~�:�����8�)�9tͷ:9:���W1+�`a3:�,:#�e��w^8ga9x�p:��8��9���9$w�9ظ':"1Q9 �ӹ��T�9�Q9?M�ױ:��<7S296�)8)\<��~�s*:=X�9���9\�s9��9(B8��/��:�y̹[N�pj���i�:�P:4�l:��:�q5����<����%�88������-�)U�l�0:��R:���9�N�2X8:��X9��l���S;�q#�G���~O:1 Թw�9���v�<�)�
���6D7\�8X� :�7:?wo��);"�9��x���i:o����q𹦌Y8vI�
"�8#[��ɗ�94N	�XI�9���:�c�:�W�9��=:�6{��o88>��F��9;*�X:bj.9�d�9y
Q�s�9���ڡ�9.�o:��/:R�2���f��%B�
!N��$_:ߐ��OÐ9���`���s�(�\�6�W��	�ƍ��М�:�Od���74��Ÿ�9�S5�I��8�8���:�.ùU8:B��:R��I��7 &�9Wy�3B/:�7j�!"u�
�9�0-9h�ݺG
������g̹w߆:�\9©�9��~9���9�Z�m|;�i�X:�]���;z�bW2:�̓�|�:�:����#)9.꺻��9`�	9��V���9��9V�u8���N�8� -�)��c9��Ч�����9�Fm9K!O:H�m:�犹�vɹ':Qtݹ8���IT�9B,�f��9�m;�⍹���8�e;��׹CM�{s'���8>3̹l���]VǺ�`����;YA�:NX8h6"�[��:�|��n���󰸠��{�:ig�9�1Y:������G�v9�[9{QC�
�"����cd��a7���;��7:}��::�w9��ҹ,�<�.�9�;/9B�9�_�\n���n��e�`9���9M�˹
�k:��:���P���^T�����=������>�L�����p�z���^:���6�+9��j9�C��ֺeW9�*u���1:2>��z�219�c�9W�����/�#��:���:�������9��9��M:�h𸼳���$�L��9@�:$�F:�r�9��Ÿ���o���x�������W9g�S8Z-9��3��t8�=I9s��:k:;��9	��9y�/�.o9��#:(j��ß:�
F8���'�:��ڹo�L8�g�:?�&:±?:X��:	��Ϋ7��x8�f�9�����`����9��E�D:J�'�
6�y���~G+9B:�;�9v墨�	�:Q7�80�:�>����o���i:G9�*U9��5:�ac:����չ��v��U�K��:����&�L�P�P:��ј�9q���KS���9��q��eY:��*���9�?ʹ*��8�:��@��+W9����y8�B��L"9ݤ�9�e��e:�r�Cv'87"�7��ݺ^;��B2�9#I9�$�99^�O([�q��:46�9�	i��#(9�U�9�n�;�A9:m9z,�9�	�8��ݹǮe:�ݡ��S���K��h�H�P8f�D:r���|E9�M���s��>a�8�<:�=):�>�*'���L:���:�+q�9�w9������7�;�9�Lไ̕��>b�����Vϴ9����uL�D�ն���:L��9�y�9	��:�)̷��q�^q*��6غ;ܙ66��:;��9�'�8ݙ7��Ǹq��8���8q�:�_�9X7�9���9SF緰�
��h�:��5:�2;Y_:��,���#9T,d�d�;�3�
9b7�ć�:��n��4�:➛9�/3:�9*RV�g���o��85�����~92�)�@2��i�j8�6����:2�D:�M�`l�����~����Dٷ�k�9��9�2����`�A��9(����
����&�':���9���F񹃬���7ڪ%:���9�I:]�;�T
;T�5:.,�:_���|��M�8&���6A�v��}��+�Z:�3�9i庛�u:�{�4�38HnW�若:Ųn9TD�8��]9]M��k:At�%:��^9�&!;�๹�:�rX8�^M;��g�F�B:.�R9�s�9�9T�j�Ϲ]�u�cWc93�9L�2�}���hZ��t@:K���8���e�4�~\|:�_��f�:ZK͹z���M�8���T���ŗ�9��3����9x?�92��Ḯ9���9X10:�8��$m:/��:�l$��>�9�s�9��z96h@�L�88=�91E�|�h:���::�/��i�9��;�`���:dNx9Wx��z�:T_f�S�����s2���m�'��8�b�ߛ~��W��x��d�z�(���;�仹��n�f9՜:;"c�O�V�7�Z9�˹_�	8�z[97w%��
:.�:�\����~�\���
0�d�>:B�9�3���ʇ:=3���9�k�8B$�+th�>��:t5�l�9���s:�d���C:yȸ�m��09�����聹�w�����$B��)!9ڷ�q9�^p�u�e���%�.�麔�O�=�h:wTo8
�8��:@K�z�:E���7׹2��f7���z:+2��Ľ��}���B�9�s;9�":Q�O:4w]9!�_�p��9���
��P\���s�����_x9:7���څ9Y���`���	���������:L:RY��z':&������|&9�z�8��8:=���%󹹩�:�z$:O�:B��	3��ґ^8��1����9O�8�q:dI��oh�񢹞
2:���9���7��8ʺy�U�:�=N9�F��|9Ip�9�7K�CO�m�9�D컹J���~ƹQE!:�H����9�Q��6�8�҉��	����;ǽ��0l9�Pf�`��:��ȹ^�&<�U:G��!�8��#����9s�z�s��8��p:���9y�����9�Ѻ�a�8�̐:�M�9�{�9�9�D'#:��,�M�h9�K9� �9��E�&�����4�
^T�A������
;G� ��:��99���f�:z���G�ɹ�#r:�˸Y�����.1;�6�
8��/���;p�F9�3�9�K{����������Թ'o�s}W:�E�9�]b:l���M�:my	8������Vg���/;}��:L�V��F�m:�Z���b�\	�N����'�܅Y�^��9.R9w�������9����9�
[8c�:�*9x$�9�+{:��-9rw�9R�#:\��$�8:�9�h�8_�R:=���
)d���9E�"9��s;Y�j;���C8o�8����E8�:V:ԡE�/����Ÿ��:��K�f69.m��'���|�:��o9{?���'��:K����ݷ'�9��-:U(g9YȎ8�Fm9̙c9��G�G(#���9�#��e��S������xB��3���@�7�X�̙�9�@�<�?:�r��ω8K��M��9<)
�ι���:�a���J�-8:���9&�:�E�8O�e9G�o:��:mZ:�	��w�7������,�L)�8�%�8n��X�9@�l��{4��J4:��Q9T�b�������87����2:��9v]K��s��Mu9��G;xܷ:8���j9!3r��:��u�1�vH����ʳ뺇�89d>�9��չ���:�s�9�V[9B���S�9�T7:Rϵ:�˹�D:X��8l���\Uw:��D:w��:�,�9����0':D�7��㹓з%�s�"C�:C�:if_��y�9�����8�֗:��7V�::����G8:��:��9)I:�:]!S����88�>	9༔;�[:�����Y�:#��9`�7F,<:iw:97�9B�3���-�عׇ�.�:�����9�9DS�98�:;�w9�;$:x�z���Q�]B�:��9R�:&FH:�H9�Z��{p9M�_��e��_�9f�O:�88;��8=	��}��<�^:��:�\8����;���A��{�@�2#:K|b9�:D[&9�=|:���9+�¹%�˺6��:|t��l��9��"�]�����9��Ϧ�9AՅ��}�8L��9잦8�����N
:�z�9\�ǹ�^k9�s[:�98����!���,w��68��L�7��I���9�|ҹ4'�9���9�<�89�ǹG[պq�aOP���ȸ��;izZ:�xd:>i6��O`��ޅ9LBk:^�O:�Z9��9�;:Ѳ7㸎����9����:9�8:[l
���9L����\�n��9,2���&���A;�@o:��k��M:�|4:j!X�Zm*:e8�9(�X9�;�99�����9��:?����ɪ:_��8o�:��7��%:��J��Ng7� ���k�<):��:��G��:":*< 8eW)9���-:��?���ݹ}7!���L�?����Bں�Y�9	��9�8����Ѻ�9d(
��9�ua�o�9�[S��Yv:0��8��c���:TD�7s6۹���,ވ����:_�¹Yx��{�ǹ�j�9:����9`Q76��8�Xp:��H�j�|�P�&:\u"�:=.�j�y��ȭ:H'9�O�9��ǹ�"��Z.8ʃ��)8":�̱9�^�2Z�9�5��^Un:PP9<��:@�,���O�8L�˸(�8�X������o3�=����5�����T�:-�c9�m������}�HIa;���9:|�9Bչ#n
:�Z:RG9�Ӫ:��2�	�7;Q/:7Ҝ���'�;7�vK�Em�ޱt�����\�:N���n��|c�T�h����D���9lz��(E�:��&���1��n�j���9A͹u��9��� ����9�q�RJ�9쾲�I�O�1�9(���y"�]f�H:�9��`�j�9h�:�ò�M��8��¸�������9Z�:z7����&��9�ж�.V����93�b9j����9Z�:��e:�����a:>�:@�M:夹�:�O	��h�*�Z:bE_9ggA:��*:��7g���p���P�92�����{��9�k�8�RZ���:1�Ҹn��y������:Bp�7O�ιE����5�=��A�:c��W7*9�ۺk��8�5�9���9Hp��"�q�m��8�[�9�v�9�	h���)�jAH��"�9-��7Or�����`=湀ɵ7�4I��?:%�*:Q���e5���2��dǹ�T��.8~��l]��]9����):[�-:���,ܸ�2g9����
L:l?�:ɣ9^EF9~y�9Yi9ʕ]9fc�:Q���9��9�Һ<>�����_���yq9ǵS�P�ɹgI:��9~>����7VW85��9dG�9:��7JƷ��a� 
���L�9	�����:`����[��
8�Ł���<�B��9�MO:d��8;A�:��L]�9iqзڟ�8����J�9}阺�"�9���9T��9���9�ݹ7�%���9�jt�&�?��E	��5��hs�xhf:ܵc��)�9���:r�~9h
�[�F:e:�9�օ�8}���8��
�D�"w:!Z���й.ݩ9؃���h�:BJ̸gl�9Ԡ�9M�������(�8:���9�չ�!�:(`v�D�p؏�\�,� R_���̹E�q9.a9���;��%�~��'��7�4:,�g���9] ҹ�j09�IZ:�$/:ꕦ��
��({�=V�:��z�\8��9��79@6&���5*Ϻ������:��ҹ~�T>��
<ڹ��"���:�`�7;D�9F��9A�+�E��]89]���Uۺe�;,�+:V��C��9�ڹ�B!��9+�D:й������g���º�W2:�H�Gܝ����P���#3�7	0��lr:,�N:��ɹ9P���9]�:T��p^_:��L:�"��,�:b9��&���ĻZ�蹪G�9�\9&���%�L��F�9�(�;���-9��4���;4L߹'#�8�ֻ���׹��8oF���=:��:VB�&LR9���8��:�k���.9�<�9��l���:e�;,��P�_�ہ�9@1.;~����:3�����8sė8�f��9%�lN���=��0��9�?8���Y'x9�2�����<�9�p�:[J�#]�_^�9��ls��]68X�÷m:����I���ٺ��9�}��S29�9�xR�7��v-�ǡ��4�:��:@ڼ9\��R���H�˽�7o���/':��:aa�7t!�9J�5:J`����#.�.Lιjfƹ�D���O:ş�:SJh��@�8u��9 T�7��y9�4�.��9��m:����?̇9�:���8�):g�ӹ��>���9p/�������)��PD�8��(���+���\�:?,:"�-�Q9w���:�9���&�:���O�:`i:�af9x�9��8Ǖ��ୃ�DX������9:0ޒ:�
׹���8�ʞ8�0:LX9TL��>i:�/:�s:�+l�~f�8jՈ���U��O���[8cйQZ:b�:910::��Q��M͹��@:E	�8hE:�p�9C@�:�bE9�j�;2쟸�3�8������~�Z�ZP·5����6��� ��9Nz�9�:��A˸I
���
�9�=#:v�*���U��]-9ZCo����8)��7�W�������D��2:lչ:�7O;�]T:�:믲�h�o� (�ᱺ��m��[�~���z9
�.9�@�9��9�ր9�e��뼺!E9�4P�r�8��:�8�����9rz 9˓9?�&9��D���+:�����>����5:0��:�%�8�_:Omպ�(��92�f;Y�?��A�݋�����8�Cb���K:�T���B�9I��9�2��1�8T�q9�۩9�Ӿ�O1�@%�;˂::HR�:��T����O96�:Ǫ8:Y1�gO%�_N~���8��ʱĹ��:ت
:�x8��	�X���o:J��:}��9�o�Ј/9(����'��~�� �ԺU���9eW��wa:���8�@G�=�9-3Ӻ��O�p��C��9\���/ص��9�!*:췸{�f��x�:eC:�%:��x97J�9H�9�����DŽ9�u
:7�,:���9��e�F~P9©:>'8���:�V�93�V�!�˹(��7�����9�i�D�%��9�8�4i9����h3	;�j̹����J=�p`n��7:�S���':'�͑7
���] �8���9j�|�W':9?9:��:�9��g���9mr:��9M�����������F�8�8��`9Uƹc�y9�q���h/9�L:{���)�F9�
 �E�غ�k:i�9<s�9B?&:�Dx9�lɹO�r:��"��3��Xú8�b2�G+�߸:	
�9+�e:L�v:]��$�9O)��x�0:�{�:�I-9�+V��9����9:��:u�;+G':�o:��:{]��:SKR�����7�6��d�a:^�9�O��3 8��':ÙD7����b%���;9���0p:@]`���z�J����9�J2�x�8�ˁ�DoK9p:����<#ܹ�N`�������J���:��̹k��9��9�Q:4߷V��9Qȝ�����A۹�]�9ϒ��?�9Яb:�:�	�e��9�¸�;�J!9���L:�������й�:`�9o-���#R�+O��<~;�^��"�eĒ���~�:�1+���ºt�O:�_:���(��9Xҷ�}�:�a�9�w�9H�7f�;�?{q8�^�8L"r���(:8j:�D�
1����ַ�Ӟ7�lo�S!�(�۹�x��=������9*cX��,{��ol:����$�9�w�(��8��6��r�:�R�8�ÿ�=I꺝EY:d�9��j:8������9�D��$"�ֹ乶��85��:#��T:A�19�gI9�Ӂ�+�\:�,s�d�i:�b�&�(:�L���:�N�1E�9wDa9b��:A��9|B}�yl	: 0q�6ݜ��;�G39��:(����]���9{������y%:t��9A&�JK:,Q>�נ':�]��#�9�Bg�������^��J���59e,��s��q<��D�I�����V���%"�s�?8�Ca8�3�d"~�`��;<a�9~��7%��9����Zٸ��19g�m�0��ǔ79ĵ�:��,�g��9�S9�+�9�B�9�6~�DN�9��s8�ql�ǩT:�q��ha:�]g��wZ�<�<:��1:W�9�?���3�!�������=d�}�:�O;�z:��(:V�J:	̤�!ۯ:.���
�:��9�g:,qB�(�ֹ�׳�a#9Q}y9���Ⅳ:^�.9����}D�8��,�/n�Lk����:F{ƹ�l$9��93�}�P���?:��9�*;�k��AU���b:,�ӹ�d��*�@�Ϥ9�}
�yx�k8:��J��t�9k����we����9�w�:ݝɹAv�9)���$E�:�&:#P��l9o���ø:ۯ���'���97Ͽ����9��4:���QF9E�:#Jp���:}�8A1:��o:\��9
eл�9s���f�j������y�(yE�v��8��:|�9�pq��0�O�]9yp�9\,�9�;�-:U��9Oo�:V�F�ɹ���:\��9�G�CA69(�;��m:��8iͺ.╸{#�:�������:�@���W9�S:��7�:Bֵ��‰:*���c�9�c�|�:/����^��ⅹ�n��1��(�1��R�:�:&
:���?ӹ�����8^�\겹�q�)��9����5�Ɯ���}�F�`��l�9�Q�8P\��hY5�~���:`�O8�Z�w:;,��9Hr�8��8׃���;9����C���8\Ӓ;���rH��ׂ:�����ڧ�k�t81��9��8�FԹ��82=���7�j����\���P:բ3;��;��T��v�x8����v9Xx����09��.9�5�L�*���-�mw��F(���V9,{��T�:4񡸈���o�9�,��9�4:#?G9���8/x�7"����j����޺�D:�*S�֚�:�*��
�>��K�@:���9�@帯�o:j�E9�����3�S��9��k9�:��$:�qE���'>;�:�9G?f� ɫ:�V������-��oo:��.8�Ɋ9�~�7���5�9tо��/���Ժ�T<�5l�:��:�`�7�\��9-�9&p;�j���x�q�<�sQ���������<j9�A.�YM:Xv1�{�L��ϧ�
f�';��+�8?˹J{�s?��[�p�T�/�:M��7��97�F8��:��:V�{:��9˰�9�G_9*��9�*�H�9|A��-g9�����i9@u���V:��1�G�8�|�9�J�����mԹ��E:қ�:7�¸7)���2����8�:s�t8�)����9����ϛ:ӫ:�b�7N
߸&(�9�U�9�!ܹ�s����9/�6~8�B?����9LbкQ�*9��!�TH,:�ѝ7�/88��#9_������7�ӊ��w1��n�9)��8���8�i;:��c�a�o���
�D���}7d:��X��s�(�����R����9"�9ˆF8�*�8+\:/�e�`���0�i:"E����7�^��L_@9
�<���U8�3�l�:��];sE:��A:{�9Ҿz:���g�Y�P��,9�.�8"D��a�8o|�9�;���!�:�[�#f#9���9wC;s��7Fa�gY�9|���Vg_��v�8o���������8(�9��w8pR����C;4ҡ:������9>�9/�:?CK���9��%:�B��^P�ω�9͏�:hw���-9��*��m��R�9<�9�l�9-,:w���<�(:u51:���:1�9�2;h�:�e
7���9zD��|��$+��S8Fu-:x� :�/:ݑr��\:?;���:���8j�:�:�:l.��K�i��h;M:���?�4����9���EX8b~
8��7����0�D9汹a���#��tU�8�ꏸ��K�\C?9��|9��ù�w�9����;�>��u:�9��%���Å��K9�K��tѸ�!M��h��t3:��:�_9��{:;�I9���ɤ�l����9s��9��8>8��չ;[�������:d1��TJ��2�#^�9]ؘ9�ݡ9����DJ:�K?:ؖ9�O:R"A�SY9��>:�B:J[�9[ =:�O!9w����鷃Ȍ�5w:�i���� 9t���Q�S�1�&�5�@:U�}8���8�zԹ�z�9GxغS��9�:����\;��y�'
�?99�7���%:�MP��u��U�
H
:>㹠��9V�9�I7�b:R0�9AX:�
�9e�E��ݸ�
g:-NM:�����
�:X��X��:�2��g�8L�e�"�U9ޯ�9�?�:!���l�����{8��T��9����6O9c�a:s=ѹ������*�9q�����B�K��<bl:ӫ*��t��6?;�t9��6ȹ��9�$:R�:Y�(����_����������'иb�:�r9��:z�(7	�8`x�:�ع觮�?��)�8`Q����9�����v�:}I�=76����:�[�b%���w�����6�u���J�{�=8�sW8��8�z�8Iu�A"9|�9��::*��:o$��H�9��z��A�8�w�9w�)�I��غ�|_9����F/;��^�7	���@:�{b�To@:R���%�9yP4������09��J7�׺A*8�H9� �O�t:ؿ���F_;�-�����ܒ�3�º���wP����7z�κ���ƇA��+ʺ�h鹉v�0[η������/o/�A�9#�f:)�9�T:|C����<9������:�k]�I1�9_��m|����:Fq$���L�A����h��^Q:'�:�p/�j��:��q9p����VV����9I�:���P9�9 ��:-`��(NC:���:�.�:N�;�Ô���:Y��9��:��_��zW��%
98�9U_����x.6�H�!���'��(:��8�Z:\���]�r:�w���xE:@3������v�:�
���ѷ��9r'���ۺ4gD:�����a�Å:�ũ9��:nY:ڦu��¼:�s�:Z��Nj����,:ޅ�9��:�6�9!`U���ph���S�-�ظ;=���:�c�9��;L���y9��%:.&4�2��H��7�9�{�9n
�����
�� �8:�����_�Y����9�;���"���$�N���ۃ9���v;���9��9cD(:!t�9����x-ȹ@����:څ9.���Z&���e6�ɹ�%9$3:���9�9�"���K:F@n9)��9��
:�#39*9�i�9<����Ʉ��|����K:��"9`�9j ���$8�]'�h
�m�1:b�8{EL:A
:���:��s:�A2�ҥW���:�ֹ�`��N�A���s��ӯ942>��1��*{�9�P-9t1����8��K:"&h:�~�:�<���:259J:S�d�xM:�0U:�)ں��׺)�����E:r׹���9մ ���1:�O9�q(9�	<��hR�ͪ9B�
;o��e�g��.��)�ҹE�8GRι1���b���P�:-,�:�%�9]�2��j:>�;d�9�Q����
,��y>����:!B>9�n��3�����:T�:
H����g8��;;�i�؂����9Gxz9c�:�ع7}9X�;:��%:6�q:��9�:���9*�:��湐���6K�9�:�+:>���r����"�9����2�6:=��9�Ȋ:�'���o:]9~���L���G��Ω9����al:�ۣ8��d}�;�(-�:�Z
:��iiq9���:Z�:|�(��r�����o:t�9�@�9����ĝ9i��9��9�i�9@#9{:�9��������8$�9#�:9�s:h2^�
��:��f98�U�8�B��:�"�7��	�=��CR]8lI#:/nͺ�k9�vƺ6�4�؄���1:��+;ffr��:�C9_��9-KD�s����i:���x�he�:�D������p9|��֓J�q4�8K��:X�չ"�ʹ�p"8��+:�/6��=�z�p:h0:M`M�/R��m:�0�8�y��h�2:@���]��9�<��> �UJ�9N�i9��
��%+�_[��p�9ԟZ��Ԯ9[+%���C9�M�9�S]�y���n~�6��8��9�������9��:6���
���v���ɋ��)4�H����:�:���<)�:Z�����.��9|���z��88�9y�&;��9�������9Os�:YJ�7t~�?�:��59������9~�97��7�N�:���[�:hՁ��1����A9�%����:����F�Y�8 8�$�b�2��G9�H�:���:�鏹,9��}����:�*4�aq\��#�:�Ғ:i��ӽw��0>72윺m-�7���-C:MY�1�9�l�:�n�>P���������9���:�Yq:�tz�W�:�Pƹ�,���N:�p�Y�:G�}�|@^9C�պ��
;H*�#Gx: �K��UútM8\Kw:�?:��9�X:.�F:%5:9Vo��t�9|:���9�:͗Q��y׺�\��d�
�H���p�<���꼺� ����)���9�H�9���='�.O�g.纕q�73A,�d0�����m-(:�_6:P+�9�샺9N$:�3��Л9#x+�Z୺�( ;�}����]:�\޹
���:�P�9M_�:�u�:ؕC���w9?�$;>Y9��8K:'���6��Q�:'���ن��^��:]���}�n�W�;���:�4�^R:��:�:iz7:(6,:�n����;"n;�8�Ggf:
�:zb�(gʷS(8_���k�)�9QT}����7�W�8�,f��?�7=f˹���9��:��W:W�l�~�<:X-:qn:��f9�D9��`�a
;�Q���1���B:���RcIn���9!��:���9�:"Lj9�h ��27?Ņ:�oP�
^�7��9�	�;F�:=������91��8c):8�+����}$�U��:� ���,��1}:UW��hFc9	�[9q�:+h:S%:�r��b��8�ź��8C�e9g�/9�};�d���l?��Ad���;΁�9(�_:J����
6:Gd��~^/��9#���9?��9-�9��9���8�J��*��3�8m��99Ą��M/:v̫��eѺ��:������a��_ :yߊ�|����8%���:�9 (����8Ӈ����9\�::v����:|:�����:���8߿F�:��'V^�2��9��9��Թb����梁�n:��8�Va���7eF�)��]*/��
9�����M4��ҽ�pA�9�8���Ĺ=�b:�cx:�鎹M��9=*d9���������K�_�⸂^����1����9t�	����܍��>:����ua;��O9P���s�8k�o8~�:.�1:��9�婹�얹���8�@w�SG:7F&���\�>��8ЃC��:|=���K����:�2:6�
8g�h:r����U:9{�7�[\9���<��9~�&:��9��4L4K:��?��6�9�N�9��2:z[���?;!�9�7
:��2� �:m�k9m9�9m���؝9���ZE�B��9u(���l��4>�9���9�)�B��j�s:�1:�ٛ�!Me�:;�:�`:J:�=/:���8��2:����+{�Z�K�JV�WG���@�:Z��/&��������,����<:�u���%U93u�9�$�9�NK:�ި9�u�9.�:Uj;&���"�f[95��D��m�8��v:�3�s4���o���%��	&�$�;�қ�b�N�z�P9��>�ζ���㷀�p;8�ٺ���:rm�:���:��,:0�R��bg:
T��B#��FD�9�,�:�Ά6��^����9v��9��ҹƮO��!��}n�NK:)>'�U��b:�Lu9'���P��:ӆ)�PE.:��:��J��~A��j�%:�D7}�Q��(�?�׹�]��_7�9�m�-{Һ�/�[a3����8�}):�
��z8�:��Ӹ(��蕺#�a���	:!1��������9𣇹���9X�%;X�[:8�G�vA��D�~9B�&�������:�]�k�3:��.�0ɸ���(�����+N���.��@����:X�8�Qf8��K:̳��~�:'9
�"�9,m/:v�_��5�9T�9:Ozh9RQZ���:�V�:+Ǻ�[�;��ٹ��;Zr�J�9v':��!�p�f��}�9�'�9�V:i9�TTS:=�%�{
��<�8�cq�Lе�0E��O��9Q+���Dm����:���9�pl����{:�;�9����&�9��ٺ}�:xĄ;w��8�f���:z3����9oO�9�a��s�ܺ���b�:U&�9J�F�WȺ
��9s����9t��7�<���M����8���9��39�M9�2:�P�l���j��9��9�m:@ڒ8��9+פ��Hӹ�Ҟ��ϹB����,:B�A:�?�:��κ=Ũ�4y����9�9y��0����92Ȩ8�›��	m9!�I:x�8AO*:�!C;%�!:������TI09�Y�R��9贈�S�����E�]:mǘ;��9H]�9�9�9��9��9���L�����X=}:!�Թ��n:,���
�93{_�3���H�9�n���3V���8k۹�g/:t�:�R�:�&�8GD+9�'O���p:ԙ:*X�8�u��D��9eg�8	�
9R��9E�K��:�2%:�eԸ�:�4�� иm'Q:�ùu��:�;�Ĭ:��9.�q����e��(M:&��:��:!
��:8�
��9���9ô�3\�7�3�-_��;�%�>���
�9	�]9�ɒ:|��9Z��:[D����9w9Z���!y��_
:p������9�޸�8��6`�d9VM8��8K��8����5:6��30707070035050651141006660011710000040000010470370503442620200000600001002000temp1o�Q���+t��R(�-(%�R(wtmbin/n/westphal/netstat/bin/dailyv/v14725/7913011date
date >&2
set `date`
for i in 1 2 3 4 5 6 7 hg hg2 hklab
	do cp /usr/wtm/netstat/${i}raw /usr/wtm/netstat/tmp/raw.$i.$1
	>/usr/wtm/netstat/${i}raw
	>/usr/wtm/netstat/${i}raw
	</usr/wtm/netstat/tmp/raw.$i.$1 sed "" >/usr/wtm/netstat/node.$i/raw.$1
	rm /usr/wtm/netstat/tmp/raw.$i.$1
done
for i in 1 2 3 4 5 6 7 hg hg2
	do grep " F " /netstat/node.$i/raw.$1 >/netstat/node.$i/config.$1
	cat /netstat/node.$i/config.$1 >>/netstat/node.$i/config.${2}$6
	grep " [AI] " /netstat/node.$i/raw.$1 >/netstat/node.$i/info.$1
	cat /netstat/node.$i/info.$1 >>/netstat/node.$i/info.${2}$6
done
/usr/tdk/bin/size0chk /netstat/node.*/raw.$1 | mail mfj wtm
backup backup /netstat/node.*/raw.*
grep " I bbox" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 > /netstat/daily.bbox
grep " A .* MAJOR" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.alarms | mail mfj wtm
grep " A " /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.minors | mail mfj crk
wc /netstat/daily.alarms /netstat/daily.minors | mail wtm
grep " [IF] " /netstat/node.*/raw.$1 | grep -v "unixcscp: Host alive" | grep -v "server .* available" | grep -v "server .* removed" | grep -v "unix9cscp: Host active" | grep -v " I bbox" | /netstat/bin/printraw -g9-25 | tee /netstat/daily.info | mail wtm
grep "[ /]C[123456789h][g .]" /netstat/node.1/raw.$1 | /netstat/bin/printraw | mail wtm
v:�����e�03$SZ4$��R(wtmbin/n/westphal/netstat/node.3/info.Mar1989v/v14725/7923012604736525 55282927 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
604736527 55283062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
604737375 55333928 A SET MAJOR: tdkp: trunk 3 is dead
604738000 55371456 A SET MAJOR: loopp: trunk 3 appears dead
604757594 56547541 A SET MINOR: CPM422 7: Cables disconnected
604757599 56547806 A SET ERROR: CPM422 7: Reset errors
604757691 56553349 A CLEAR MINOR: CPM422 7: Cables disconnected
604757739 56556234 I unixcscp: Host alive in slot 7
604757768 56557968 A SET MINOR: CPM422 7: Cables disconnected
604757874 56564304 A CLEAR MINOR: CPM422 7: Cables disconnected
604757975 56570377 A CLEAR ERROR: CPM422 7: Reset errors
604758006 56572223 I unixcscp: Host alive in slot 7
604758704 56614111 I unixcscp: Host alive in slot 7
604758704 56614119 I server sfr removed from 7.5
604758704 56614141 I server sfr available on 7.5
604758825 56621433 I unixcscp: Host alive in slot 7
604758826 56621447 I server sfr removed from 7.5
604758826 56621471 I server sfr available on 7.5
604759026 56633480 A SET MINOR: CPM422 7: Cables disconnected
604759031 56633743 A SET ERROR: CPM422 7: Reset errors
604759231 56645754 A CLEAR MINOR: CPM422 7: Cables disconnected
604759266 56647847 I unixcscp: Host alive in slot 7
604759266 56647854 I server sfr removed from 7.5
604759266 56647883 I server sfr available on 7.5
604759292 56649458 A SET MINOR: CPM422 7: Cables disconnected
604759385 56655001 A CLEAR MINOR: CPM422 7: Cables disconnected
604759422 56657228 I unixcscp: Host alive in slot 7
604759455 56659225 A SET MINOR: CPM422 7: Cables disconnected
604759528 56663582 A CLEAR MINOR: CPM422 7: Cables disconnected
604759628 56669654 A CLEAR ERROR: CPM422 7: Reset errors
604759657 56671377 I unixcscp: Host alive in slot 7
604766873 57104618 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604767010 57112800 A CLEAR ERROR: CPMHS 18: Reset errors
604767052 57115309 A SET MINOR: CPMHS 18: Fiber disconnected
604767056 57115574 A SET ERROR: CPMHS 18: Reset errors
604767518 57143292 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604767956 57169597 I server tempel removed from 17.7
604768061 57175885 I unixcscp: Host alive in slot 17
604768061 57175907 I server tempel available on 17.5
604768317 57191229 I server tempel removed from 17.5
604768378 57194910 A SET MINOR: CPMHS 17: Fiber disconnected
604768382 57195174 A SET ERROR: CPMHS 17: Reset errors
604768712 57214974 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604768808 57220721 I unixcscp: Host alive in slot 17
604768808 57220743 I server tempel available on 17.5
604768879 57225006 A CLEAR ERROR: CPMHS 17: Reset errors
604769279 57249030 A SET MINOR: CPMHS 18: Fiber disconnected
604769345 57252990 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604769348 57253122 A SET ERROR: CPMHS 18: HIB Parity errors
604769438 57258520 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
604769442 57258786 I server housay available on 18.5
604769480 57261042 A CLEAR ERROR: CPMHS 18: Reset errors
604769743 57276854 I server housay removed from 18.5
604769770 57278473 A SET MINOR: CPMHS 18: Fiber disconnected
604769774 57278736 A SET ERROR: CPMHS 18: Reset errors
604769797 57280116 A SET MINOR: unixcscp: DEAD HOST in slot 18
604769823 57281640 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604769849 57283224 A CLEAR ERROR: CPMHS 18: HIB Parity errors
604769907 57286690 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
604769913 57287032 I server housay available on 18.5
604769955 57289561 A CLEAR ERROR: CPMHS 18: Reset errors
604770358 57313763 I server housay removed from 18.5
604770383 57315300 A SET MINOR: CPMHS 18: Fiber disconnected
604770388 57315565 A SET ERROR: CPMHS 18: Reset errors
604770416 57317286 A SET MINOR: unixcscp: DEAD HOST in slot 18
604770419 57317413 A CLEAR MINOR: CPMHS 18: Fiber disconnected
604770421 57317545 A SET ERROR: CPMHS 18: HIB Parity errors
604770502 57322449 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
604770512 57323016 I server housay available on 18.5
604770550 57325332 A CLEAR ERROR: CPMHS 18: Reset errors
604770550 57325332 A CLEAR ERROR: CPMHS 18: HIB Parity errors
604770795 57340009 I server housay removed from 18.5
604770821 57341569 A SET MINOR: CPMHS 18: Fiber disconnected
604770825 57341832 A SET ERROR: CPMHS 18: Reset errors
604770832 57342246 A SET MINOR: unixcscp: DEAD HOST in slot 18
604771048 57355179 I server tempel removed from 17.5
604771109 57358860 A SET MINOR: CPMHS 17: Fiber disconnected
604771113 57359124 A SET ERROR: CPMHS 17: Reset errors
604771309 57370872 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604771407 57376710 I unixcscp: Host alive in slot 17
604771407 57376734 I server tempel available on 17.5
604771452 57379452 A CLEAR ERROR: CPMHS 17: Reset errors
604771514 57383143 I server tempel removed from 17.5
604771753 57397536 A SET MINOR: CPMHS 17: Fiber disconnected
604771758 57397801 A SET ERROR: CPMHS 17: Reset errors
604771914 57407172 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604771989 57411688 I unixcscp: Host alive in slot 17
604771990 57411712 I server tempel available on 17.5
604772061 57416016 A CLEAR ERROR: CPMHS 17: Reset errors
604772152 57421471 I server tempel removed from 17.5
604772202 57424464 A SET MINOR: CPMHS 17: Fiber disconnected
604772206 57424729 A SET ERROR: CPMHS 17: Reset errors
604772389 57435684 A CLEAR MINOR: CPMHS 17: Fiber disconnected
604772786 57459529 I unixcscp: Host alive in slot 17
604772787 57459551 I server tempel available on 17.5
604772857 57463801 A CLEAR ERROR: CPMHS 17: Reset errors
604794757 58778103 I server tempel removed from 17.5
604794810 58781329 A SET ERROR: CPMHS 17: Reset errors
604794903 58786873 I unixcscp: Host alive in slot 17
604794903 58786896 I server tempel available on 17.5
604794949 58789645 A CLEAR ERROR: CPMHS 17: Reset errors
604837061 61317327 I server tempel removed from 17.5
604837062 61317356 I server tempel available on 17.7
604861419 62779345 A SET MINOR: CPM422 7: Cables disconnected
604861732 62798091 A SET ERROR: CPM422 7: Reset errors
604863278 62890882 I server tempel removed from 17.7
604863747 62919036 A SET ERROR: CPMHS 17: Reset errors
604864079 62938936 I unixcscp: Host alive in slot 17
604864080 62938953 I server tempel available on 17.5
604864153 62943324 A CLEAR ERROR: CPMHS 17: Reset errors
604869752 63279371 I server tempel removed from 17.5
604869794 63281910 A SET ERROR: CPMHS 17: Reset errors
604869919 63289448 I unixcscp: Host alive in slot 17
604869920 63289467 I server tempel available on 17.5
604869932 63290226 A CLEAR ERROR: CPMHS 17: Reset errors
604871308 63372803 I server tempel removed from 17.5
604871348 63375234 A SET ERROR: CPMHS 17: Reset errors
604871484 63383361 I unixcscp: Host alive in slot 17
604871484 63383379 I server tempel available on 17.5
604871487 63383550 A CLEAR ERROR: CPMHS 17: Reset errors
604873286 63491541 I server tempel removed from 17.5
604873398 63498268 I unixcscp: Host alive in slot 17
604873399 63498298 I server tempel available on 17.5
604962751 68861321 I unixcscp: Host alive in slot 23
604962782 68863186 I unixcscp: Host alive in slot 23
604962813 68865061 I unixcscp: Host alive in slot 23
604962844 68866940 I unixcscp: Host alive in slot 23
604962875 68868819 I unixcscp: Host alive in slot 23
604962900 68870277 I unixcscp: Host alive in slot 23
604962931 68872160 I unixcscp: Host alive in slot 23
604962962 68874029 I unixcscp: Host alive in slot 23
604962972 68874624 I unixcscp: Host alive in slot 23
604962977 68874914 I unixcscp: Host alive in slot 23
604963008 68876774 I unixcscp: Host alive in slot 23
604963039 68878650 I unixcscp: Host alive in slot 23
604963070 68880518 I unixcscp: Host alive in slot 23
604963102 68882391 I unixcscp: Host alive in slot 23
604963120 68883468 I server tempel removed from 17.5
604963133 68884261 I unixcscp: Host alive in slot 23
604963164 68886130 I unixcscp: Host alive in slot 23
604963258 68891754 A SET ERROR: CPMHS 17: Reset errors
604963394 68899938 A CLEAR ERROR: CPMHS 17: Reset errors
604964867 68988349 I unixcscp: Host alive in slot 17
604964867 68988373 I server tempel available on 17.5
604967675 69156917 I unixcscp: Host alive in slot 23
604967705 69158732 I unixcscp: Host alive in slot 23
604967736 69160589 I unixcscp: Host alive in slot 23
604967768 69162462 I unixcscp: Host alive in slot 23
604967870 69168600 I unixcscp: Host alive in slot 23
604967901 69170471 I unixcscp: Host alive in slot 23
604967931 69172291 I unixcscp: Host alive in slot 23
604967962 69174144 I unixcscp: Host alive in slot 23
604967993 69176017 I unixcscp: Host alive in slot 23
604988759 70422361 I server tempel removed from 17.5
604990579 70531646 A SET ERROR: CPMHS 17: Reset errors
604990634 70534958 I unixcscp: Host alive in slot 17
604990635 70534978 I server tempel available on 17.5
604990705 70539171 A CLEAR ERROR: CPMHS 17: Reset errors
604991932 70612833 I server tempel removed from 17.5
604992019 70618055 I unixcscp: Host alive in slot 17
604992019 70618080 I server tempel available on 17.5
604992224 70630351 I unixcscp: Host alive in slot 17
604992575 70651417 I unixcscp: Host alive in slot 17
604992904 70671206 I server tempel removed from 17.5
604992940 70673339 I unixcscp: Host alive in slot 17
604992940 70673350 I server tempel available on 17.5
605026274 72674000 I unixcscp: Host alive in slot 23
605031618 72994646 I unixcscp: Host alive in slot 23
605031684 72998564 I unixcscp: Host alive in slot 23
605031752 73002681 I unixcscp: Host alive in slot 23
605032795 73065274 I unixcscp: Host alive in slot 23
605032966 73075690 I unixcscp: Host alive in slot 23
605033090 73083024 I unixcscp: Host alive in slot 23
605033469 73105892 I unixcscp: Host alive in slot 23
605033598 73113551 I unixcscp: Host alive in slot 23
605039717 73480819 A SET MINOR: unixcscp: DEAD HOST in slot 25
605040214 73510680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605040215 73510695 I server seki removed from 25.6
605040220 73510998 I server seki available on 25.5
605124383 78562580 A SET ERROR: CPMHS 17: HIB Parity errors
605124495 78569311 A CLEAR ERROR: CPMHS 17: HIB Parity errors
605128130 78787508 A SET ERROR: CPMHS 17: HIB Parity errors
605128260 78795295 A CLEAR ERROR: CPMHS 17: HIB Parity errors
605138195 79391590 I server tempel removed from 17.5
605140142 79508490 A SET ERROR: CPMHS 17: Reset errors
605140425 79525465 I unixcscp: Host alive in slot 17
605140425 79525486 I server tempel available on 17.5
605140459 79527498 A CLEAR ERROR: CPMHS 17: Reset errors
605225526 84633319 I unixcscp: Host alive in slot 17
605225718 84644835 I server tempel removed from 17.5
605225731 84645659 I unixcscp: Host alive in slot 17
605225732 84645673 I server tempel available on 17.7
605278089 87788232 A CLEAR MINOR: CPM422 7: Cables disconnected
605278128 87790537 A SET MINOR: SWITCH: Receiving out of range channel numbers
605278188 87794172 A CLEAR ERROR: CPM422 7: Reset errors
605278200 87794862 I unixcscp: Host alive in slot 7
605278203 87795072 I server sfr removed from 7.5
605278212 87795584 I server sfr available on 7.5
605278255 87798193 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605278480 87811656 A SET MINOR: SWITCH: Receiving out of range channel numbers
605278742 87827380 I unixcscp: Host alive in slot 7
605278745 87827568 A SET ERROR: CPM422 7: Reset errors
605278776 87829429 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605278778 87829564 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605278804 87831132 A SET ERROR: CPM422 7: FIFO synchronization errors
605278840 87833305 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605278916 87837864 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605279057 87846312 A CLEAR ERROR: CPM422 7: Reset errors
605281074 87967356 A SET ERROR: CPM422 7: Reset errors
605281195 87974616 A CLEAR ERROR: CPM422 7: Reset errors
605281343 87983521 A SET MINOR: SWITCH: Receiving out of range channel numbers
605281848 88013820 A SET ERROR: CPM422 7: Reset errors
605281960 88020552 A CLEAR ERROR: CPM422 7: Reset errors
605282226 88036524 A SET ERROR: CPM422 7: Reset errors
605282226 88036524 A SET ERROR: CPM422 7: FIFO synchronization errors
605282294 88040583 I unixcscp: Host alive in slot 7
605282362 88044708 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605282392 88046484 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605282529 88054740 A CLEAR ERROR: CPM422 7: Reset errors
605283384 88106016 A SET MINOR: SWITCH: Receiving out of range channel numbers
605284218 88156112 I unixcscp: Host alive in slot 7
605284389 88166324 I unixcscp: Host alive in slot 7
605284537 88175257 A SET ERROR: CPM422 7: Reset errors
605284700 88185025 A SET ERROR: CPM422 7: FIFO synchronization errors
605284828 88192681 A CLEAR ERROR: CPM422 7: Reset errors
605284828 88192681 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605284868 88195105 I unixcscp: Host alive in slot 7
605284950 88200001 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605285419 88228189 A SET ERROR: CPM422 7: Reset errors
605285560 88236636 A CLEAR ERROR: CPM422 7: Reset errors
605285916 88258020 A SET ERROR: CPM422 7: Reset errors
605286097 88268904 A SET MINOR: unixcscp: DEAD HOST in slot 25
605286692 88304617 A CLEAR ERROR: CPM422 7: Reset errors
605286887 88316292 A SET MINOR: SWITCH: Receiving out of range channel numbers
605286915 88317979 I server tempel removed from 17.7
605287119 88330204 I unixcscp: Host alive in slot 7
605287137 88331280 A SET ERROR: CPM422 7: Reset errors
605287168 88333150 I unixcscp: Host alive in slot 17
605287168 88333174 I server tempel available on 17.5
605287247 88337881 A SET ERROR: CPM422 7: FIFO synchronization errors
605287366 88345069 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605287464 88350949 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605287684 88364149 A CLEAR ERROR: CPM422 7: Reset errors
605287694 88364736 A SET MINOR: SWITCH: Receiving out of range channel numbers
605287805 88371408 A SET MINOR: CPMHS 25: Fiber disconnected
605287834 88373125 A CLEAR MINOR: CPMHS 25: Fiber disconnected
605289189 88454442 A SET ERROR: CPM422 7: Reset errors
605289208 88455595 I unixcscp: Host alive in slot 7
605289284 88460172 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605289378 88465794 A CLEAR ERROR: CPM422 7: Reset errors
605290212 88515877 A SET MINOR: SWITCH: Receiving out of range channel numbers
605291087 88568359 A SET ERROR: CPM422 7: Reset errors
605291087 88568360 A SET ERROR: CPM422 7: FIFO synchronization errors
605291346 88583934 A CLEAR ERROR: CPM422 7: Reset errors
605291346 88583935 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605292331 88643019 I unixcscp: Host alive in slot 7
605292417 88648218 A SET ERROR: CPM422 7: Reset errors
605292429 88648933 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605292433 88649142 A SET ERROR: CPM422 7: FIFO synchronization errors
605292600 88659175 A CLEAR ERROR: CPM422 7: Reset errors
605292600 88659175 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605293128 88690855 A SET ERROR: CPM422 7: Reset errors
605293334 88703262 A CLEAR ERROR: CPM422 7: Reset errors
605294166 88753159 A SET ERROR: CPM422 7: Reset errors
605294278 88759891 A CLEAR ERROR: CPM422 7: Reset errors
605294432 88769130 A SET ERROR: CPMHS 17: Reset errors
605294549 88776147 I unixcscp: Host alive in slot 17
605294566 88777182 A CLEAR ERROR: CPMHS 17: Reset errors
605294821 88792495 A SET ERROR: CPM422 7: Reset errors
605294933 88799226 A CLEAR ERROR: CPM422 7: Reset errors
605295404 88827475 A SET ERROR: CPM422 7: Reset errors
605295663 88843050 A CLEAR ERROR: CPM422 7: Reset errors
605295989 88862586 A SET ERROR: CPM422 7: Reset errors
605296152 88872354 A CLEAR ERROR: CPM422 7: Reset errors
605297233 88937201 I server tempel removed from 17.5
605297244 88937869 I unixcscp: Host alive in slot 17
605297244 88937879 I server tempel available on 17.7
605297798 88971108 A SET ERROR: CPM422 7: Reset errors
605297985 88982328 A CLEAR ERROR: CPM422 7: Reset errors
605298676 89023810 I unixcscp: Host alive in slot 7
605298677 89023816 I server sfr removed from 7.5
605298677 89023855 I server sfr available on 7.5
605298682 89024172 A SET ERROR: CPM422 7: Reset errors
605298845 89033940 A CLEAR ERROR: CPM422 7: Reset errors
605299102 89049355 I unixcscp: Host alive in slot 7
605301021 89164620 A SET ERROR: CPM422 7: Reset errors
605301089 89168652 A SET MINOR: SWITCH: Receiving out of range channel numbers
605301211 89175972 A CLEAR ERROR: CPM422 7: Reset errors
605302137 89231544 A SET ERROR: CPM422 7: Reset errors
605302143 89231940 A SET ERROR: CPM422 7: FIFO synchronization errors
605302535 89255436 A CLEAR ERROR: CPM422 7: Reset errors
605302535 89255436 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605303722 89326716 A SET ERROR: CPM422 7: Reset errors
605303722 89326716 A SET ERROR: CPM422 7: FIFO synchronization errors
605303912 89338096 I unixcscp: Host alive in slot 7
605303972 89341704 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605304026 89344932 A CLEAR ERROR: CPM422 7: Reset errors
605304026 89344932 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605304824 89392842 A SET ERROR: CPMHS 17: Reset errors
605304960 89401027 A CLEAR ERROR: CPMHS 17: Reset errors
605304962 89401106 I unixcscp: Host alive in slot 17
605305136 89411556 I server tempel removed from 17.7
605305145 89412100 I unixcscp: Host alive in slot 17
605305145 89412112 I server tempel available on 17.9
605305532 89435352 A SET ERROR: CPM422 7: Reset errors
605305788 89450664 A CLEAR ERROR: CPM422 7: Reset errors
605306091 89468863 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605306093 89468988 I server seki removed from 25.5
605306151 89472462 A SET MINOR: unixcscp: DEAD HOST in slot 25
605306215 89476336 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605306220 89476647 I server seki available on 25.5
605306396 89487156 A SET ERROR: CPM422 7: Reset errors
605306591 89498904 A SET ERROR: CPM422 7: FIFO synchronization errors
605306635 89501532 A SET MINOR: unixcscp: DEAD HOST in slot 25
605306703 89505636 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
605306712 89506164 A CLEAR ERROR: CPM422 7: Reset errors
605307179 89534148 A SET ERROR: CPM422 7: Reset errors
605307391 89546913 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605307394 89547032 I server seki removed from 25.5
605307398 89547305 I server seki available on 25.5
605307608 89559948 A CLEAR ERROR: CPM422 7: Reset errors
605308589 89618820 A SET ERROR: CPM422 7: Reset errors
605308756 89628852 A CLEAR ERROR: CPM422 7: Reset errors
605308956 89640864 A SET ERROR: CPM422 7: Reset errors
605309187 89654724 A CLEAR ERROR: CPM422 7: Reset errors
605309854 89694720 A SET ERROR: CPM422 7: Reset errors
605310038 89705808 A CLEAR ERROR: CPM422 7: Reset errors
605311490 89792928 A SET ERROR: CPM422 7: Reset errors
605311754 89808768 A CLEAR ERROR: CPM422 7: Reset errors
605311978 89822232 A SET ERROR: CPM422 7: Reset errors
605312103 89829756 A CLEAR ERROR: CPM422 7: Reset errors
605312174 89833980 A SET ERROR: CPM422 7: Reset errors
605312400 89847576 A CLEAR ERROR: CPM422 7: Reset errors
605312427 89849160 A SET ERROR: CPM422 7: Reset errors
605312539 89855892 A CLEAR ERROR: CPM422 7: Reset errors
605313122 89890872 A SET ERROR: CPM422 7: Reset errors
605313937 89939823 I unixcscp: Host alive in slot 7
605313937 89939829 I server sfr removed from 7.5
605313961 89941251 I server sfr available on 7.5
605314437 89969814 A CLEAR ERROR: CPM422 7: Reset errors
605314542 89976150 A SET ERROR: CPM422 7: Reset errors
605314899 89997534 A CLEAR ERROR: CPM422 7: Reset errors
605315189 90014958 A SET ERROR: CPM422 7: Reset errors
605315481 90032514 A CLEAR ERROR: CPM422 7: Reset errors
605316095 90069342 A SET ERROR: CPM422 7: Reset errors
605316118 90070699 I unixcscp: Host alive in slot 7
605316291 90081090 A CLEAR ERROR: CPM422 7: Reset errors
605316728 90107358 A SET ERROR: CPM422 7: Reset errors
605316734 90107688 I unixcscp: Host alive in slot 7
605316871 90115938 A CLEAR ERROR: CPM422 7: Reset errors
605317450 90150654 A SET ERROR: CPM422 7: Reset errors
605317562 90157386 A CLEAR ERROR: CPM422 7: Reset errors
605317584 90158700 I unixcscp: Host alive in slot 17
605317763 90169368 I server tempel removed from 17.9
605317771 90169876 I unixcscp: Host alive in slot 17
605317771 90169886 I server tempel available on 17.11
605318093 90189198 A SET ERROR: CPM422 7: Reset errors
605318099 90189562 I unixcscp: Host alive in slot 7
605318205 90195943 A SET MINOR: SWITCH: Receiving out of range channel numbers
605318382 90206532 I unixcscp: Host alive in slot 7
605318480 90212442 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605318507 90214014 A CLEAR ERROR: CPM422 7: Reset errors
605318782 90230526 A SET MINOR: SWITCH: Receiving out of range channel numbers
605318819 90232752 I unixcscp: Host alive in slot 7
605318918 90238710 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
605318944 90240282 A SET ERROR: CPM422 7: Reset errors
605319298 90261534 A CLEAR ERROR: CPM422 7: Reset errors
605319543 90276207 I unixcscp: Host alive in slot 7
605319545 90276318 A SET ERROR: CPM422 7: Reset errors
605319558 90277098 I unixcscp: Host alive in slot 7
605319594 90279267 I unixcscp: Host alive in slot 7
605319657 90283056 A CLEAR ERROR: CPM422 7: Reset errors
605340155 91513399 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605340157 91513534 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605340265 91519999 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605340267 91520134 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605363689 92925966 A SET MINOR: CPM422 7: Cables disconnected
605363898 92938506 A SET ERROR: CPM422 7: Reset errors
605364523 92975994 A CLEAR ERROR: CPM422 7: Reset errors
605364628 92982330 A SET ERROR: CPM422 7: Reset errors
605365020 93005826 A CLEAR MINOR: CPM422 7: Cables disconnected
605365070 93008863 A SET MAJOR: CPM422 7: Wrong device state
605365088 93009914 A CLEAR MAJOR: CPM422 7: Wrong device state
605365088 93009914 A CLEAR ERROR: CPM422 7: Reset errors
605365088 93009919 A SET MAJOR: CPM422 7: Wrong device state
605365094 93010298 A CLEAR MAJOR: CPM422 7: Wrong device state
605365184 93015660 I unixcscp: Host alive in slot 7
605365184 93015669 I server sfr removed from 7.5
605365185 93015725 I server sfr available on 7.5
605371581 93399670 I unixcscp: Host alive in slot 23
605374037 93547110 I unixcscp: Host alive in slot 23
605374042 93547378 I server fornax available on 23.3
605374967 93602919 I server fornax removed from 23.3
605375106 93611245 I unixcscp: Host alive in slot 23
605375137 93613117 I unixcscp: Host alive in slot 23
605375404 93629145 I unixcscp: Host alive in slot 23
605375409 93629437 I server fornax available on 23.3
605380193 93916591 A SET ERROR: CPMHS 17: Reset errors
605380312 93923740 I unixcscp: Host alive in slot 17
605380318 93924115 A CLEAR ERROR: CPMHS 17: Reset errors
605380431 93930886 I server tempel removed from 17.11
605380441 93931502 I server tempel available on 17.9
605386561 94298752 I server fornax removed from 23.3
605387674 94365558 A SET ERROR: CPMHS 17: Reset errors
605387796 94372863 I unixcscp: Host alive in slot 17
605387810 94373742 A CLEAR ERROR: CPMHS 17: Reset errors
605388211 94397814 I server tempel removed from 17.9
605388220 94398311 I unixcscp: Host alive in slot 17
605388220 94398321 I server tempel available on 17.11
605401951 95222523 I unixcscp: Host alive in slot 17
605401953 95222611 I server tempel removed from 17.11
605401954 95222668 I server tempel available on 17.5
605406634 95503555 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605406636 95503690 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605431426 96991609 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605431428 96991744 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605450141 98114911 A SET MINOR: unixcscp: DEAD HOST in slot 25
605450238 98120704 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605450240 98120822 I server seki removed from 25.5
605450245 98121115 I server seki available on 25.6
605455563 98440345 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605455565 98440480 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605461393 98790300 A SET MINOR: unixcscp: DEAD HOST in slot 25
605461435 98792811 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605461437 98792927 I server seki removed from 25.6
605461442 98793217 I server seki available on 25.5
605463955 98944092 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605465044 99009471 I server tempel removed from 17.5
605465170 99016999 I unixcscp: Host alive in slot 17
605465172 99017145 I server tempel available on 17.5
605472098 99432778 A SET MINOR: Board type incon code 00 not defined; device 29/8
605476659 99706542 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605476698 99708922 A SET MINOR: Board type incon code 00 not defined; device 29/8
605476795 99714726 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605476887 99720274 A SET MINOR: Board type incon code 00 not defined; device 29/8
605477035 99729114 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605477462 99754733 A SET MINOR: Board type incon code 00 not defined; device 29/8
605478543 99819672 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605479144 99855713 A SET MINOR: Board type incon code 00 not defined; device 29/8
605479212 99859806 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605479516 99878026 A SET MINOR: Board type incon code 00 not defined; device 29/8
605479566 99881058 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605479799 99895054 A SET MINOR: Board type incon code 00 not defined; device 29/8
605479865 99899010 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605480279 99923830 A SET MINOR: Board type incon code 00 not defined; device 29/8
605480338 99927390 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605482128 100034842 A SET MINOR: Board type incon code 00 not defined; device 29/8
605482137 100035385 I unixcscp: Host alive in slot 23
605482142 100035687 I server fornax available on 23.3
605482187 100038402 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605485308 100225720 A SET MINOR: Board type incon code 00 not defined; device 29/8
605492052 100630446 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605492052 100630450 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605543766 103734399 I server fornax removed from 23.3
605560032 104710704 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605560032 104710708 A SET MINOR: Board type incon code 00 not defined; device 29/8
605560034 104710836 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605560034 104710840 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605572871 105481332 I unixcscp: Host alive in slot 7
605572871 105481340 I server sfr removed from 7.5
605572872 105481396 I server sfr available on 7.5
605572895 105482760 I unixcscp: Host alive in slot 7
605572895 105482769 I server sfr removed from 7.5
605572895 105482816 I server sfr available on 7.5
605801694 119215626 A SET MINOR: unixcscp: DEAD HOST in slot 25
605802316 119252934 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605802318 119253051 I server seki removed from 25.5
605802323 119253330 I server seki available on 25.5
605804563 119387808 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605811282 119791135 A SET MINOR: unixcscp: DEAD HOST in slot 25
605812220 119847403 A SET MAJOR: tdk2cscp: trunk 6 is dead
605812391 119857683 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605812393 119857758 I server seki removed from 25.5
605812397 119858001 I server seki available on 25.5
605812536 119866345 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
605815270 120030419 A SET MINOR: Board type incon code 00 not defined; device 29/8
605815272 120030548 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605819679 120295080 A SET MINOR: unixcscp: DEAD HOST in slot 25
605820270 120330526 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605820272 120330625 I server seki removed from 25.5
605820276 120330878 I server seki available on 25.5
605820634 120352402 A SET MINOR: Board type incon code 00 not defined; device 29/8
605823599 120530323 A SET MINOR: unixcscp: DEAD HOST in slot 25
605823716 120537345 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605823718 120537458 I server seki removed from 25.5
605823723 120537778 I server seki available on 25.6
605823862 120546115 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605825759 120659989 A SET ERROR: CPMHS 17: Reset errors
605825949 120671386 I unixcscp: Host alive in slot 23
605825954 120671703 I server fornax available on 23.3
605825964 120672324 I unixcscp: Host alive in slot 17
605825966 120672438 I server tempel removed from 17.5
605825967 120672510 I server tempel available on 17.5
605825977 120673057 A CLEAR ERROR: CPMHS 17: Reset errors
605826363 120696220 A SET MINOR: Board type incon code 00 not defined; device 29/8
605826609 120710992 I server fornax removed from 23.3
605826672 120714774 I unixcscp: Host alive in slot 23
605826676 120715057 I server fornax available on 23.3
605827236 120748627 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605827452 120761583 I server fornax removed from 23.3
605827524 120765956 I unixcscp: Host alive in slot 23
605827529 120766244 I server fornax available on 23.3
605828274 120810963 I server fornax removed from 23.3
605828396 120818297 I unixcscp: Host alive in slot 23
605828401 120818587 I server fornax available on 23.3
605828667 120834501 I server fornax removed from 23.3
605828846 120845272 I unixcscp: Host alive in slot 23
605828850 120845554 I server fornax available on 23.3
605828936 120850677 I server fornax removed from 23.3
605829763 120900322 A SET MINOR: Board type incon code 00 not defined; device 29/8
605830342 120935085 I unixcscp: Host alive in slot 23
605830347 120935371 I server fornax available on 23.3
605830702 120956692 I server fornax removed from 23.3
605830789 120961897 I unixcscp: Host alive in slot 23
605830794 120962180 I server fornax available on 23.3
605831239 120988905 I server fornax removed from 23.3
605831290 120991981 I unixcscp: Host alive in slot 23
605831295 120992262 I server fornax available on 23.3
605831500 121004589 I server fornax removed from 23.3
605831567 121008630 I unixcscp: Host alive in slot 23
605831572 121008924 I server fornax available on 23.3
605831778 121021239 I server fornax removed from 23.3
605831804 121022856 I unixcscp: Host alive in slot 23
605831809 121023145 I server fornax available on 23.3
605835771 121260954 A SET MINOR: unixcscp: DEAD HOST in slot 25
605835805 121263010 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605835808 121263127 I server seki removed from 25.6
605835813 121263461 I server seki available on 25.5
605836196 121286406 A SET MINOR: unixcscp: DEAD HOST in slot 25
605836306 121293023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605836308 121293140 I server seki removed from 25.5
605836314 121293471 I server seki available on 25.6
605845002 121814953 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605845002 121814957 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605863302 122913331 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605863302 122913334 A SET MINOR: Board type incon code 00 not defined; device 29/8
605863304 122913463 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605863304 122913466 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605880991 123975019 A SET MINOR: unixcscp: DEAD HOST in slot 25
605881642 124014100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605881643 124014186 I server seki removed from 25.6
605881708 124018067 I server seki available on 25.7
605881852 124026696 A SET MINOR: unixcscp: DEAD HOST in slot 25
605882161 124045245 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605882163 124045363 I server seki removed from 25.7
605882168 124045703 I server seki available on 25.5
605894768 124801930 I server tempel removed from 17.5
605894851 124806931 I unixcscp: Host alive in slot 17
605894854 124807097 I server tempel available on 17.5
605897213 124948701 I server fornax removed from 23.3
605897957 124993384 I server tempel removed from 17.5
605898063 124999723 A SET ERROR: CPMHS 17: Reset errors
605898175 125006475 I unixcscp: Host alive in slot 17
605898178 125006644 I server tempel available on 17.5
605898217 125008963 A CLEAR ERROR: CPMHS 17: Reset errors
605898298 125013846 A SET ERROR: CPMHS 17: Reset errors
605898473 125024337 I unixcscp: Host alive in slot 17
605898475 125024460 I server tempel removed from 17.5
605898476 125024493 I server tempel available on 17.5
605898481 125024803 A CLEAR ERROR: CPMHS 17: Reset errors
605899109 125062480 I server tempel removed from 17.5
605899208 125068479 I unixcscp: Host alive in slot 17
605899212 125068660 I server tempel available on 17.5
605899904 125110208 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605899983 125114962 A SET MINOR: Board type incon code 00 not defined; device 29/8
605900102 125122087 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605900403 125140174 A SET MINOR: Board type incon code 00 not defined; device 29/8
605900583 125150995 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605900610 125152582 A SET MINOR: Board type incon code 00 not defined; device 29/8
605901818 125225073 I server tempel removed from 17.5
605901932 125231923 I unixcscp: Host alive in slot 17
605901935 125232119 I server tempel available on 17.5
605903181 125306898 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605903181 125306902 A SET MINOR: Board type incon code 0377 not defined; device 29/8
605903261 125311694 A SET ERROR: CPMHS 17: Reset errors
605903397 125319877 A CLEAR ERROR: CPMHS 17: Reset errors
605903399 125320011 I unixcscp: Host alive in slot 17
605903402 125320128 I server tempel removed from 17.5
605903403 125320198 I server tempel available on 17.5
605903633 125334042 A SET MINOR: unixcscp: DEAD HOST in slot 25
605903909 125350582 I unixcscp: Host alive in slot 23
605903914 125350887 I server fornax available on 23.3
605903940 125352459 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605903942 125352566 I server seki removed from 25.5
605903948 125352904 I server seki available on 25.6
605903970 125354188 I server fornax removed from 23.3
605905050 125419059 A SET MINOR: unixcscp: DEAD HOST in slot 25
605905107 125422508 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605905109 125422617 I server seki removed from 25.6
605905114 125422939 I server seki available on 25.5
605906967 125534135 I unixcscp: Host alive in slot 23
605906973 125534499 I server fornax available on 23.3
605907027 125537739 I server fornax removed from 23.3
605907966 125594116 I unixcscp: Host alive in slot 23
605907972 125594490 I server fornax available on 23.3
605908780 125642981 I server tempel removed from 17.5
605908887 125649349 A SET ERROR: CPMHS 17: Reset errors
605908994 125655793 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
605909071 125660417 A SET MINOR: Board type incon code 00 not defined; device 29/8
605909319 125675329 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605909340 125676557 A CLEAR ERROR: CPMHS 17: Reset errors
605909362 125677884 A SET MINOR: Board type incon code 00 not defined; device 29/8
605909553 125689358 A SET MINOR: CPMHS 17: Fiber disconnected
605909557 125689621 A SET ERROR: CPMHS 17: Reset errors
605909586 125691339 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605909769 125702292 A CLEAR ERROR: CPMHS 17: Reset errors
605909997 125716027 I unixcscp: Host alive in slot 17
605910000 125716166 I server tempel available on 17.5
605911293 125793804 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
605911500 125806216 A SET MINOR: Board type incon code 00 not defined; device 29/8
605911898 125830121 I server tempel removed from 17.5
605912011 125836903 I unixcscp: Host alive in slot 17
605912013 125837048 I server tempel available on 17.5
605912214 125849106 A SET MINOR: CPMHS 17: Fiber disconnected
605912219 125849370 A SET ERROR: CPMHS 17: Reset errors
605912234 125850294 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605912371 125858505 A SET MINOR: CPMHS 17: Fiber disconnected
605912389 125859615 I server tempel removed from 17.5
605912393 125859846 A CLEAR ERROR: CPMHS 17: Reset errors
605912393 125859847 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605912394 125859876 A SET MINOR: unix9cscp: Host dead in slot 20
605912544 125868906 A SET MINOR: unixcscp: DEAD HOST in slot 25
605912630 125874059 I unixcscp: Host alive in slot 17
605912690 125877666 I server tempel available on 17.7
605912816 125885236 I server tempel removed from 17.7
605912916 125891207 I unixcscp: Host alive in slot 17
605912918 125891349 I server tempel available on 17.5
605913702 125938402 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605913704 125938514 I server seki removed from 25.5
605913710 125938843 I server seki available on 25.5
605914160 125965857 I server tempel removed from 17.5
605914243 125970844 I unixcscp: Host alive in slot 17
605914245 125970985 I server tempel available on 17.5
605915203 126028522 I server tempel removed from 17.5
605915326 126035872 I unixcscp: Host alive in slot 17
605915328 126036021 I server tempel available on 17.5
605915572 126050629 I server tempel removed from 17.5
605915663 126056133 I unixcscp: Host alive in slot 17
605915666 126056277 I server tempel available on 17.5
605917004 126136584 I server tempel removed from 17.5
605917102 126142501 A SET ERROR: CPMHS 17: Reset errors
605917224 126149809 I unixcscp: Host alive in slot 17
605917226 126149950 I server tempel available on 17.5
605917294 126153986 A CLEAR ERROR: CPMHS 17: Reset errors
605917595 126172069 A SET ERROR: CPMHS 17: Reset errors
605917652 126175470 I server tempel removed from 17.5
605917655 126175698 A CLEAR ERROR: CPMHS 17: Reset errors
605917729 126180123 A SET MINOR: CPMHS 17: Fiber disconnected
605917734 126180386 A SET ERROR: CPMHS 17: Reset errors
605917753 126181575 A CLEAR MINOR: CPMHS 17: Fiber disconnected
605917942 126192926 A CLEAR ERROR: CPMHS 17: Reset errors
605917945 126193079 I unixcscp: Host alive in slot 17
605917947 126193220 I server tempel available on 17.5
605918193 126207949 I server tempel removed from 17.5
605918307 126214782 I unixcscp: Host alive in slot 17
605918309 126214924 I server tempel available on 17.5
605918594 126232019 I server tempel removed from 17.5
605918693 126237969 I unixcscp: Host alive in slot 17
605918695 126238110 I server tempel available on 17.5
605981745 130022387 I server seki removed from 25.5
605981778 130024404 A SET MINOR: unixcscp: DEAD HOST in slot 25
605982068 130041815 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605982075 130042235 I server seki available on 25.5
605991035 130580011 A SET MINOR: unixcscp: DEAD HOST in slot 25
605991237 130592142 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605991240 130592252 I server seki removed from 25.5
605991245 130592605 I server seki available on 25.6
605991507 130608342 A SET MINOR: unixcscp: DEAD HOST in slot 25
605992365 130659798 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605992367 130659911 I server seki removed from 25.6
605992372 130660235 I server seki available on 25.5
605995034 130819998 A SET MINOR: unixcscp: DEAD HOST in slot 25
605995589 130853319 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605995591 130853426 I server seki removed from 25.5
605995597 130853765 I server seki available on 25.5
605995799 130865917 A SET MINOR: unixcscp: DEAD HOST in slot 25
605995979 130876698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605995981 130876808 I server seki removed from 25.5
605995987 130877174 I server seki available on 25.5
605996159 130887498 A SET MINOR: unixcscp: DEAD HOST in slot 25
605996752 130923109 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
605996754 130923218 I server seki removed from 25.5
605996759 130923553 I server seki available on 25.5
605998304 131016259 I server tempel removed from 17.5
605998431 131023916 A SET ERROR: CPMHS 17: Reset errors
605998580 131032855 I unixcscp: Host alive in slot 17
605998583 131033004 I server tempel available on 17.5
605998623 131035400 A CLEAR ERROR: CPMHS 17: Reset errors
605998946 131054804 A SET ERROR: CPMHS 17: Reset errors
605999126 131065627 A CLEAR ERROR: CPMHS 17: Reset errors
605999128 131065700 I unixcscp: Host alive in slot 17
605999130 131065824 I server tempel removed from 17.5
605999130 131065855 I server tempel available on 17.5
606001792 131225628 I server tempel removed from 17.5
606001920 131233299 I unixcscp: Host alive in slot 17
606001922 131233456 I server tempel available on 17.5
606008836 131648373 I server tempel removed from 17.5
606008932 131654101 A SET ERROR: CPMHS 17: Reset errors
606009046 131660981 I unixcscp: Host alive in slot 17
606009049 131661135 I server tempel available on 17.5
606009116 131665188 A CLEAR ERROR: CPMHS 17: Reset errors
606054431 134384997 I unixcscp: Host alive in slot 29/2
606054433 134385091 I unixcscp: Host alive in slot 29/2
606054433 134385122 I unixcscp: Host alive in slot 29/2
606054434 134385155 I unixcscp: Host alive in slot 29/2
606054434 134385201 I unixcscp: Host alive in slot 29/2
606054435 134385232 I unixcscp: Host alive in slot 29/2
606054435 134385264 I unixcscp: Host alive in slot 29/2
606054436 134385297 I unixcscp: Host alive in slot 29/2
606054437 134385342 I unixcscp: Host alive in slot 29/2
606054449 134386064 I unixcscp: Host alive in slot 29/2
606054449 134386095 I unixcscp: Host alive in slot 29/2
606054450 134386142 I unixcscp: Host alive in slot 29/2
606054451 134386174 I unixcscp: Host alive in slot 29/2
606054451 134386221 I unixcscp: Host alive in slot 29/2
606054452 134386269 I unixcscp: Host alive in slot 29/2
606054453 134386299 I unixcscp: Host alive in slot 29/2
606054453 134386331 I unixcscp: Host alive in slot 29/2
606054454 134386362 I unixcscp: Host alive in slot 29/2
606054454 134386408 I unixcscp: Host alive in slot 29/2
606054455 134386440 I unixcscp: Host alive in slot 29/2
606054456 134386471 I unixcscp: Host alive in slot 29/2
606054456 134386503 I unixcscp: Host alive in slot 29/2
606054464 134387005 I unixcscp: Host alive in slot 29/2
606054465 134387036 I unixcscp: Host alive in slot 29/2
606054466 134387083 I unixcscp: Host alive in slot 29/2
606054467 134387131 I unixcscp: Host alive in slot 29/2
606054467 134387179 I unixcscp: Host alive in slot 29/2
606054468 134387225 I unixcscp: Host alive in slot 29/2
606054469 134387256 I unixcscp: Host alive in slot 29/2
606054469 134387287 I unixcscp: Host alive in slot 29/2
606054470 134387335 I unixcscp: Host alive in slot 29/2
606054471 134387381 I unixcscp: Host alive in slot 29/2
606054471 134387413 I unixcscp: Host alive in slot 29/2
606054472 134387446 I unixcscp: Host alive in slot 29/2
606054729 134402914 I unixcscp: Host alive in slot 29/2
606054731 134403008 I unixcscp: Host alive in slot 29/2
606054732 134403053 I unixcscp: Host alive in slot 29/2
606054732 134403086 I unixcscp: Host alive in slot 29/2
606054733 134403117 I unixcscp: Host alive in slot 29/2
606054733 134403148 I unixcscp: Host alive in slot 29/2
606054734 134403194 I unixcscp: Host alive in slot 29/2
606054735 134403225 I unixcscp: Host alive in slot 29/2
606054735 134403257 I unixcscp: Host alive in slot 29/2
606054736 134403288 I unixcscp: Host alive in slot 29/2
606054737 134403335 I unixcscp: Host alive in slot 29/2
606054737 134403382 I unixcscp: Host alive in slot 29/2
606054738 134403414 I unixcscp: Host alive in slot 29/2
606054739 134403460 I unixcscp: Host alive in slot 29/2
606054739 134403491 I unixcscp: Host alive in slot 29/2
606054740 134403523 I unixcscp: Host alive in slot 29/2
606054740 134403556 I unixcscp: Host alive in slot 29/2
606054741 134403601 I unixcscp: Host alive in slot 29/2
606054742 134403633 I unixcscp: Host alive in slot 29/2
606054742 134403664 I unixcscp: Host alive in slot 29/2
606054743 134403715 I unixcscp: Host alive in slot 29/2
606054744 134403758 I unixcscp: Host alive in slot 29/2
606054744 134403790 I unixcscp: Host alive in slot 29/2
606054745 134403822 I unixcscp: Host alive in slot 29/2
606054745 134403868 I unixcscp: Host alive in slot 29/2
606054757 134404559 I unixcscp: Host alive in slot 29/2
606054757 134404590 I unixcscp: Host alive in slot 29/2
606054758 134404637 I unixcscp: Host alive in slot 29/2
606054759 134404684 I unixcscp: Host alive in slot 29/2
606054760 134404716 I unixcscp: Host alive in slot 29/2
606054760 134404763 I unixcscp: Host alive in slot 29/2
606054761 134404810 I unixcscp: Host alive in slot 29/2
606054762 134404841 I unixcscp: Host alive in slot 29/2
606054762 134404873 I unixcscp: Host alive in slot 29/2
606054763 134404920 I unixcscp: Host alive in slot 29/2
606054763 134404951 I unixcscp: Host alive in slot 29/2
606054764 134404998 I unixcscp: Host alive in slot 29/2
606055588 134454447 I unixcscp: Host alive in slot 29/2
606055589 134454540 I unixcscp: Host alive in slot 29/2
606055590 134454587 I unixcscp: Host alive in slot 29/2
606055591 134454618 I unixcscp: Host alive in slot 29/2
606055591 134454665 I unixcscp: Host alive in slot 29/2
606055592 134454712 I unixcscp: Host alive in slot 29/2
606055593 134454744 I unixcscp: Host alive in slot 29/2
606055593 134454778 I unixcscp: Host alive in slot 29/2
606055594 134454822 I unixcscp: Host alive in slot 29/2
606055595 134454854 I unixcscp: Host alive in slot 29/2
606055595 134454885 I unixcscp: Host alive in slot 29/2
606055596 134454933 I unixcscp: Host alive in slot 29/2
606055597 134454979 I unixcscp: Host alive in slot 29/2
606055597 134455012 I unixcscp: Host alive in slot 29/2
606055598 134455044 I unixcscp: Host alive in slot 29/2
606055599 134455089 I unixcscp: Host alive in slot 29/2
606055599 134455121 I unixcscp: Host alive in slot 29/2
606055600 134455154 I unixcscp: Host alive in slot 29/2
606055600 134455199 I unixcscp: Host alive in slot 29/2
606055601 134455245 I unixcscp: Host alive in slot 29/2
606055602 134455277 I unixcscp: Host alive in slot 29/2
606055602 134455308 I unixcscp: Host alive in slot 29/2
606055603 134455355 I unixcscp: Host alive in slot 29/2
606055604 134455387 I unixcscp: Host alive in slot 29/2
606055604 134455418 I unixcscp: Host alive in slot 29/2
606055605 134455453 I unixcscp: Host alive in slot 29/2
606055605 134455497 I unixcscp: Host alive in slot 29/2
606055606 134455528 I unixcscp: Host alive in slot 29/2
606055606 134455560 I unixcscp: Host alive in slot 29/2
606055607 134455606 I unixcscp: Host alive in slot 29/2
606055608 134455653 I unixcscp: Host alive in slot 29/2
606055608 134455684 I unixcscp: Host alive in slot 29/2
606055620 134456374 I unixcscp: Host alive in slot 29/2
606055621 134456406 I unixcscp: Host alive in slot 29/2
606055621 134456453 I unixcscp: Host alive in slot 29/2
606055622 134456502 I unixcscp: Host alive in slot 29/2
606055623 134456547 I unixcscp: Host alive in slot 29/2
606055623 134456579 I unixcscp: Host alive in slot 29/2
606055624 134456610 I unixcscp: Host alive in slot 29/2
606055630 134456955 I unixcscp: Host alive in slot 29/2
606055630 134456987 I unixcscp: Host alive in slot 29/2
606055631 134457036 I unixcscp: Host alive in slot 29/2
606055632 134457081 I unixcscp: Host alive in slot 29/2
606055632 134457112 I unixcscp: Host alive in slot 29/2
606055633 134457144 I unixcscp: Host alive in slot 29/2
606055633 134457176 I unixcscp: Host alive in slot 29/2
606055634 134457221 I unixcscp: Host alive in slot 29/2
606055635 134457253 I unixcscp: Host alive in slot 29/2
606055635 134457284 I unixcscp: Host alive in slot 29/2
606055636 134457331 I unixcscp: Host alive in slot 29/2
606055637 134457365 I unixcscp: Host alive in slot 29/2
606055637 134457394 I unixcscp: Host alive in slot 29/2
606055638 134457441 I unixcscp: Host alive in slot 29/2
606055638 134457474 I unixcscp: Host alive in slot 29/2
606055639 134457505 I unixcscp: Host alive in slot 29/2
606055639 134457536 I unixcscp: Host alive in slot 29/2
606055640 134457570 I unixcscp: Host alive in slot 29/2
606055641 134457614 I unixcscp: Host alive in slot 29/2
606055641 134457646 I unixcscp: Host alive in slot 29/2
606055642 134457677 I unixcscp: Host alive in slot 29/2
606055642 134457712 I unixcscp: Host alive in slot 29/2
606055643 134457756 I unixcscp: Host alive in slot 29/2
606055644 134457787 I unixcscp: Host alive in slot 29/2
606055644 134457819 I unixcscp: Host alive in slot 29/2
606055645 134457867 I unixcscp: Host alive in slot 29/2
606056629 134516915 I unixcscp: Host alive in slot 29/2
606056630 134517009 I unixcscp: Host alive in slot 29/2
606056631 134517040 I unixcscp: Host alive in slot 29/2
606056631 134517072 I unixcscp: Host alive in slot 29/2
606056632 134517106 I unixcscp: Host alive in slot 29/2
606056633 134517149 I unixcscp: Host alive in slot 29/2
606056633 134517181 I unixcscp: Host alive in slot 29/2
606056634 134517212 I unixcscp: Host alive in slot 29/2
606056634 134517245 I unixcscp: Host alive in slot 29/2
606056635 134517292 I unixcscp: Host alive in slot 29/2
606056635 134517322 I unixcscp: Host alive in slot 29/2
606056636 134517354 I unixcscp: Host alive in slot 29/2
606056637 134517401 I unixcscp: Host alive in slot 29/2
606056638 134517448 I unixcscp: Host alive in slot 29/2
606056638 134517479 I unixcscp: Host alive in slot 29/2
606056639 134517513 I unixcscp: Host alive in slot 29/2
606056639 134517558 I unixcscp: Host alive in slot 29/2
606056640 134517591 I unixcscp: Host alive in slot 29/2
606056641 134517636 I unixcscp: Host alive in slot 29/2
606056641 134517684 I unixcscp: Host alive in slot 29/2
606056642 134517715 I unixcscp: Host alive in slot 29/2
606056643 134517746 I unixcscp: Host alive in slot 29/2
606056643 134517779 I unixcscp: Host alive in slot 29/2
606056650 134518186 I unixcscp: Host alive in slot 29/2
606056651 134518232 I unixcscp: Host alive in slot 29/2
606056651 134518263 I unixcscp: Host alive in slot 29/2
606056652 134518295 I unixcscp: Host alive in slot 29/2
606056653 134518341 I unixcscp: Host alive in slot 29/2
606056653 134518372 I unixcscp: Host alive in slot 29/2
606056653 134518404 I unixcscp: Host alive in slot 29/2
606056654 134518451 I unixcscp: Host alive in slot 29/2
606056655 134518498 I unixcscp: Host alive in slot 29/2
606056664 134519016 I unixcscp: Host alive in slot 29/2
606056664 134519048 I unixcscp: Host alive in slot 29/2
606056665 134519094 I unixcscp: Host alive in slot 29/2
606056666 134519141 I unixcscp: Host alive in slot 29/2
606056666 134519173 I unixcscp: Host alive in slot 29/2
606056667 134519204 I unixcscp: Host alive in slot 29/2
606056667 134519236 I unixcscp: Host alive in slot 29/2
606056668 134519281 I unixcscp: Host alive in slot 29/2
606056669 134519312 I unixcscp: Host alive in slot 29/2
606056669 134519344 I unixcscp: Host alive in slot 29/2
606056670 134519392 I unixcscp: Host alive in slot 29/2
606064483 134988345 I server fornax removed from 23.3
606064501 134989425 I unixcscp: Host alive in slot 23
606064507 134989797 I server fornax available on 23.3
606068488 135228714 A SET MINOR: unixcscp: DEAD HOST in slot 25
606069704 135301679 I server tempel removed from 17.5
606069831 135309359 I unixcscp: Host alive in slot 17
606069834 135309507 I server tempel available on 17.5
606071452 135406665 I unixcscp: Host alive in slot 29/2
606071453 135406744 I unixcscp: Host alive in slot 29/2
606071454 135406775 I unixcscp: Host alive in slot 29/2
606071454 135406807 I unixcscp: Host alive in slot 29/2
606071455 135406838 I unixcscp: Host alive in slot 29/2
606071455 135406870 I unixcscp: Host alive in slot 29/2
606071456 135406916 I unixcscp: Host alive in slot 29/2
606071457 135406948 I unixcscp: Host alive in slot 29/2
606071457 135406981 I unixcscp: Host alive in slot 29/2
606071458 135407011 I unixcscp: Host alive in slot 29/2
606071458 135407042 I unixcscp: Host alive in slot 29/2
606071459 135407073 I unixcscp: Host alive in slot 29/2
606071459 135407105 I unixcscp: Host alive in slot 29/2
606071460 135407136 I unixcscp: Host alive in slot 29/2
606071460 135407168 I unixcscp: Host alive in slot 29/2
606071461 135407199 I unixcscp: Host alive in slot 29/2
606071461 135407231 I unixcscp: Host alive in slot 29/2
606071462 135407262 I unixcscp: Host alive in slot 29/2
606071462 135407294 I unixcscp: Host alive in slot 29/2
606071463 135407325 I unixcscp: Host alive in slot 29/2
606071464 135407358 I unixcscp: Host alive in slot 29/2
606071464 135407388 I unixcscp: Host alive in slot 29/2
606071471 135407812 I unixcscp: Host alive in slot 29/2
606071472 135407843 I unixcscp: Host alive in slot 29/2
606071472 135407874 I unixcscp: Host alive in slot 29/2
606071473 135407909 I unixcscp: Host alive in slot 29/2
606071473 135407936 I unixcscp: Host alive in slot 29/2
606071474 135407967 I unixcscp: Host alive in slot 29/2
606071474 135407999 I unixcscp: Host alive in slot 29/2
606071475 135408030 I unixcscp: Host alive in slot 29/2
606071475 135408062 I unixcscp: Host alive in slot 29/2
606071476 135408093 I unixcscp: Host alive in slot 29/2
606071476 135408125 I unixcscp: Host alive in slot 29/2
606071477 135408156 I unixcscp: Host alive in slot 29/2
606071477 135408188 I unixcscp: Host alive in slot 29/2
606071478 135408219 I unixcscp: Host alive in slot 29/2
606071478 135408250 I unixcscp: Host alive in slot 29/2
606071479 135408283 I unixcscp: Host alive in slot 29/2
606071480 135408315 I unixcscp: Host alive in slot 29/2
606071480 135408345 I unixcscp: Host alive in slot 29/2
606071480 135408376 I unixcscp: Host alive in slot 29/2
606071481 135408408 I unixcscp: Host alive in slot 29/2
606071482 135408438 I unixcscp: Host alive in slot 29/2
606071482 135408469 I unixcscp: Host alive in slot 29/2
606071483 135408501 I unixcscp: Host alive in slot 29/2
606071483 135408532 I unixcscp: Host alive in slot 29/2
606071484 135408565 I unixcscp: Host alive in slot 29/2
606071484 135408611 I unixcscp: Host alive in slot 29/2
606071485 135408642 I unixcscp: Host alive in slot 29/2
606071486 135408675 I unixcscp: Host alive in slot 29/2
606071486 135408705 I unixcscp: Host alive in slot 29/2
606071487 135408735 I unixcscp: Host alive in slot 29/2
606071487 135408767 I unixcscp: Host alive in slot 29/2
606071488 135408798 I unixcscp: Host alive in slot 29/2
606071497 135409362 I unixcscp: Host alive in slot 29/2
606071498 135409394 I unixcscp: Host alive in slot 29/2
606071498 135409425 I unixcscp: Host alive in slot 29/2
606071499 135409456 I unixcscp: Host alive in slot 29/2
606071499 135409489 I unixcscp: Host alive in slot 29/2
606071500 135409521 I unixcscp: Host alive in slot 29/2
606071500 135409552 I unixcscp: Host alive in slot 29/2
606071501 135409582 I unixcscp: Host alive in slot 29/2
606071501 135409614 I unixcscp: Host alive in slot 29/2
606071502 135409645 I unixcscp: Host alive in slot 29/2
606071502 135409676 I unixcscp: Host alive in slot 29/2
606071503 135409708 I unixcscp: Host alive in slot 29/2
606071591 135415037 I server tempel removed from 17.5
606071691 135421034 I unixcscp: Host alive in slot 17
606071694 135421185 I server tempel available on 17.5
606072008 135440067 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606072011 135440174 I server seki removed from 25.5
606072017 135440581 I server seki available on 25.6
606072488 135468864 A SET MINOR: unixcscp: DEAD HOST in slot 25
606073400 135523563 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606073402 135523667 I server seki removed from 25.6
606073408 135524049 I server seki available on 25.5
606073761 135545160 A SET MINOR: unixcscp: DEAD HOST in slot 25
606074012 135560228 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606074014 135560331 I server seki removed from 25.5
606074020 135560689 I server seki available on 25.5
606074282 135576428 A SET MINOR: unixcscp: DEAD HOST in slot 25
606074821 135608760 I server tempel removed from 17.5
606074948 135616422 I unixcscp: Host alive in slot 17
606074951 135616587 I server tempel available on 17.5
606075572 135653877 I server tempel removed from 17.5
606075767 135665545 A SET ERROR: CPMHS 17: Reset errors
606075780 135666316 A CLEAR ERROR: CPMHS 17: Reset errors
606075871 135671775 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606075873 135671882 I server seki removed from 25.5
606075879 135672251 I server seki available on 25.6
606076110 135686116 I unixcscp: Host alive in slot 17
606076170 135689721 I server tempel available on 17.7
606078809 135848172 A SET MINOR: unixcscp: DEAD HOST in slot 25
606079002 135859755 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606079004 135859865 I server seki removed from 25.6
606079011 135860246 I server seki available on 25.5
606079870 135911858 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606079908 135914105 A SET MINOR: Board type incon code 00 not defined; device 29/8
606079936 135915822 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606079978 135918335 A SET MINOR: Board type incon code 00 not defined; device 29/8
606079989 135918990 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606080022 135920952 A SET MINOR: unixcscp: DEAD HOST in slot 25
606080025 135921106 A SET MINOR: Board type incon code 00 not defined; device 29/8
606080027 135921234 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606080859 135971180 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606080860 135971194 I server seki removed from 25.5
606080865 135971557 I server seki available on 25.5
606083108 136106178 A SET MINOR: unixcscp: DEAD HOST in slot 25
606083181 136110553 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606083183 136110657 I server seki removed from 25.5
606083190 136111069 I server seki available on 25.6
606083391 136123152 A SET MINOR: unixcscp: DEAD HOST in slot 25
606083731 136143546 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606083733 136143648 I server seki removed from 25.6
606083740 136144089 I server seki available on 25.5
606084810 136208346 A SET MINOR: unixcscp: DEAD HOST in slot 25
606084825 136209250 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606084827 136209351 I server seki removed from 25.5
606084835 136209842 I server seki available on 25.6
606085770 136265974 A SET MINOR: Board type incon code 00 not defined; device 29/8
606086597 136315566 I server tempel removed from 17.7
606086716 136322717 I unixcscp: Host alive in slot 17
606086718 136322858 I server tempel available on 17.5
606086767 136325767 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606086888 136333035 I server tempel removed from 17.5
606086988 136339076 A SET ERROR: CPMHS 17: Reset errors
606087114 136346619 I unixcscp: Host alive in slot 17
606087116 136346765 I server tempel available on 17.5
606087184 136350823 A CLEAR ERROR: CPMHS 17: Reset errors
606087563 136373555 A SET MINOR: Board type incon code 00 not defined; device 29/8
606087565 136373683 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606089203 136471987 I server tempel removed from 17.5
606089314 136478692 I unixcscp: Host alive in slot 17
606089316 136478831 I server tempel available on 17.5
606089784 136506886 I server tempel removed from 17.5
606089884 136512900 I unixcscp: Host alive in slot 17
606089886 136513041 I server tempel available on 17.5
606090589 136555193 A SET MINOR: Board type incon code 00 not defined; device 29/8
606152181 140252048 A SET MINOR: unixcscp: DEAD HOST in slot 25
606152307 140259587 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606152309 140259695 I server seki removed from 25.6
606152315 140260087 I server seki available on 25.5
606154436 140387382 A SET MINOR: unixcscp: DEAD HOST in slot 25
606155037 140423428 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606155039 140423539 I server seki removed from 25.5
606155045 140423953 I server seki available on 25.6
606155456 140448624 A SET MINOR: unixcscp: DEAD HOST in slot 25
606155562 140454930 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606156291 140498731 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606156293 140498837 I server seki removed from 25.6
606156299 140499215 I server seki available on 25.5
606156490 140510693 A SET MINOR: Board type incon code 00 not defined; device 29/8
606156651 140520330 A SET MINOR: unixcscp: DEAD HOST in slot 25
606156711 140523902 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606159795 140709023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606159796 140709090 I server seki removed from 25.5
606159801 140709362 I server seki available on 25.5
606160571 140755522 A SET MINOR: Board type incon code 00 not defined; device 29/8
606160718 140764363 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161063 140785090 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161156 140790631 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161369 140803438 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161499 140811223 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161527 140812942 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161644 140819935 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161697 140823106 A SET MINOR: Board type incon code 00 not defined; device 29/8
606161908 140835775 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606161987 140840530 A SET MINOR: Board type incon code 00 not defined; device 29/8
606162018 140842375 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606162077 140845942 A SET MINOR: Board type incon code 00 not defined; device 29/8
606162361 140862967 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606162612 140878018 A SET MINOR: Board type incon code 00 not defined; device 29/8
606164819 141010485 I server fornax removed from 23.3
606164823 141010779 I unixcscp: Host alive in slot 23
606164829 141011118 I server fornax available on 23.3
606165432 141047309 I server tempel removed from 17.5
606165548 141054293 I unixcscp: Host alive in slot 17
606165552 141054479 I server tempel available on 17.5
606167903 141195606 A SET ERROR: CPMHS 17: Reset errors
606167999 141201413 I server tempel removed from 17.5
606168003 141201643 A CLEAR ERROR: CPMHS 17: Reset errors
606168008 141201945 A SET MAJOR: CPMHS 17: Wrong device state
606168008 141201946 A CLEAR MAJOR: CPMHS 17: Wrong device state
606168101 141207486 A SET ERROR: CPMHS 17: Reset errors
606168268 141217514 I unixcscp: Host alive in slot 17
606168270 141217656 I server tempel available on 17.5
606168281 141218310 A CLEAR ERROR: CPMHS 17: Reset errors
606170769 141367657 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606171473 141409900 A SET MINOR: Board type incon code 00 not defined; device 29/8
606171475 141410029 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606171596 141417293 A SET MINOR: Board type incon code 00 not defined; device 29/8
606171618 141418615 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606171748 141426406 A SET MINOR: Board type incon code 00 not defined; device 29/8
606243616 145740020 A SET MINOR: unixcscp: DEAD HOST in slot 25
606243767 145749090 A SET MINOR: CPMHS 25: Fiber disconnected
606244486 145792254 A CLEAR MINOR: CPMHS 25: Fiber disconnected
606244508 145793574 A SET MINOR: CPMHS 25: Fiber disconnected
606244728 145806775 A CLEAR MINOR: CPMHS 25: Fiber disconnected
606245244 145837712 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606245246 145837814 I server seki removed from 25.5
606245253 145838227 I server seki available on 25.6
606246804 145931310 A SET MINOR: unixcscp: DEAD HOST in slot 25
606246919 145938239 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606246922 145938341 I server seki removed from 25.6
606246928 145938740 I server seki available on 25.5
606246940 145939501 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
606246941 145939505 A SET MINOR: Board type incon code 0377 not defined; device 29/8
606247399 145967034 A SET MINOR: unixcscp: DEAD HOST in slot 25
606248453 146030309 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606248454 146030327 I server seki removed from 25.5
606248460 146030735 I server seki available on 25.5
606421776 156433343 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
606452922 158302746 A SET MINOR: unixcscp: DEAD HOST in slot 25
606453409 158331952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606453411 158332052 I server seki removed from 25.5
606453418 158332481 I server seki available on 25.5
606454579 158402152 A SET MINOR: unixcscp: DEAD HOST in slot 25
606455055 158430737 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606455057 158430836 I server seki removed from 25.5
606455064 158431294 I server seki available on 25.6
606455205 158439732 A SET MINOR: unixcscp: DEAD HOST in slot 25
606455410 158452037 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606455412 158452139 I server seki removed from 25.6
606455419 158452569 I server seki available on 25.5
606517917 162203804 A SET MAJOR: tdk2cscp: trunk 6 is dead
606517940 162205183 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
606518131 162216598 I server fornax removed from 23.3
606518264 162224611 I unixcscp: Host alive in slot 23
606518269 162224938 I server fornax available on 23.3
606518594 162244419 I server fornax removed from 23.3
606518776 162255347 I unixcscp: Host alive in slot 23
606518781 162255646 I server fornax available on 23.3
606518986 162267952 I server fornax removed from 23.3
606537015 163350145 I server seki removed from 25.5
606537070 163353432 A SET MINOR: unixcscp: DEAD HOST in slot 25
606537168 163359316 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606537177 163359839 I server seki available on 25.5
606537215 163362121 A SET MAJOR: tdk2cscp: trunk 6 is dead
606537260 163364822 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
606571573 165424317 I server seki removed from 25.5
606571626 165427512 A SET MINOR: unixcscp: DEAD HOST in slot 25
606571644 165428566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606571653 165429071 I server seki available on 25.5
606571944 165446562 A SET MINOR: unixcscp: DEAD HOST in slot 25
606572414 165474787 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606572417 165474884 I server seki removed from 25.5
606572423 165475290 I server seki available on 25.5
606580385 165953220 I server seki removed from 25.5
606580421 165955386 A SET MINOR: unixcscp: DEAD HOST in slot 25
606580433 165956077 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606580441 165956580 I server seki available on 25.5
606580823 165979476 A SET MINOR: unixcscp: DEAD HOST in slot 25
606581298 166008019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606581300 166008111 I server seki removed from 25.5
606581307 166008546 I server seki available on 25.5
606581508 166020618 A SET MINOR: unixcscp: DEAD HOST in slot 25
606581537 166022359 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606581540 166022462 I server seki removed from 25.5
606581547 166022943 I server seki available on 25.5
606581837 166040358 A SET MINOR: unixcscp: DEAD HOST in slot 25
606582350 166071114 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606582352 166071206 I server seki removed from 25.5
606582359 166071646 I server seki available on 25.5
606583394 166133792 I unixcscp: Host alive in slot 23
606583399 166134106 I server fornax available on 23.3
606583399 166134116 A SET MINOR: unixcscp: DEAD HOST in slot 25
606583421 166135417 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606583421 166135429 I server seki removed from 25.5
606583430 166135936 I server seki available on 25.5
606583571 166144416 A SET MINOR: unixcscp: DEAD HOST in slot 25
606583665 166150023 I server fornax removed from 23.3
606584046 166172952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606584047 166172965 I server seki removed from 25.5
606584055 166173445 I server seki available on 25.5
606584136 166178353 A SET MINOR: unixcscp: DEAD HOST in slot 25
606584175 166180692 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606584176 166180702 I server seki removed from 25.5
606584183 166181124 I server seki available on 25.6
606584535 166202292 A SET MINOR: unixcscp: DEAD HOST in slot 25
606585046 166232933 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606585046 166232952 I server seki removed from 25.6
606585054 166233406 I server seki available on 25.5
606587955 166407540 A SET MINOR: unixcscp: DEAD HOST in slot 25
606587961 166407879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606587962 166407896 I server seki removed from 25.5
606587970 166408423 I server seki available on 25.5
606589629 166508014 I unixcscp: Host alive in slot 23
606589634 166508331 I server fornax available on 23.3
606589719 166513419 I server fornax removed from 23.3
606590499 166560215 I unixcscp: Host alive in slot 23
606590504 166560521 I server fornax available on 23.3
606590799 166578225 I server fornax removed from 23.3
606591349 166611276 A SET MINOR: unixcscp: DEAD HOST in slot 25
606591355 166611633 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606591355 166611643 I server seki removed from 25.5
606591365 166612199 I server seki available on 25.6
606591519 166621487 I unixcscp: Host alive in slot 23
606591525 166621805 I server fornax available on 23.3
606591610 166626892 I server fornax removed from 23.3
606592624 166687742 I unixcscp: Host alive in slot 23
606592630 166688061 I server fornax available on 23.3
606592955 166707549 I server fornax removed from 23.3
606593999 166770228 I unixcscp: Host alive in slot 23
606594004 166770541 I server fornax available on 23.3
606594359 166791843 I server fornax removed from 23.3
606595551 166863403 I unixcscp: Host alive in slot 23
606595557 166863777 I server fornax available on 23.3
606595642 166868812 I server fornax removed from 23.3
606595956 166887740 I unixcscp: Host alive in slot 23
606595962 166888084 I server fornax available on 23.3
606596047 166893147 I server fornax removed from 23.3
606596520 166921564 I unixcscp: Host alive in slot 23
606596525 166921887 I server fornax available on 23.3
606599699 167112369 I server fornax removed from 23.3
606601941 167246951 I unixcscp: Host alive in slot 23
606601955 167247766 I server fornax available on 23.3
606602032 167252355 I server fornax removed from 23.3
606602506 167280833 I unixcscp: Host alive in slot 23
606602514 167281319 I server fornax available on 23.3
606602596 167286237 I server fornax removed from 23.3
606602602 167286646 I unixcscp: Host alive in slot 23
606602608 167286983 I server fornax available on 23.3
606602663 167290252 I server fornax removed from 23.3
606602835 167300629 I unixcscp: Host alive in slot 23
606602841 167300981 I server fornax available on 23.3
606602956 167307837 I server fornax removed from 23.3
606602976 167309098 I unixcscp: Host alive in slot 23
606602982 167309428 I server fornax available on 23.3
606628011 168811716 I unixcscp: Host alive in slot 17
606628014 168811836 I server tempel removed from 17.5
606628014 168811880 I server tempel available on 17.5
606670727 171375561 I server seki removed from 25.6
606670768 171378030 A SET MINOR: unixcscp: DEAD HOST in slot 25
606670865 171383843 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606670874 171384348 I server seki available on 25.5
606671765 171437844 A SET MINOR: unixcscp: DEAD HOST in slot 25
606672382 171474879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606672383 171474896 I server seki removed from 25.5
606672390 171475367 I server seki available on 25.6
606672532 171483877 A SET MINOR: unixcscp: DEAD HOST in slot 25
606673255 171527265 A CLEAR MAJOR: tdkp: trunk 3 is dead
606673265 171527864 A CLEAR MAJOR: loopp: trunk 3 appears dead
606673726 171555566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606673727 171555579 I server seki removed from 25.6
606673733 171555973 I server seki available on 25.5
606674177 171582576 A SET MINOR: unixcscp: DEAD HOST in slot 25
606674762 171617701 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606674763 171617714 I server seki removed from 25.5
606674814 171620862 A SET MAJOR: tdkp: trunk 3 is dead
606674822 171621300 A SET MINOR: unixcscp: DEAD HOST in slot 25
606675369 171654166 A CLEAR MAJOR: tdkp: trunk 3 is dead
606675477 171660644 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606675486 171661183 I server seki available on 25.5
606676107 171698442 A SET MINOR: unixcscp: DEAD HOST in slot 25
606676152 171701100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606676152 171701112 I server seki removed from 25.5
606676160 171701598 I server seki available on 25.5
606676780 171738814 I tdk2cscp: circuit 6.500 out of sync with remote
606685100 172238075 I server seki removed from 25.5
606685123 172239492 I unixcscp: Host alive in slot 25
606685131 172239947 I server seki available on 25.5
606685243 172246692 A SET MINOR: unixcscp: DEAD HOST in slot 25
606685308 172250582 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606685309 172250592 I server seki removed from 25.5
606685316 172251025 I server seki available on 25.5
606689018 172473188 I unixcscp: Host alive in slot 25
606689018 172473199 I server seki removed from 25.5
606689026 172473690 I server seki available on 25.5
606689138 172480389 A SET MINOR: unixcscp: DEAD HOST in slot 25
606689160 172481698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606689160 172481717 I server seki removed from 25.5
606689168 172482174 I server seki available on 25.6
606691379 172614894 A SET MINOR: unixcscp: DEAD HOST in slot 25
606691891 172645595 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606691891 172645615 I server seki removed from 25.6
606691898 172646048 I server seki available on 25.5
606701675 173232802 A SET MINOR: Board type incon code 0377 not defined; device 29/8
606708145 173621196 A SET MINOR: unixcscp: DEAD HOST in slot 25
606708160 173622065 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606708160 173622081 I server seki removed from 25.5
606708169 173622607 I server seki available on 25.5
606720881 174385636 I server tempel removed from 17.5
606721169 174402878 I unixcscp: Host alive in slot 17
606721171 174403031 I server tempel available on 17.5
606756764 176539364 I unixcscp: Host alive in slot 7
606756764 176539373 I server sfr removed from 7.5
606756765 176539411 I server sfr available on 7.5
606756916 176548496 I unixcscp: Host alive in slot 7
606756916 176548504 I server sfr removed from 7.5
606756917 176548546 I server sfr available on 7.5
606757323 176572949 I unixcscp: Host alive in slot 7
606757323 176572954 I server sfr removed from 7.5
606757324 176573003 I server sfr available on 7.5
606774606 177610315 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606774629 177611669 I server seki available on 20.5
606775133 177641925 I server seki removed from 20.5
606775201 177645992 I server xseki available on 20.5
606826020 180696047 I server seki removed from 25.5
606826043 180697458 A SET MINOR: unix9cscp: Host dead in slot 20
606826080 180699678 A SET MINOR: unixcscp: DEAD HOST in slot 25
606826102 180701019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606826109 180701400 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606826110 180701432 I server xseki removed from 20.5
606826112 180701592 I server seki available on 25.5
606826128 180702541 I server xseki available on 20.5
606826508 180725365 A SET MINOR: unix9cscp: Host dead in slot 20
606826522 180726216 A SET MINOR: unixcscp: DEAD HOST in slot 25
606827009 180755447 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606827010 180755462 I server seki removed from 25.5
606827015 180755796 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606827016 180755831 I server xseki removed from 20.5
606827017 180755919 I server seki available on 25.5
606827033 180756892 I server xseki available on 20.5
606827363 180776664 A SET MINOR: unix9cscp: Host dead in slot 20
606827369 180777048 A SET MINOR: unixcscp: DEAD HOST in slot 25
606827412 180779645 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606827413 180779660 I server seki removed from 25.5
606827418 180779970 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606827419 180779994 I server xseki removed from 20.5
606827421 180780155 I server seki available on 25.5
606827433 180780868 I server xseki available on 20.5
606845431 181861164 A SET MINOR: unix9cscp: Host dead in slot 20
606845436 181861446 A SET MINOR: unixcscp: DEAD HOST in slot 25
606845925 181890779 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606845926 181890794 I server seki removed from 25.5
606845931 181891104 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606845931 181891145 I server xseki removed from 20.5
606845933 181891265 I server seki available on 25.5
606845948 181892171 I server xseki available on 20.5
606846032 181897206 A SET MINOR: unix9cscp: Host dead in slot 20
606846045 181897980 A SET MINOR: unixcscp: DEAD HOST in slot 25
606846518 181926360 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606846518 181926372 I server seki removed from 25.5
606846523 181926678 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606846524 181926707 I server xseki removed from 20.5
606846526 181926873 I server seki available on 25.5
606846542 181927789 I server xseki available on 20.5
606846632 181933206 A SET MINOR: unix9cscp: Host dead in slot 20
606846638 181933560 A SET MINOR: unixcscp: DEAD HOST in slot 25
606847139 181963679 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606847140 181963694 I server seki removed from 25.5
606847146 181964034 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606847147 181964075 I server xseki removed from 20.5
606847148 181964208 I server seki available on 25.5
606847163 181965107 I server xseki available on 20.5
606849422 182100648 A SET MINOR: unix9cscp: Host dead in slot 20
606849449 182102280 A SET MINOR: unixcscp: DEAD HOST in slot 25
606849616 182112333 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606849617 182112352 I server seki removed from 25.5
606849622 182112684 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606849623 182112707 I server xseki removed from 20.5
606849624 182112821 I server seki available on 25.5
606849641 182113814 I server xseki available on 20.5
606916885 186149792 A SET MINOR: unix9cscp: Host dead in slot 20
606916914 186151530 A SET MINOR: unixcscp: DEAD HOST in slot 25
606916922 186152036 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
606916922 186152046 I server seki removed from 25.5
606916929 186152406 A CLEAR MINOR: unix9cscp: Host dead in slot 20
606916930 186152474 I server xseki removed from 20.5
606916932 186152635 I server seki available on 25.5
606916946 186153455 I server xseki available on 20.5
606997002 190958507 I tdk2cscp: circuit 30.252 out of sync with remote
607013917 191973769 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
607028362 192840709 I server tempel removed from 17.5
607028539 192851340 A SET MINOR: CPMHS 17: Fiber disconnected
607028543 192851605 A SET ERROR: CPMHS 17: Reset errors
607032508 193089552 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
607032938 193113680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
607032984 193116402 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
607033148 193126268 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
607035073 193241785 A CLEAR MINOR: CPMHS 17: Fiber disconnected
607035255 193252741 A CLEAR ERROR: CPMHS 17: Reset errors
607035528 193269108 A SET ERROR: CPMHS 17: Reset errors
607035807 193285873 A CLEAR ERROR: CPMHS 17: Reset errors
607036477 193326043 I unixcscp: Host alive in slot 17
607036479 193326204 I server tempel available on 17.5
607040655 193576842 I unixcscp: Host alive in slot 29/3
607041731 193641429 I unixcscp: Host alive in slot 29/3
607042426 193683104 I server tuttle available on 29/3.5
607042469 193685728 I server tuttle removed from 29/3.5
607042701 193699619 I unixcscp: Host alive in slot 29/3
607042726 193701144 I server tuttle available on 29/3.5
607042733 193701561 I server tuttle removed from 29/3.5
607042744 193702196 I server tuttle available on 29/3.5
607050694 194179346 I unixcscp: Host alive in slot 29/3
607050696 194179470 I server tuttle removed from 29/3.5
607050697 194179524 I server tuttle available on 29/3.5
607051475 194226195 I server tuttle removed from 29/3.5
607051621 194234960 I unixcscp: Host alive in slot 29/3
607051623 194235103 I server tuttle available on 29/3.5
607096089 196903856 I unixcscp: Host alive in slot 29/3
607096089 196903869 I server tuttle removed from 29/3.5
607096092 196904003 I server tuttle available on 29/3.5
607101503 197228823 I server tuttle removed from 29/3.5
607101643 197237214 I unixcscp: Host alive in slot 29/3
607101645 197237365 I server tuttle available on 29/3.5
607122107 198465492 I server tuttle removed from 29/3.5
607125447 198665948 I unixcscp: Host alive in slot 29/3
607125462 198666848 I server tuttle available on 29/3.5
607129959 198936760 I server tuttle removed from 29/3.5
607130128 198946900 I unixcscp: Host alive in slot 29/3
607130131 198947051 I server tuttle available on 29/3.5
607130216 198952186 I server tuttle removed from 29/3.5
607130496 198968973 I unixcscp: Host alive in slot 29/3
607130498 198969121 I server tuttle available on 29/3.5
607180613 201976993 I server tuttle removed from 29/3.5
607186257 202315755 I server fornax removed from 23.3
607186258 202315847 I unixcscp: Host alive in slot 23
607186266 202316325 I server fornax available on 23.3
607186588 202335652 I server fornax removed from 23.3
607186629 202338091 I unixcscp: Host alive in slot 23
607186635 202338460 I server fornax available on 23.3
607190389 202563824 I unixcscp: Host alive in slot 29/3
607190392 202563971 I server tuttle available on 29/3.5
607191783 202647448 I server tuttle removed from 29/3.5
607192135 202668609 I unixcscp: Host alive in slot 29/3
607192138 202668757 I server tuttle available on 29/3.5
607192611 202697168 I server tuttle removed from 29/3.5
607192746 202705262 I unixcscp: Host alive in slot 29/3
607192748 202705407 I server tuttle available on 29/3.5
607195380 202863386 I server tuttle removed from 29/3.5
607195521 202871834 I unixcscp: Host alive in slot 29/3
607195524 202871980 I server tuttle available on 29/3.5
607203413 203345497 I server tuttle removed from 29/3.5
607203688 203361971 I unixcscp: Host alive in slot 29/3
607203721 203363968 I server tuttle available on 29/3.7
607204002 203380796 I server tuttle removed from 29/3.7
607204134 203388727 I unixcscp: Host alive in slot 29/3
607204136 203388875 I server tuttle available on 29/3.5
607204855 203432025 I server tuttle removed from 29/3.5
607205744 203485385 I unixcscp: Host alive in slot 29/3
607205773 203487093 I server tuttle available on 29/3.5
607211699 203842780 I server tuttle removed from 29/3.5
607211901 203854932 I unixcscp: Host alive in slot 29/3
607211961 203858541 I server tuttle available on 29/3.7
607213081 203925763 I server tuttle removed from 29/3.7
607213104 203927118 I unixcscp: Host alive in slot 29/3
607213104 203927133 I server tuttle available on 29/3.5
607213788 203968215 I server tuttle removed from 29/3.5
607214004 203981153 I unixcscp: Host alive in slot 29/3
607214064 203984763 I server tuttle available on 29/3.7
607222838 204511338 I server tempel removed from 17.5
607223065 204524958 A SET ERROR: CPMHS 17: Reset errors
607223167 204531088 I unixcscp: Host alive in slot 17
607223170 204531256 I server tempel available on 17.5
607223256 204536442 A CLEAR ERROR: CPMHS 17: Reset errors
607224406 204605484 A SET ERROR: CPMHS 17: Reset errors
607224586 204616292 I unixcscp: Host alive in slot 17
607224589 204616416 I server tempel removed from 17.5
607224589 204616467 I server tempel available on 17.5
607224596 204616854 A CLEAR ERROR: CPMHS 17: Reset errors
607236811 205355819 I unixcscp: Host alive in slot 29/3
607243269 205741098 I unixcscp: Host alive in slot 29/3
607245985 205903131 I unixcscp: Host alive in slot 29/3
607248369 206045359 I unixcscp: Host alive in slot 29/3
607256990 206561048 I unixcscp: Host alive in slot 29/3
607259337 206701897 I unixcscp: Host alive in slot 29/3
607270236 207356062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
607273396 207545748 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
607277713 207804887 A SET MINOR: Board type incon code 0377 not defined; device 29/8
607278061 207825748 A SET MINOR: Board type incon code 061 not defined; device 29/3
607278066 207826044 A SET MAJOR: WIF 29: Wrong device state
607278087 207827302 A CLEAR MAJOR: WIF 29: Wrong device state
607278453 207849322 I unixcscp: Host alive in slot 29/3
607278456 207849447 I server tuttle removed from 29/3.7
607278456 207849473 I server tuttle available on 29/3.5
607278655 207861431 A SET MAJOR: INCON Station 29/3, id 'MIPS', receive fifo overflow
607278730 207865899 I server fornax removed from 23.3
607280897 207995979 I unixcscp: Host alive in slot 23
607280905 207996454 I server fornax available on 23.3
607281227 208015785 I server fornax removed from 23.3
607282986 208121379 A SET MAJOR: INCON Station 29/3, id 'MIPS', exceeded error limit
607283008 208122680 I unixcscp: Host alive in slot 23
607283013 208123018 I server fornax available on 23.3
607290658 208581793 A SET MAJOR: tdk2cscp: trunk 6 is dead
607290870 208594527 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
607296235 208916487 I server fornax removed from 23.3
607296388 208925738 I unixcscp: Host alive in slot 23
607297349 208983383 I unixcscp: Host alive in slot 23
607297380 208985269 I unixcscp: Host alive in slot 23
607297554 208995696 I unixcscp: Host alive in slot 23
607297560 208996052 I server fornax available on 23.3
607297645 209001105 I server fornax removed from 23.3
607297680 209003272 I unixcscp: Host alive in slot 23
607297886 209015644 I unixcscp: Host alive in slot 23
607297893 209016021 I server fornax available on 23.3
607297977 209021049 I server fornax removed from 23.3
607298011 209023118 I unixcscp: Host alive in slot 23
607298017 209023467 I server fornax available on 23.3
607298551 209055525 I server fornax removed from 23.3
607298620 209059666 I unixcscp: Host alive in slot 23
607298625 209060000 I server fornax available on 23.3
607298951 209079472 I server fornax removed from 23.3
607298952 209079558 I unixcscp: Host alive in slot 23
607298983 209081437 I unixcscp: Host alive in slot 23
607299100 209088468 I unixcscp: Host alive in slot 23
607299106 209088819 I server fornax available on 23.3
607299339 209102784 A SET MAJOR: tdk2cscp: trunk 9 is dead
607300242 209157012 A SET ERROR: TRKHS 9: Receive mute errors
607300365 209164404 A CLEAR ERROR: TRKHS 9: Receive mute errors
607300596 209178264 A SET MAJOR: TRKHS 9: Wrong device state
607300598 209178393 A CLEAR MAJOR: TRKHS 9: Wrong device state
607300615 209179385 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
607300619 209179644 I loopp: Trunk 9 active
607301108 209208970 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
607301139 209210830 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
607301380 209225277 I server fornax removed from 23.3
607301404 209226738 I unixcscp: Host alive in slot 23
607301409 209227078 I server fornax available on 23.3
607301672 209242819 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607301674 209242954 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607302263 209278303 A SET MAJOR: tdk2cscp: trunk 9 is dead
607302685 209303634 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
607303299 209340499 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607303301 209340634 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607319371 210305119 I unixcscp: Host alive in slot 29/3
607320286 210360067 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607320288 210360202 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607322254 210478203 I unixcscp: Host alive in slot 29/3
607333098 211129039 I unixcscp: Host alive in slot 29/3
607354722 212426905 I unixcscp: Host alive in slot 29/3
607358146 212632436 I unixcscp: Host alive in slot 29/3
607360220 212756941 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
607360225 212757209 A SET MINOR: Board type incon code 0377 not defined; device 29/1
607361150 212812736 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
607361415 212828668 A SET MAJOR: WIF 29: Wrong device state
607361440 212830183 A CLEAR MAJOR: WIF 29: Wrong device state
607363218 212936887 A SET MAJOR: tdk2cscp: trunk 9 is dead
607363639 212962112 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
607375250 213658991 I unixcscp: Host alive in slot 29/3
607375252 213659114 I server tuttle removed from 29/3.5
607375252 213659141 I server tuttle available on 29/3.5
607397184 214975504 I unixcscp: Host alive in slot 29/3
607397184 214975513 I server tuttle removed from 29/3.5
607397186 214975647 I server tuttle available on 29/3.5
ݼ
���:(c�#���#��R(wtmbin/n/westphal/netstat/node.6/info.Jan1989v/v14725/7933035599777182 175735207 A SET MAJOR: tdk2cscp: mod 8: packet behind
599777361 175745980 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599779150 175853341 A SET MAJOR: tdk2cscp: mod 8: packet behind
599779556 175877666 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599779902 175898435 A SET MAJOR: tdk2cscp: mod 8: packet behind
599780127 175911941 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599780458 175931793 A SET MAJOR: tdk2cscp: mod 8: packet behind
599780623 175941703 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599781766 176010294 A SET MAJOR: tdk2cscp: mod 8: packet behind
599782021 176025589 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599786926 176319855 A SET MAJOR: tdk2cscp: mod 8: packet behind
599787437 176350521 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599788236 176398395 A SET MAJOR: tdk2cscp: mod 8: packet behind
599788326 176403772 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599788778 176430930 A SET MAJOR: tdk2cscp: mod 8: packet behind
599788958 176441741 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599790574 176538676 A SET MAJOR: tdk2cscp: mod 8: packet behind
599790738 176548536 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599790919 176559378 A SET MAJOR: tdk2cscp: mod 8: packet behind
599791099 176570173 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599791987 176623498 A SET MAJOR: tdk2cscp: mod 8: packet behind
599792572 176658593 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599799190 177055700 A SET MAJOR: tdk2cscp: mod 8: packet behind
599799338 177064604 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599809065 177648262 A SET MAJOR: tdk2cscp: mod 8: packet behind
599809951 177701415 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599810102 177710492 A SET MAJOR: tdk2cscp: mod 8: packet behind
599810987 177763584 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599811424 177789797 A SET MAJOR: tdk2cscp: mod 8: packet behind
599811694 177805997 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599812025 177825844 A SET MAJOR: tdk2cscp: mod 8: packet behind
599812190 177835758 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599812551 177857433 A SET MAJOR: tdk2cscp: mod 8: packet behind
599812972 177882649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599813468 177912441 A SET MAJOR: tdk2cscp: mod 8: packet behind
599813768 177930441 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599816762 178110057 A SET MAJOR: tdk2cscp: mod 8: packet behind
599818129 178192059 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599818745 178229036 A SET MAJOR: tdk2cscp: mod 8: packet behind
599818940 178240759 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599819618 178281416 A SET MAJOR: tdk2cscp: mod 8: packet behind
599820082 178309254 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599820744 178348993 A SET MAJOR: tdk2cscp: mod 8: packet behind
599821209 178376882 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599821435 178390467 A SET MAJOR: tdk2cscp: mod 8: packet behind
599821765 178410269 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599822997 178484175 A SET MAJOR: tdk2cscp: mod 8: packet behind
599823237 178498577 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599823494 178514002 A SET MAJOR: tdk2cscp: mod 8: packet behind
599825491 178633782 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599826513 178695135 A SET MAJOR: tdk2cscp: mod 8: packet behind
599827759 178769918 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599828165 178794295 A SET MAJOR: tdk2cscp: mod 8: packet behind
599828435 178810471 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599830391 178927837 A SET MAJOR: tdk2cscp: mod 8: packet behind
599830976 178962945 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599831337 178984603 A SET MAJOR: tdk2cscp: mod 8: packet behind
599831517 178995401 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599831893 179017951 A SET MAJOR: tdk2cscp: mod 8: packet behind
599832554 179057602 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599832750 179069374 A SET MAJOR: tdk2cscp: mod 8: packet behind
599833637 179122571 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599833863 179136161 A SET MAJOR: tdk2cscp: mod 8: packet behind
599834419 179169496 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599834494 179174031 A SET MAJOR: tdk2cscp: mod 8: packet behind
599834599 179180326 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599837909 179378910 A SET MAJOR: tdk2cscp: mod 8: packet behind
599838059 179387916 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599838225 179397856 A SET MAJOR: tdk2cscp: mod 8: packet behind
599838540 179416778 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599838767 179430426 A SET MAJOR: tdk2cscp: mod 8: packet behind
599839127 179452040 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599839474 179472844 A SET MAJOR: tdk2cscp: mod 8: packet behind
599839685 179485476 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599843259 179699964 A SET MAJOR: tdk2cscp: mod 8: packet behind
599843350 179705373 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599843819 179733520 A SET MAJOR: tdk2cscp: mod 8: packet behind
599844391 179767827 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599844505 179774671 A SET MAJOR: tdk2cscp: trunk 8 is dead
599844520 179775576 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
599874423 181566880 I unixcscp: Host alive in slot 14
599897505 182951800 A SET MAJOR: tdk2cscp: mod 8: packet behind
599898016 182982464 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599899129 183049227 A SET MAJOR: tdk2cscp: mod 8: packet behind
599899354 183062728 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599900257 183116904 A SET MAJOR: tdk2cscp: mod 8: packet behind
599900512 183132218 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599937384 185340271 A SET MAJOR: tdk2cscp: trunk 8 is dead
599943157 1817 I Reboot complete
599943157 1904 I unixcscp: Host alive in slot 14
599943157 2245 I loopp: Trunk 4 active
599943157 2389 I loopp: Trunk 8 active
599943157 2434 I loopp: Trunk 9 active
599943157 2503 I server fishonaplatter available on 14.5
599974005 1853446 A SET MAJOR: tdk2cscp: mod 8: packet behind
599974094 1858832 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
599983498 2423077 A SET MAJOR: tdk2cscp: mod 8: packet behind
599983693 2434800 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600010933 4069061 A SET MAJOR: tdk2cscp: trunk 8 is dead
600011009 4073567 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600014308 4271549 A SET MAJOR: tdk2cscp: trunk 9 is dead
600016411 4397752 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600016932 4429045 A SET MAJOR: tdk2cscp: trunk 9 is dead
600018062 4496848 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600018109 4499631 A SET MAJOR: tdk2cscp: mod 8: packet behind
600018215 4506014 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600018297 4510945 A SET MAJOR: tdk2cscp: trunk 9 is dead
600022395 4756823 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600022600 4769122 A SET MAJOR: tdk2cscp: mod 8: packet behind
600023042 4795654 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600035271 5529396 A SET MAJOR: tdk2cscp: mod 8: packet behind
600035423 5538522 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600049069 6357171 A SET MAJOR: tdk2cscp: mod 8: packet behind
600049343 6373628 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600055375 6735531 A SET MAJOR: tdk2cscp: mod 8: packet behind
600055527 6744649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
600117353 1835 I Reboot complete
600117353 1922 I unixcscp: Host alive in slot 14
600117353 2321 I loopp: Trunk 4 active
600117353 2383 I loopp: Trunk 8 active
600117353 2426 I loopp: Trunk 9 active
600117353 2473 I server fishonaplatter available on 14.5
600120180 173006 A SET MAJOR: tdk2cscp: trunk 8 is dead
600120992 221749 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600351014 14023105 A SET MAJOR: tdk2cscp: trunk 8 is dead
600351014 14023112 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600386279 16138981 A SET MAJOR: tdk2cscp: trunk 9 is dead
600386778 16168914 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
600428782 18689122 I tdk2cscp: circuit 8.244 out of sync with remote
600460208 20574692 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
600460261 20577863 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
600532722 24925587 I server fishonaplatter removed from 14.5
600532760 24927853 A SET MINOR: CPM422 14: Cables disconnected
600532798 24930120 A SET MINOR: unixcscp: DEAD HOST in slot 14
600534262 25018008 A CLEAR MINOR: CPM422 14: Cables disconnected
600534282 25019196 A SET MINOR: CPM422 14: Cables disconnected
600534506 25032660 A CLEAR MINOR: CPM422 14: Cables disconnected
600534524 25033716 A SET MINOR: CPM422 14: Cables disconnected
600534678 25042956 A CLEAR MINOR: CPM422 14: Cables disconnected
600534808 25050744 A SET MINOR: CPM422 14: Cables disconnected
600534914 25057080 A CLEAR MINOR: CPM422 14: Cables disconnected
600534927 25057873 A SET MINOR: CPM422 14: Cables disconnected
600535356 25083612 A CLEAR MINOR: CPM422 14: Cables disconnected
600535684 25103307 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
600535688 25103553 I server fishonaplatter available on 14.6
600719209 36114867 I loopp: Trunk 4 active
600719398 36126176 I loopp: Trunk 4 active
600719514 36129330 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600719515 36131887 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600719612 36139009 A SET MAJOR: tdk2cscp: trunk 8 is dead
600720120 36169493 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600725936 36512518 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600725936 36514777 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
600726424 36547759 A SET MAJOR: tdk2cscp: trunk 8 is dead
600726850 36573365 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
600961539 50653740 A SET MAJOR: tdkp: trunk 4 is dead
600961747 50667121 A CLEAR MAJOR: tdkp: trunk 4 is dead
600972316 51301285 A SET MAJOR: tdk2cscp: trunk 9 is dead
600972421 51307586 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
601152501 62084359 A SET MAJOR: tdk2cscp: trunk 8 is dead
601152512 62113160 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601152514 62113242 A SET MAJOR: loopp: trunk 8 appears dead
601152525 62113902 A CLEAR MAJOR: loopp: trunk 8 appears dead
601152696 62124151 I tdk2cscp: circuit 8.242 out of sync with remote
601163057 62745860 A SET MAJOR: tdk2cscp: trunk 8 is dead
601163061 62745872 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311799 71670265 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311812 71671027 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311844 71672966 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311865 71674209 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311904 71676565 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311918 71677397 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601311949 71679265 A SET MAJOR: tdk2cscp: trunk 8 is dead
601311968 71680419 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601312009 71682866 A SET MAJOR: tdk2cscp: trunk 8 is dead
601312021 71683586 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601312054 71685565 A SET MAJOR: tdk2cscp: trunk 8 is dead
601312076 71686884 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313194 71753965 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313210 71754955 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313269 71758465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313292 71759850 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313464 71770165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313475 71770830 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601313734 71786365 A SET MAJOR: tdk2cscp: trunk 8 is dead
601313754 71787595 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601319584 72137367 A SET MAJOR: tdk2cscp: trunk 8 is dead
601319607 72138745 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601319644 72140965 A SET MAJOR: tdk2cscp: trunk 8 is dead
601319657 72141711 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326215 72535165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326233 72536208 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326321 72541465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326339 72542568 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326681 72563067 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326705 72564510 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326740 72566665 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326770 72568438 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326800 72570265 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326839 72572549 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326875 72574765 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326890 72575649 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601326920 72577465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601326948 72579138 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327010 72582867 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327032 72584158 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327070 72586465 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327090 72587657 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327130 72590065 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327151 72591308 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327190 72593666 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327208 72594743 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327265 72598165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327274 72598698 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327355 72603566 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327358 72603724 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327415 72607165 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327424 72607679 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601327505 72612567 A SET MAJOR: tdk2cscp: trunk 8 is dead
601327511 72612870 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
601438509 79272750 A SET MINOR: unixcscp: DEAD HOST in slot 14
601438840 79292613 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
601438840 79292621 I server fishonaplatter removed from 14.6
601438842 79292722 I server fishonaplatter available on 14.5
601790289 100379611 A SET MINOR: unixcscp: DEAD HOST in slot 14
601790664 100402119 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
601790665 100402126 I server fishonaplatter removed from 14.5
601790719 100405407 I server fishonaplatter available on 14.5
601853777 104188958 A SET MAJOR: tdk2cscp: trunk 9 is dead
601854138 104210617 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
602173970 123400431 I loopp: Trunk 4 active
602174101 123408289 A SET MAJOR: tdkp: trunk 4 is dead
602174127 123409829 A CLEAR MAJOR: tdkp: trunk 4 is dead
602233958 126999930 A SET MAJOR: tdkp: trunk 4 is dead
602234447 127029294 A SET MAJOR: loopp: trunk 4 appears dead
602259331 128522302 I tdk2cscp: circuit 8.248 out of sync with remote
602271968 129280534 A CLEAR MAJOR: tdkp: trunk 4 is dead
602271979 129281157 A CLEAR MAJOR: loopp: trunk 4 appears dead
��i���H�7�R(7�R(7�R(wtmbin/n/westphal/netstat/node.7/info.Jun1991v/v14725/7943039676514114 151599961 I tdk2cscp: trunk 47 going dead; kpalive 31444 timout 32120 33724 35530
676514114 151599962 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
676514114 151599963 I tdk2cscp 47: datain count 1 at 32124 31443 31443 31444 73163 30760 30760 173342 173342 - 173342
676514114 151599964 I tdk2cscp 47: msg count 0 at 31444 30760 136015 0 0 0 0 0 0 - 0
676514114 151599964 A SET MAJOR: tdk2cscp: trunk 47 is dead
676514114 154860064 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
676514114 154876861 I tdk2cscp: trunk 47 going dead; kpalive 30736 timout 32264 34070 35674
676514116 154876861 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
676514116 154876863 I tdk2cscp 47: datain count 0 at 30503 30736 30736 30736 12513 177313 177313 173342 173342 - 173342
676514116 154876863 I tdk2cscp 47: msg count 0 at 30736 30760 136015 0 0 0 0 0 0 - 0
676514116 154876864 A SET MAJOR: tdk2cscp: trunk 47 is dead
676514116 154879603 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
$G����R(�R(�R(wtmbin/n/westphal/netstat/hklabrawv/v14725/7953040����������R(y�R(��R(wtmbin/n/westphal/netstat/t3v/v14725/7963041/n/westphal/netstat//Thu Mar  7 14:13:15 1991 /usr/backup/v/v14122/730
/n/westphal/netstat/node.1/config.Apr1989//Sat Apr 29 00:09:52 1989 /usr/backup/v/v5982/331
/n/westphal/netstat/node.1/config.Apr1990//Tue May  1 00:11:35 1990 /usr/backup/v/v12160/221
/n/westphal/netstat/node.1/config.Apr1991//Wed May  1 00:10:37 1991 /usr/backup/v/v14489/499
/n/westphal/netstat/node.1/config.Aug1989//Mon Aug 28 00:13:32 1989 /usr/backup/v/v7010/283
/n/westphal/netstat/node.1/config.Aug1990//Thu Aug 30 00:04:53 1990 /usr/backup/v/v12930/1316
/n/westphal/netstat/node.1/config.Dec1988//Wed Dec 28 00:03:22 1988 /usr/backup/v/v4891/438
/n/westphal/netstat/node.1/config.Dec1989//Wed Dec 20 00:16:13 1989 /usr/backup/v/v11021/558
/n/westphal/netstat/node.1/config.Dec1990//Fri Dec 28 00:01:06 1990 /usr/backup/v/v13677/331
/n/westphal/netstat/node.1/config.Feb1989//Sat Feb 25 23:59:28 1989 /usr/backup/v/v5441/167
/n/westphal/netstat/node.1/config.Feb1990//Fri Feb 23 00:25:23 1990 /usr/backup/v/v11593/1134
/n/westphal/netstat/node.1/config.Feb1991//Thu Feb 28 00:06:53 1991 /usr/backup/v/v14062/300
/n/westphal/netstat/node.1/config.Jan1989//Wed Feb  1 00:14:05 1989 /usr/backup/v/v5213/184
/n/westphal/netstat/node.1/config.Jan1990//Wed Jan 31 00:23:37 1990 /usr/backup/v/v11412/432
/n/westphal/netstat/node.1/config.Jan1991//Sat Jan 26 23:57:02 1991 /usr/backup/v/v13827/539
/n/westphal/netstat/node.1/config.Jul1989//Sat Jul 29 00:07:53 1989 /usr/backup/v/v6711/257
/n/westphal/netstat/node.1/config.Jul1990//Tue Jul 31 00:04:55 1990 /usr/backup/v/v12716/312
/n/westphal/netstat/node.1/config.Jun1989//Thu Jun 29 00:08:53 1989 /usr/backup/v/v6468/240
/n/westphal/netstat/node.1/config.Jun1990//Sun Jul  1 00:18:58 1990 /usr/backup/v/v12506/618
/n/westphal/netstat/node.1/config.Jun1991//Wed Jun  5 00:14:57 1991 /usr/backup/v/v14690/876
/n/westphal/netstat/node.1/config.Mar1989//Sat Apr  1 00:07:02 1989 /usr/backup/v/v5755/327
/n/westphal/netstat/node.1/config.Mar1990//Fri Mar 30 00:01:29 1990 /usr/backup/v/v11879/790
/n/westphal/netstat/node.1/config.Mar1991//Sat Mar 30 00:01:47 1991 /usr/backup/v/v14260/1148
/n/westphal/netstat/node.1/config.May1989//Sat May 20 00:06:32 1989 /usr/backup/v/v6147/200
/n/westphal/netstat/node.1/config.May1990//Fri Jun  1 00:03:52 1990 /usr/backup/v/v12400/424
/n/westphal/netstat/node.1/config.May1991//Fri May 31 00:11:28 1991 /usr/backup/v/v14661/774
/n/westphal/netstat/node.1/config.Nov1988//Wed Nov 30 00:08:46 1988 /usr/backup/v/v4616/129
/n/westphal/netstat/node.1/config.Nov1989//Thu Nov 30 00:18:56 1989 /usr/backup/v/v10883/981
/n/westphal/netstat/node.1/config.Nov1990//Sat Dec  1 00:00:46 1990 /usr/backup/v/v13532/685
/n/westphal/netstat/node.1/config.Oct1989//Tue Oct 31 00:29:10 1989 /usr/backup/v/v10670/989
/n/westphal/netstat/node.1/config.Oct1990//Thu Nov  1 00:02:26 1990 /usr/backup/v/v13353/1225
/n/westphal/netstat/node.1/config.Sep1989//Fri Sep 29 00:22:54 1989 /usr/backup/v/v7233/181
/n/westphal/netstat/node.1/config.Sep1990//Sat Sep 29 00:02:43 1990 /usr/backup/v/v13154/642
/n/westphal/netstat/node.1/info.Apr1989//Sun Apr 30 23:59:49 1989 /usr/backup/v/v5991/136
/n/westphal/netstat/node.1/info.Apr1990//Tue May  1 00:14:22 1990 /usr/backup/v/v12160/398
/n/westphal/netstat/node.1/info.Apr1991//Wed May  1 00:13:28 1991 /usr/backup/v/v14491/482
/n/westphal/netstat/node.1/info.Aug1989//Fri Sep  1 00:07:47 1989 /usr/backup/v/v7041/678
/n/westphal/netstat/node.1/info.Aug1990//Sat Sep  1 00:04:59 1990 /usr/backup/v/v12949/196
/n/westphal/netstat/node.1/info.Dec1988//Sat Dec 31 23:58:41 1988 /usr/backup/v/v4916/359
/n/westphal/netstat/node.1/info.Dec1989//Mon Jan  1 00:10:58 1990 /usr/backup/v/v11119/1708
/n/westphal/netstat/node.1/info.Dec1990//Mon Dec 31 23:59:29 1990 /usr/backup/v/v13695/959
/n/westphal/netstat/node.1/info.Feb1989//Wed Mar  1 00:07:00 1989 /usr/backup/v/v5452/0
/n/westphal/netstat/node.1/info.Feb1990//Thu Mar  1 00:09:31 1990 /usr/backup/v/v11639/399
/n/westphal/netstat/node.1/info.Feb1991//Fri Mar  1 00:11:02 1991 /usr/backup/v/v14067/654
/n/westphal/netstat/node.1/info.Jan1989//Wed Feb  1 00:16:34 1989 /usr/backup/v/v5213/353
/n/westphal/netstat/node.1/info.Jan1990//Thu Feb  1 00:11:42 1990 /usr/backup/v/v11422/244
/n/westphal/netstat/node.1/info.Jan1991//Fri Feb  1 00:13:15 1991 /usr/backup/v/v13853/575
/n/westphal/netstat/node.1/info.Jul1989//Tue Aug  1 00:14:22 1989 /usr/backup/v/v6731/492
/n/westphal/netstat/node.1/info.Jul1990//Wed Aug  1 00:08:57 1990 /usr/backup/v/v12731/72
/n/westphal/netstat/node.1/info.Jun1989//Sat Jul  1 00:12:11 1989 /usr/backup/v/v6478/48
/n/westphal/netstat/node.1/info.Jun1990//Sun Jul  1 00:22:29 1990 /usr/backup/v/v12506/829
/n/westphal/netstat/node.1/info.Jun1991//Fri Jun  7 00:19:34 1991 /usr/backup/v/v14713/641
/n/westphal/netstat/node.1/info.Mar1989//Wed Mar 15 00:08:05 1989 /usr/backup/v/v5581/503
/n/westphal/netstat/node.1/info.Mar1990//Sun Apr  1 00:00:46 1990 /usr/backup/v/v11895/88
/n/westphal/netstat/node.1/info.Mar1991//Sun Mar 31 22:56:17 1991 /usr/backup/v/v14272/174
/n/westphal/netstat/node.1/info.May1989//Thu Jun  1 00:19:23 1989 /usr/backup/v/v6243/266
/n/westphal/netstat/node.1/info.May1990//Fri Jun  1 00:05:46 1990 /usr/backup/v/v12400/686
/n/westphal/netstat/node.1/info.May1991//Mon May 27 00:03:17 1991 /usr/backup/v/v14641/663
/n/westphal/netstat/node.1/info.Nov1988//Thu Dec  1 00:08:38 1988 /usr/backup/v/v4631/375
/n/westphal/netstat/node.1/info.Nov1989//Fri Dec  1 00:29:00 1989 /usr/backup/v/v10896/81
/n/westphal/netstat/node.1/info.Nov1990//Sat Dec  1 00:02:43 1990 /usr/backup/v/v13534/566
/n/westphal/netstat/node.1/info.Oct1989//Wed Nov  1 00:30:20 1989 /usr/backup/v/v10677/994
/n/westphal/netstat/node.1/info.Oct1990//Thu Nov  1 00:04:32 1990 /usr/backup/v/v13354/100
/n/westphal/netstat/node.1/info.Sep1989//Fri Sep 29 00:25:27 1989 /usr/backup/v/v7233/294
/n/westphal/netstat/node.1/info.Sep1990//Mon Oct  1 00:15:31 1990 /usr/backup/v/v13165/985
/n/westphal/netstat/node.2/config.Apr1989//Sat Apr 22 00:10:50 1989 /usr/backup/v/v5922/518
/n/westphal/netstat/node.2/config.Apr1990//Thu Apr 19 00:13:28 1990 /usr/backup/v/v12055/805
/n/westphal/netstat/node.2/config.Apr1991//Tue Apr 16 00:07:13 1991 /usr/backup/v/v14400/541
/n/westphal/netstat/node.2/config.Aug1989//Sat Aug 26 00:10:03 1989 /usr/backup/v/v7014/553
/n/westphal/netstat/node.2/config.Aug1990//Wed Aug  8 00:07:45 1990 /usr/backup/v/v12797/779
/n/westphal/netstat/node.2/config.Dec1988//Sat Dec 31 00:04:18 1988 /usr/backup/v/v4911/255
/n/westphal/netstat/node.2/config.Dec1989//Thu Dec 28 00:03:30 1989 /usr/backup/v/v11073/994
/n/westphal/netstat/node.2/config.Dec1990//Sat Dec  1 23:57:36 1990 /usr/backup/v/v13537/1045
/n/westphal/netstat/node.2/config.Feb1989//Fri Feb 24 00:13:57 1989 /usr/backup/v/v5418/419
/n/westphal/netstat/node.2/config.Feb1990//Thu Feb  8 00:12:15 1990 /usr/backup/v/v11489/866
/n/westphal/netstat/node.2/config.Feb1991//Thu Feb 28 00:10:58 1991 /usr/backup/v/v14063/307
/n/westphal/netstat/node.2/config.Jan1989//Fri Jan 20 00:11:49 1989 /usr/backup/v/v5090/82
/n/westphal/netstat/node.2/config.Jan1990//Sat Jan 27 00:21:42 1990 /usr/backup/v/v11385/463
/n/westphal/netstat/node.2/config.Jan1991//Sat Jan 26 23:58:42 1991 /usr/backup/v/v13823/141
/n/westphal/netstat/node.2/config.Jul1989//Thu Jul 27 00:18:25 1989 /usr/backup/v/v6688/651
/n/westphal/netstat/node.2/config.Jul1990//Thu Jul 12 00:06:25 1990 /usr/backup/v/v12578/51
/n/westphal/netstat/node.2/config.Jun1989//Sat Jul  1 00:14:11 1989 /usr/backup/v/v6479/455
/n/westphal/netstat/node.2/config.Jun1990//Wed Jun 27 00:14:52 1990 /usr/backup/v/v12484/1060
/n/westphal/netstat/node.2/config.Jun1991//Fri Jun  7 00:21:55 1991 /usr/backup/v/v14708/516
/n/westphal/netstat/node.2/config.Mar1989//Wed Mar 29 00:14:23 1989 /usr/backup/v/v5728/544
/n/westphal/netstat/node.2/config.Mar1990//Wed Mar 21 00:15:33 1990 /usr/backup/v/v11791/764
/n/westphal/netstat/node.2/config.Mar1991//Fri Mar 29 00:04:51 1991 /usr/backup/v/v14255/499
/n/westphal/netstat/node.2/config.May1989//Sat May 20 00:10:05 1989 /usr/backup/v/v6148/569
/n/westphal/netstat/node.2/config.May1990//Sat May 26 00:03:19 1990 /usr/backup/v/v12371/706
/n/westphal/netstat/node.2/config.May1991//Sat May 18 00:06:44 1991 /usr/backup/v/v14593/717
/n/westphal/netstat/node.2/config.Nov1988//Wed Nov 30 00:12:15 1988 /usr/backup/v/v4609/109
/n/westphal/netstat/node.2/config.Nov1989//Fri Dec  1 00:32:10 1989 /usr/backup/v/v10896/203
/n/westphal/netstat/node.2/config.Nov1990//Wed Nov 28 00:07:24 1990 /usr/backup/v/v13515/1032
/n/westphal/netstat/node.2/config.Oct1989//Tue Oct 31 00:36:53 1989 /usr/backup/v/v10670/1025
/n/westphal/netstat/node.2/config.Oct1990//Wed Oct 17 00:05:10 1990 /usr/backup/v/v13272/216
/n/westphal/netstat/node.2/config.Sep1989//Fri Sep 29 00:27:39 1989 /usr/backup/v/v7229/967
/n/westphal/netstat/node.2/config.Sep1990//Sat Sep 22 00:07:11 1990 /usr/backup/v/v13109/741
/n/westphal/netstat/node.2/info.Apr1989//Sat Apr 29 00:15:45 1989 /usr/backup/v/v5982/565
/n/westphal/netstat/node.2/info.Apr1990//Tue May  1 00:16:45 1990 /usr/backup/v/v12161/299
/n/westphal/netstat/node.2/info.Apr1991//Tue Apr 30 00:15:08 1991 /usr/backup/v/v14483/516
/n/westphal/netstat/node.2/info.Aug1989//Tue Aug 29 00:19:37 1989 /usr/backup/v/v7014/627
/n/westphal/netstat/node.2/info.Aug1990//Sat Sep  1 00:06:40 1990 /usr/backup/v/v12949/584
/n/westphal/netstat/node.2/info.Dec1988//Sat Dec 31 23:59:38 1988 /usr/backup/v/v4917/359
/n/westphal/netstat/node.2/info.Dec1989//Mon Jan  1 00:14:11 1990 /usr/backup/v/v11120/1326
/n/westphal/netstat/node.2/info.Dec1990//Sat Dec 29 00:01:49 1990 /usr/backup/v/v13682/308
/n/westphal/netstat/node.2/info.Feb1989//Wed Mar  1 00:09:56 1989 /usr/backup/v/v5454/171
/n/westphal/netstat/node.2/info.Feb1990//Thu Mar  1 00:12:36 1990 /usr/backup/v/v11632/805
/n/westphal/netstat/node.2/info.Feb1991//Thu Feb 28 00:12:25 1991 /usr/backup/v/v14063/522
/n/westphal/netstat/node.2/info.Jan1989//Wed Feb  1 00:21:25 1989 /usr/backup/v/v5204/337
/n/westphal/netstat/node.2/info.Jan1990//Thu Feb  1 00:14:41 1990 /usr/backup/v/v11421/1207
/n/westphal/netstat/node.2/info.Jan1991//Fri Feb  1 00:15:20 1991 /usr/backup/v/v13854/379
/n/westphal/netstat/node.2/info.Jul1989//Tue Aug  1 00:18:56 1989 /usr/backup/v/v6732/490
/n/westphal/netstat/node.2/info.Jul1990//Wed Aug  1 00:10:59 1990 /usr/backup/v/v12721/443
/n/westphal/netstat/node.2/info.Jun1989//Sat Jul  1 00:16:13 1989 /usr/backup/v/v6471/35
/n/westphal/netstat/node.2/info.Jun1990//Sat Jun 30 00:26:40 1990 /usr/backup/v/v12500/397
/n/westphal/netstat/node.2/info.Jun1991//Fri Jun  7 00:24:19 1991 /usr/backup/v/v14708/738
/n/westphal/netstat/node.2/info.Mar1989//Sat Apr  1 00:12:40 1989 /usr/backup/v/v5748/73
/n/westphal/netstat/node.2/info.Mar1990//Sat Mar 31 00:06:27 1990 /usr/backup/v/v11893/614
/n/westphal/netstat/node.2/info.Mar1991//Sat Mar 30 23:58:10 1991 /usr/backup/v/v14264/1314
/n/westphal/netstat/node.2/info.May1989//Thu Jun  1 00:24:38 1989 /usr/backup/v/v6244/319
/n/westphal/netstat/node.2/info.May1990//Fri Jun  1 00:07:35 1990 /usr/backup/v/v12401/480
/n/westphal/netstat/node.2/info.May1991//Fri May 31 00:17:25 1991 /usr/backup/v/v14662/920
/n/westphal/netstat/node.2/info.Nov1989//Fri Dec  1 00:35:34 1989 /usr/backup/v/v10896/243
/n/westphal/netstat/node.2/info.Nov1990//Sat Dec  1 00:04:01 1990 /usr/backup/v/v13535/646
/n/westphal/netstat/node.2/info.Oct1989//Wed Nov  1 00:33:47 1989 /usr/backup/v/v10677/1407
/n/westphal/netstat/node.2/info.Oct1990//Thu Nov  1 00:06:07 1990 /usr/backup/v/v13354/776
/n/westphal/netstat/node.2/info.Sep1989//Fri Sep 29 00:29:58 1989 /usr/backup/v/v7230/0
/n/westphal/netstat/node.2/info.Sep1990//Sun Sep 30 00:04:10 1990 /usr/backup/v/v13161/863
/n/westphal/netstat/node.3/config.Apr1989//Sat Apr 29 00:15:58 1989 /usr/backup/v/v5983/151
/n/westphal/netstat/node.3/config.Apr1990//Tue May  1 00:17:16 1990 /usr/backup/v/v12156/255
/n/westphal/netstat/node.3/config.Apr1991//Tue Apr 30 00:15:16 1991 /usr/backup/v/v14484/179
/n/westphal/netstat/node.3/config.Aug1989//Mon Aug 28 00:20:30 1989 /usr/backup/v/v7012/532
/n/westphal/netstat/node.3/config.Aug1990//Sat Aug 25 00:08:28 1990 /usr/backup/v/v12904/63
/n/westphal/netstat/node.3/config.Dec1989//Fri Dec 22 00:06:26 1989 /usr/backup/v/v11039/14
/n/westphal/netstat/node.3/config.Dec1990//Tue Jan  1 00:00:26 1991 /usr/backup/v/v13697/691
/n/westphal/netstat/node.3/config.Feb1989//Wed Mar  1 00:10:02 1989 /usr/backup/v/v5457/106
/n/westphal/netstat/node.3/config.Feb1990//Wed Feb 14 00:15:52 1990 /usr/backup/v/v11537/864
/n/westphal/netstat/node.3/config.Feb1991//Wed Feb 20 00:12:06 1991 /usr/backup/v/v14020/868
/n/westphal/netstat/node.3/config.Jan1989//Sat Jan 28 00:13:11 1989 /usr/backup/v/v5179/31
/n/westphal/netstat/node.3/config.Jan1990//Sat Jan 27 00:23:32 1990 /usr/backup/v/v11384/521
/n/westphal/netstat/node.3/config.Jan1991//Fri Jan 18 00:12:43 1991 /usr/backup/v/v13777/329
/n/westphal/netstat/node.3/config.Jul1989//Thu Jul 27 00:21:16 1989 /usr/backup/v/v6696/323
/n/westphal/netstat/node.3/config.Jul1990//Tue Jul 31 00:09:04 1990 /usr/backup/v/v12714/1075
/n/westphal/netstat/node.3/config.Jun1989//Sat Jul  1 00:16:24 1989 /usr/backup/v/v6480/241
/n/westphal/netstat/node.3/config.Jun1990//Wed Jun 27 00:16:23 1990 /usr/backup/v/v12484/1186
/n/westphal/netstat/node.3/config.Jun1991//Wed Jun  5 00:21:41 1991 /usr/backup/v/v14692/485
/n/westphal/netstat/node.3/config.Mar1989//Sat Apr  1 00:12:45 1989 /usr/backup/v/v5749/193
/n/westphal/netstat/node.3/config.Mar1990//Fri Mar 30 00:05:56 1990 /usr/backup/v/v11881/830
/n/westphal/netstat/node.3/config.Mar1991//Thu Mar 28 00:15:52 1991 /usr/backup/v/v14248/364
/n/westphal/netstat/node.3/config.May1989//Thu May 18 00:12:25 1989 /usr/backup/v/v6140/80
/n/westphal/netstat/node.3/config.May1990//Sat May 26 00:03:57 1990 /usr/backup/v/v12372/275
/n/westphal/netstat/node.3/config.May1991//Thu May 30 00:18:56 1991 /usr/backup/v/v14658/675
/n/westphal/netstat/node.3/config.Nov1989//Tue Nov 28 00:28:37 1989 /usr/backup/v/v10875/622
/n/westphal/netstat/node.3/config.Nov1990//Wed Nov 28 00:08:17 1990 /usr/backup/v/v13513/757
/n/westphal/netstat/node.3/config.Oct1989//Wed Oct 25 00:14:24 1989 /usr/backup/v/v10630/508
/n/westphal/netstat/node.3/config.Oct1990//Thu Nov  1 00:06:11 1990 /usr/backup/v/v13350/555
/n/westphal/netstat/node.3/config.Sep1989//Thu Sep 28 00:32:32 1989 /usr/backup/v/v7228/273
/n/westphal/netstat/node.3/config.Sep1990//Sat Sep 29 00:06:10 1990 /usr/backup/v/v13154/1171
/n/westphal/netstat/node.3/info.Apr1989//Mon May  1 00:01:38 1989 /usr/backup/v/v5988/248
/n/westphal/netstat/node.3/info.Apr1990//Tue May  1 00:17:43 1990 /usr/backup/v/v12156/432
/n/westphal/netstat/node.3/info.Apr1991//Wed May  1 00:17:32 1991 /usr/backup/v/v14487/722
/n/westphal/netstat/node.3/info.Aug1989//Fri Sep  1 00:11:10 1989 /usr/backup/v/v7040/598
/n/westphal/netstat/node.3/info.Aug1990//Sat Sep  1 00:06:46 1990 /usr/backup/v/v12948/292
/n/westphal/netstat/node.3/info.Dec1989//Mon Jan  1 00:14:35 1990 /usr/backup/v/v11122/1298
/n/westphal/netstat/node.3/info.Dec1990//Tue Jan  1 00:00:29 1991 /usr/backup/v/v13695/314
/n/westphal/netstat/node.3/info.Feb1989//Wed Mar  1 00:10:05 1989 /usr/backup/v/v5457/292
/n/westphal/netstat/node.3/info.Feb1990//Thu Mar  1 00:13:02 1990 /usr/backup/v/v11637/864
/n/westphal/netstat/node.3/info.Feb1991//Fri Mar  1 00:15:34 1991 /usr/backup/v/v14072/328
/n/westphal/netstat/node.3/info.Jan1989//Wed Feb  1 00:21:30 1989 /usr/backup/v/v5205/486
/n/westphal/netstat/node.3/info.Jan1990//Thu Feb  1 00:14:43 1990 /usr/backup/v/v11422/1028
/n/westphal/netstat/node.3/info.Jan1991//Fri Feb  1 00:15:35 1991 /usr/backup/v/v13852/390
/n/westphal/netstat/node.3/info.Jul1989//Tue Aug  1 00:19:11 1989 /usr/backup/v/v6734/167
/n/westphal/netstat/node.3/info.Jul1990//Wed Aug  1 00:11:05 1990 /usr/backup/v/v12722/859
/n/westphal/netstat/node.3/info.Jun1989//Sat Jul  1 00:16:36 1989 /usr/backup/v/v6480/419
/n/westphal/netstat/node.3/info.Jun1990//Sun Jul  1 00:24:05 1990 /usr/backup/v/v12507/346
/n/westphal/netstat/node.3/info.Jun1991//Fri Jun  7 00:24:37 1991 /usr/backup/v/v14709/460
/n/westphal/netstat/node.3/info.Mar1989//Sat Apr  1 00:12:51 1989 /usr/backup/v/v5749/371
/n/westphal/netstat/node.3/info.Mar1990//Sun Mar 25 04:41:54 1990 /usr/backup/v/v11834/792
/n/westphal/netstat/node.3/info.Mar1991//Sun Mar 31 22:57:38 1991 /usr/backup/v/v14268/1082
/n/westphal/netstat/node.3/info.May1989//Thu Jun  1 00:24:59 1989 /usr/backup/v/v6245/428
/n/westphal/netstat/node.3/info.May1990//Fri Jun  1 00:07:40 1990 /usr/backup/v/v12402/56
/n/westphal/netstat/node.3/info.May1991//Fri May 31 00:17:35 1991 /usr/backup/v/v14663/803
/n/westphal/netstat/node.3/info.Nov1989//Fri Dec  1 00:35:36 1989 /usr/backup/v/v10896/409
/n/westphal/netstat/node.3/info.Nov1990//Sat Dec  1 00:04:11 1990 /usr/backup/v/v13531/444
/n/westphal/netstat/node.3/info.Oct1989//Wed Nov  1 00:33:50 1989 /usr/backup/v/v10677/1742
/n/westphal/netstat/node.3/info.Oct1990//Thu Nov  1 00:06:13 1990 /usr/backup/v/v13350/731
/n/westphal/netstat/node.3/info.Sep1989//Fri Sep 29 00:30:05 1989 /usr/backup/v/v7230/441
/n/westphal/netstat/node.3/info.Sep1990//Mon Oct  1 00:16:24 1990 /usr/backup/v/v13163/126
/n/westphal/netstat/node.4/config.Apr1990//Thu Apr 19 00:15:45 1990 /usr/backup/v/v12055/669
/n/westphal/netstat/node.4/config.Apr1991//Wed Apr 10 00:04:21 1991 /usr/backup/v/v14360/398
/n/westphal/netstat/node.4/config.Aug1990//Sat Sep  1 00:07:01 1990 /usr/backup/v/v12949/482
/n/westphal/netstat/node.4/config.Dec1989//Sat Dec  9 00:30:11 1989 /usr/backup/v/v10976/236
/n/westphal/netstat/node.4/config.Dec1990//Thu Dec 13 00:11:53 1990 /usr/backup/v/v13605/1592
/n/westphal/netstat/node.4/config.Feb1990//Fri Feb 23 00:36:32 1990 /usr/backup/v/v11591/846
/n/westphal/netstat/node.4/config.Feb1991//Thu Feb 28 00:12:55 1991 /usr/backup/v/v14066/922
/n/westphal/netstat/node.4/config.Jan1990//Sat Jan 27 00:24:10 1990 /usr/backup/v/v11385/464
/n/westphal/netstat/node.4/config.Jan1991//Tue Jan  1 23:56:04 1991 /usr/backup/v/v13695/53
/n/westphal/netstat/node.4/config.Jul1990//Tue Jul 31 00:09:26 1990 /usr/backup/v/v12716/1164
/n/westphal/netstat/node.4/config.Jun1990//Thu Jun 28 00:38:47 1990 /usr/backup/v/v12493/604
/n/westphal/netstat/node.4/config.Jun1991//Sat Jun  1 23:57:31 1991 /usr/backup/v/v14677/1
/n/westphal/netstat/node.4/config.Mar1990//Sat Mar 24 00:22:55 1990 /usr/backup/v/v11821/976
/n/westphal/netstat/node.4/config.Mar1991//Fri Mar 22 00:15:15 1991 /usr/backup/v/v14212/294
/n/westphal/netstat/node.4/config.May1990//Sat May 26 00:04:14 1990 /usr/backup/v/v12371/1125
/n/westphal/netstat/node.4/config.May1991//Sat May 11 00:10:55 1991 /usr/backup/v/v14552/527
/n/westphal/netstat/node.4/config.Nov1989//Wed Nov 22 00:35:23 1989 /usr/backup/v/v10842/880
/n/westphal/netstat/node.4/config.Nov1990//Fri Nov 30 00:12:20 1990 /usr/backup/v/v13524/909
/n/westphal/netstat/node.4/config.Oct1989//Tue Oct 31 00:42:14 1989 /usr/backup/v/v10670/1006
/n/westphal/netstat/node.4/config.Oct1990//Wed Oct 17 00:06:30 1990 /usr/backup/v/v13269/673
/n/westphal/netstat/node.4/config.Sep1989//Fri Sep 29 00:30:32 1989 /usr/backup/v/v7232/722
/n/westphal/netstat/node.4/config.Sep1990//Sat Sep 29 00:06:23 1990 /usr/backup/v/v13154/1
/n/westphal/netstat/node.4/info.Apr1990//Tue May  1 00:18:58 1990 /usr/backup/v/v12160/576
/n/westphal/netstat/node.4/info.Apr1991//Wed May  1 00:17:59 1991 /usr/backup/v/v14491/247
/n/westphal/netstat/node.4/info.Aug1990//Thu Aug 30 00:10:17 1990 /usr/backup/v/v12930/1504
/n/westphal/netstat/node.4/info.Dec1989//Mon Jan  1 00:15:13 1990 /usr/backup/v/v11122/1329
/n/westphal/netstat/node.4/info.Dec1990//Tue Jan  1 00:00:36 1991 /usr/backup/v/v13696/1632
/n/westphal/netstat/node.4/info.Feb1990//Sat Feb  3 00:10:28 1990 /usr/backup/v/v11439/11
/n/westphal/netstat/node.4/info.Feb1991//Fri Mar  1 00:15:59 1991 /usr/backup/v/v14070/316
/n/westphal/netstat/node.4/info.Jan1990//Thu Feb  1 00:15:01 1990 /usr/backup/v/v11422/245
/n/westphal/netstat/node.4/info.Jan1991//Fri Feb  1 00:16:03 1991 /usr/backup/v/v13852/5
/n/westphal/netstat/node.4/info.Jul1990//Wed Aug  1 00:11:36 1990 /usr/backup/v/v12720/988
/n/westphal/netstat/node.4/info.Jun1990//Sun Jul  1 00:29:06 1990 /usr/backup/v/v12507/21
/n/westphal/netstat/node.4/info.Jun1991//Fri Jun  7 00:25:02 1991 /usr/backup/v/v14712/6
/n/westphal/netstat/node.4/info.Mar1990//Sun Mar 25 04:55:58 1990 /usr/backup/v/v11833/12
/n/westphal/netstat/node.4/info.Mar1991//Sun Mar 31 22:57:44 1991 /usr/backup/v/v14272/415
/n/westphal/netstat/node.4/info.May1990//Fri Jun  1 00:08:24 1990 /usr/backup/v/v12400/950
/n/westphal/netstat/node.4/info.May1991//Fri May 31 00:17:44 1991 /usr/backup/v/v14661/29
/n/westphal/netstat/node.4/info.Nov1989//Fri Dec  1 00:36:53 1989 /usr/backup/v/v10895/826
/n/westphal/netstat/node.4/info.Nov1990//Sat Dec  1 00:04:30 1990 /usr/backup/v/v13535/647
/n/westphal/netstat/node.4/info.Oct1989//Wed Nov  1 00:39:22 1989 /usr/backup/v/v10677/912
/n/westphal/netstat/node.4/info.Oct1990//Thu Nov  1 00:06:36 1990 /usr/backup/v/v13349/718
/n/westphal/netstat/node.4/info.Sep1989//Fri Sep 29 00:31:01 1989 /usr/backup/v/v7233/74
/n/westphal/netstat/node.4/info.Sep1990//Mon Oct  1 00:21:32 1990 /usr/backup/v/v13162/425
/n/westphal/netstat/node.5/config.Apr1990//Tue May  1 00:19:24 1990 /usr/backup/v/v12156/256
/n/westphal/netstat/node.5/config.Apr1991//Wed Apr 24 00:08:01 1991 /usr/backup/v/v14454/248
/n/westphal/netstat/node.5/config.Aug1990//Fri Aug 31 00:14:45 1990 /usr/backup/v/v12939/739
/n/westphal/netstat/node.5/config.Dec1989//Tue Dec 19 00:43:33 1989 /usr/backup/v/v11015/825
/n/westphal/netstat/node.5/config.Dec1990//Wed Dec 19 00:07:50 1990 /usr/backup/v/v13637/126
/n/westphal/netstat/node.5/config.Feb1990//Wed Feb 21 00:31:14 1990 /usr/backup/v/v11592/512
/n/westphal/netstat/node.5/config.Feb1991//Sat Feb 23 00:09:19 1991 /usr/backup/v/v14039/223
/n/westphal/netstat/node.5/config.Jan1990//Wed Jan 31 00:33:34 1990 /usr/backup/v/v11410/49
/n/westphal/netstat/node.5/config.Jan1991//Wed Jan 30 00:14:15 1991 /usr/backup/v/v13838/1092
/n/westphal/netstat/node.5/config.Jul1990//Mon Jul  2 00:24:10 1990 /usr/backup/v/v12510/605
/n/westphal/netstat/node.5/config.Jun1990//Fri Jun 29 00:50:04 1990 /usr/backup/v/v12498/482
/n/westphal/netstat/node.5/config.Jun1991//Sat Jun  1 23:57:32 1991 /usr/backup/v/v14676/366
/n/westphal/netstat/node.5/config.Mar1990//Sun Mar 25 05:00:18 1990 /usr/backup/v/v11837/580
/n/westphal/netstat/node.5/config.Mar1991//Sat Mar 23 00:13:25 1991 /usr/backup/v/v14218/940
/n/westphal/netstat/node.5/config.May1990//Fri Jun  1 00:08:46 1990 /usr/backup/v/v12402/58
/n/westphal/netstat/node.5/config.May1991//Fri May 24 00:10:12 1991 /usr/backup/v/v14625/225
/n/westphal/netstat/node.5/config.Nov1989//Tue Nov 28 00:30:28 1989 /usr/backup/v/v10875/312
/n/westphal/netstat/node.5/config.Nov1990//Fri Nov 30 00:12:54 1990 /usr/backup/v/v13526/407
/n/westphal/netstat/node.5/config.Oct1990//Thu Nov  1 00:06:57 1990 /usr/backup/v/v13350/904
/n/westphal/netstat/node.5/config.Sep1990//Fri Sep 28 00:08:45 1990 /usr/backup/v/v13145/162
/n/westphal/netstat/node.5/info.Apr1990//Tue May  1 00:19:52 1990 /usr/backup/v/v12156/433
/n/westphal/netstat/node.5/info.Apr1991//Wed May  1 00:18:52 1991 /usr/backup/v/v14491/483
/n/westphal/netstat/node.5/info.Aug1990//Sat Sep  1 00:08:13 1990 /usr/backup/v/v12948/1353
/n/westphal/netstat/node.5/info.Dec1989//Sat Dec 30 00:16:19 1989 /usr/backup/v/v11091/256
/n/westphal/netstat/node.5/info.Dec1990//Tue Jan  1 00:01:06 1991 /usr/backup/v/v13695/831
/n/westphal/netstat/node.5/info.Feb1990//Thu Mar  1 00:14:22 1990 /usr/backup/v/v11630/269
/n/westphal/netstat/node.5/info.Feb1991//Fri Mar  1 00:16:51 1991 /usr/backup/v/v14071/446
/n/westphal/netstat/node.5/info.Jan1990//Thu Feb  1 00:15:49 1990 /usr/backup/v/v11422/832
/n/westphal/netstat/node.5/info.Jan1991//Fri Feb  1 00:17:18 1991 /usr/backup/v/v13853/382
/n/westphal/netstat/node.5/info.Jul1990//Wed Aug  1 00:12:22 1990 /usr/backup/v/v12722/860
/n/westphal/netstat/node.5/info.Jun1990//Sun Jul  1 00:29:27 1990 /usr/backup/v/v12508/352
/n/westphal/netstat/node.5/info.Jun1991//Fri Jun  7 00:26:13 1991 /usr/backup/v/v14713/1093
/n/westphal/netstat/node.5/info.Mar1990//Sun Mar 25 05:04:48 1990 /usr/backup/v/v11837/937
/n/westphal/netstat/node.5/info.Mar1991//Sat Mar 30 23:58:40 1991 /usr/backup/v/v14264/905
/n/westphal/netstat/node.5/info.May1990//Fri Jun  1 00:09:08 1990 /usr/backup/v/v12402/320
/n/westphal/netstat/node.5/info.May1991//Fri May 24 00:10:32 1991 /usr/backup/v/v14625/420
/n/westphal/netstat/node.5/info.Nov1989//Fri Dec  1 00:38:01 1989 /usr/backup/v/v10896/82
/n/westphal/netstat/node.5/info.Nov1990//Sat Dec  1 00:05:04 1990 /usr/backup/v/v13531/639
/n/westphal/netstat/node.5/info.Oct1990//Thu Nov  1 00:07:21 1990 /usr/backup/v/v13351/78
/n/westphal/netstat/node.5/info.Sep1990//Sat Sep 29 00:07:21 1990 /usr/backup/v/v13155/30
/n/westphal/netstat/node.6/config.Apr1989//Sat Apr 15 00:11:20 1989 /usr/backup/v/v5869/18
/n/westphal/netstat/node.6/config.Apr1990//Wed Apr 11 00:15:31 1990 /usr/backup/v/v12002/152
/n/westphal/netstat/node.6/config.Apr1991//Tue Apr  2 00:09:06 1991 /usr/backup/v/v14275/492
/n/westphal/netstat/node.6/config.Aug1989//Sun Aug 27 00:10:31 1989 /usr/backup/v/v7010/570
/n/westphal/netstat/node.6/config.Aug1990//Sat Aug 25 00:10:46 1990 /usr/backup/v/v12906/311
/n/westphal/netstat/node.6/config.Dec1989//Wed Dec 13 00:30:19 1989 /usr/backup/v/v10988/590
/n/westphal/netstat/node.6/config.Dec1990//Tue Dec 18 00:13:25 1990 /usr/backup/v/v13630/815
/n/westphal/netstat/node.6/config.Feb1989//Thu Feb 23 00:14:34 1989 /usr/backup/v/v5411/97
/n/westphal/netstat/node.6/config.Feb1990//Tue Feb 13 00:23:04 1990 /usr/backup/v/v11531/1285
/n/westphal/netstat/node.6/config.Feb1991//Sat Feb  2 00:14:53 1991 /usr/backup/v/v13861/1120
/n/westphal/netstat/node.6/config.Jan1989//Tue Jan 31 00:12:59 1989 /usr/backup/v/v5197/201
/n/westphal/netstat/node.6/config.Jan1990//Tue Jan  2 00:13:41 1990 /usr/backup/v/v11132/1712
/n/westphal/netstat/node.6/config.Jan1991//Fri Jan  4 00:19:02 1991 /usr/backup/v/v13702/202
/n/westphal/netstat/node.6/config.Jul1989//Thu Jul 27 00:21:32 1989 /usr/backup/v/v6693/438
/n/westphal/netstat/node.6/config.Jul1990//Tue Jul 31 00:10:37 1990 /usr/backup/v/v12714/762
/n/westphal/netstat/node.6/config.Jun1989//Wed Jun 28 00:14:13 1989 /usr/backup/v/v6469/737
/n/westphal/netstat/node.6/config.Jun1990//Tue Jun 12 00:14:04 1990 /usr/backup/v/v12485/346
/n/westphal/netstat/node.6/config.Jun1991//Thu Jun  6 00:23:08 1991 /usr/backup/v/v14701/705
/n/westphal/netstat/node.6/config.Mar1989//Wed Mar 29 00:16:39 1989 /usr/backup/v/v5726/276
/n/westphal/netstat/node.6/config.Mar1990//Fri Mar  2 00:14:27 1990 /usr/backup/v/v11660/296
/n/westphal/netstat/node.6/config.Mar1991//Sat Mar  2 00:14:48 1991 /usr/backup/v/v14080/156
/n/westphal/netstat/node.6/config.May1989//Tue May  2 00:12:54 1989 /usr/backup/v/v5995/350
/n/westphal/netstat/node.6/config.May1990//Sat May 26 00:05:05 1990 /usr/backup/v/v12371/14
/n/westphal/netstat/node.6/config.May1991//Fri May 10 00:08:39 1991 /usr/backup/v/v14549/178
/n/westphal/netstat/node.6/config.Nov1989//Thu Nov  2 00:45:55 1989 /usr/backup/v/v10692/842
/n/westphal/netstat/node.6/config.Nov1990//Wed Nov 28 00:09:37 1990 /usr/backup/v/v13515/287
/n/westphal/netstat/node.6/config.Oct1989//Thu Oct 19 00:43:12 1989 /usr/backup/v/v10600/284
/n/westphal/netstat/node.6/config.Oct1990//Wed Oct 17 00:07:36 1990 /usr/backup/v/v13271/77
/n/westphal/netstat/node.6/config.Sep1989//Sat Sep  2 00:16:44 1989 /usr/backup/v/v7041/418
/n/westphal/netstat/node.6/config.Sep1990//Sat Sep 29 00:07:22 1990 /usr/backup/v/v13154/748
/n/westphal/netstat/node.6/info.Apr1989//Mon May  1 00:01:40 1989 /usr/backup/v/v5990/396
/n/westphal/netstat/node.6/info.Apr1990//Mon Apr 30 00:06:14 1990 /usr/backup/v/v12147/933
/n/westphal/netstat/node.6/info.Apr1991//Tue Apr  2 00:09:07 1991 /usr/backup/v/v14275/706
/n/westphal/netstat/node.6/info.Aug1989//Fri Sep  1 00:11:12 1989 /usr/backup/v/v7041/130
/n/westphal/netstat/node.6/info.Aug1990//Sat Aug 25 00:10:47 1990 /usr/backup/v/v12906/387
/n/westphal/netstat/node.6/info.Dec1989//Mon Jan  1 00:16:23 1990 /usr/backup/v/v11122/1314
/n/westphal/netstat/node.6/info.Dec1990//Sat Dec 29 00:02:32 1990 /usr/backup/v/v13681/522
/n/westphal/netstat/node.6/info.Feb1989//Sat Feb 25 00:24:34 1989 /usr/backup/v/v5426/105
/n/westphal/netstat/node.6/info.Feb1990//Wed Feb 28 00:20:32 1990 /usr/backup/v/v11640/534
/n/westphal/netstat/node.6/info.Feb1991//Wed Feb 27 00:21:28 1991 /usr/backup/v/v14058/774
/n/westphal/netstat/node.6/info.Jan1989//Wed Feb  1 00:21:59 1989 /usr/backup/v/v5211/544
/n/westphal/netstat/node.6/info.Jan1990//Sat Jan 27 00:25:36 1990 /usr/backup/v/v11384/258
/n/westphal/netstat/node.6/info.Jan1991//Fri Jan 25 00:13:38 1991 /usr/backup/v/v13821/891
/n/westphal/netstat/node.6/info.Jul1989//Tue Aug  1 00:19:16 1989 /usr/backup/v/v6738/274
/n/westphal/netstat/node.6/info.Jul1990//Tue Jul 31 00:10:38 1990 /usr/backup/v/v12715/568
/n/westphal/netstat/node.6/info.Jun1989//Sat Jul  1 00:16:40 1989 /usr/backup/v/v6476/444
/n/westphal/netstat/node.6/info.Jun1990//Sat Jun 30 00:33:13 1990 /usr/backup/v/v12504/362
/n/westphal/netstat/node.6/info.Jun1991//Thu Jun  6 00:23:11 1991 /usr/backup/v/v14702/72
/n/westphal/netstat/node.6/info.Mar1989//Fri Mar 31 00:14:31 1989 /usr/backup/v/v5740/242
/n/westphal/netstat/node.6/info.Mar1990//Tue Mar 27 00:17:29 1990 /usr/backup/v/v11844/1393
/n/westphal/netstat/node.6/info.Mar1991//Sat Mar  2 00:14:49 1991 /usr/backup/v/v14080/360
/n/westphal/netstat/node.6/info.May1989//Thu Jun  1 00:25:01 1989 /usr/backup/v/v6241/251
/n/westphal/netstat/node.6/info.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12371/151
/n/westphal/netstat/node.6/info.May1991//Sat Jun  1 00:07:01 1991 /usr/backup/v/v14674/622
/n/westphal/netstat/node.6/info.Nov1989//Thu Nov 30 00:30:51 1989 /usr/backup/v/v10887/2026
/n/westphal/netstat/node.6/info.Nov1990//Sat Dec  1 00:05:05 1990 /usr/backup/v/v13530/509
/n/westphal/netstat/node.6/info.Oct1989//Sat Oct 21 00:16:18 1989 /usr/backup/v/v10614/1273
/n/westphal/netstat/node.6/info.Oct1990//Tue Oct 30 00:08:14 1990 /usr/backup/v/v13342/236
/n/westphal/netstat/node.6/info.Sep1989//Fri Sep 29 00:32:41 1989 /usr/backup/v/v7230/762
/n/westphal/netstat/node.6/info.Sep1990//Sat Sep 29 00:07:23 1990 /usr/backup/v/v13154/853
/n/westphal/netstat/node.7/config.Apr1989//Thu Apr 27 00:10:56 1989 /usr/backup/v/v5986/454
/n/westphal/netstat/node.7/config.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/889
/n/westphal/netstat/node.7/config.Apr1991//Tue Apr  2 00:09:08 1991 /usr/backup/v/v14274/291
/n/westphal/netstat/node.7/config.Aug1989//Wed Aug 30 00:21:03 1989 /usr/backup/v/v7017/23
/n/westphal/netstat/node.7/config.Aug1990//Thu Aug  2 00:12:26 1990 /usr/backup/v/v12750/581
/n/westphal/netstat/node.7/config.Dec1989//Thu Dec 28 00:06:36 1989 /usr/backup/v/v11078/430
/n/westphal/netstat/node.7/config.Dec1990//Sat Dec 15 00:08:37 1990 /usr/backup/v/v13613/601
/n/westphal/netstat/node.7/config.Feb1989//Wed Mar  1 00:10:10 1989 /usr/backup/v/v5459/232
/n/westphal/netstat/node.7/config.Feb1990//Fri Feb  2 00:10:50 1990 /usr/backup/v/v11429/877
/n/westphal/netstat/node.7/config.Feb1991//Sat Feb  2 00:14:55 1991 /usr/backup/v/v13861/696
/n/westphal/netstat/node.7/config.Jan1989//Tue Jan 31 00:13:04 1989 /usr/backup/v/v5196/421
/n/westphal/netstat/node.7/config.Jan1990//Sat Jan 27 00:25:37 1990 /usr/backup/v/v11384/2148
/n/westphal/netstat/node.7/config.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13695/1610
/n/westphal/netstat/node.7/config.Jul1989//Sat Jul 29 00:14:01 1989 /usr/backup/v/v6709/594
/n/westphal/netstat/node.7/config.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/190
/n/westphal/netstat/node.7/config.Jun1989//Thu Jun 29 00:15:29 1989 /usr/backup/v/v6470/484
/n/westphal/netstat/node.7/config.Jun1990//Wed Jun 27 00:19:22 1990 /usr/backup/v/v12483/1800
/n/westphal/netstat/node.7/config.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/737
/n/westphal/netstat/node.7/config.Mar1989//Fri Mar 31 00:14:35 1989 /usr/backup/v/v5737/18
/n/westphal/netstat/node.7/config.Mar1990//Fri Mar 30 00:06:02 1990 /usr/backup/v/v11879/596
/n/westphal/netstat/node.7/config.Mar1991//Sat Mar  2 00:14:50 1991 /usr/backup/v/v14089/436
/n/westphal/netstat/node.7/config.May1989//Thu Jun  1 00:25:06 1989 /usr/backup/v/v6241/401
/n/westphal/netstat/node.7/config.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12373/749
/n/westphal/netstat/node.7/config.May1991//Fri May 31 00:18:15 1991 /usr/backup/v/v14666/362
/n/westphal/netstat/node.7/config.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1125
/n/westphal/netstat/node.7/config.Nov1990//Thu Nov 29 00:11:53 1990 /usr/backup/v/v13521/517
/n/westphal/netstat/node.7/config.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/576
/n/westphal/netstat/node.7/config.Oct1990//Fri Oct 26 00:07:16 1990 /usr/backup/v/v13324/413
/n/westphal/netstat/node.7/config.Sep1989//Sat Sep 23 01:01:32 1989 /usr/backup/v/v7191/349
/n/westphal/netstat/node.7/config.Sep1990//Sat Sep  1 23:57:12 1990 /usr/backup/v/v12952/584
/n/westphal/netstat/node.7/info.Apr1989//Sat Apr 22 00:13:55 1989 /usr/backup/v/v5922/337
/n/westphal/netstat/node.7/info.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/976
/n/westphal/netstat/node.7/info.Apr1991//Thu Apr 11 00:09:57 1991 /usr/backup/v/v14373/236
/n/westphal/netstat/node.7/info.Aug1989//Fri Sep  1 00:11:15 1989 /usr/backup/v/v7043/139
/n/westphal/netstat/node.7/info.Aug1990//Wed Aug 15 00:08:27 1990 /usr/backup/v/v12835/513
/n/westphal/netstat/node.7/info.Dec1989//Thu Dec 28 00:06:37 1989 /usr/backup/v/v11078/803
/n/westphal/netstat/node.7/info.Dec1990//Fri Dec 28 00:05:23 1990 /usr/backup/v/v13676/119
/n/westphal/netstat/node.7/info.Feb1989//Tue Feb 28 00:22:13 1989 /usr/backup/v/v5459/412
/n/westphal/netstat/node.7/info.Feb1990//Fri Feb  9 00:19:33 1990 /usr/backup/v/v11503/188
/n/westphal/netstat/node.7/info.Feb1991//Wed Feb 20 00:13:52 1991 /usr/backup/v/v14025/656
/n/westphal/netstat/node.7/info.Jan1989//Tue Jan 31 00:13:05 1989 /usr/backup/v/v5197/23
/n/westphal/netstat/node.7/info.Jan1990//Sat Jan 27 00:25:38 1990 /usr/backup/v/v11385/21
/n/westphal/netstat/node.7/info.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13696/1368
/n/westphal/netstat/node.7/info.Jul1989//Tue Aug  1 00:19:51 1989 /usr/backup/v/v6730/288
/n/westphal/netstat/node.7/info.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/290
/n/westphal/netstat/node.7/info.Jun1989//Sat Jul  1 00:17:14 1989 /usr/backup/v/v6476/264
/n/westphal/netstat/node.7/info.Jun1990//Tue Jun 12 00:14:15 1990 /usr/backup/v/v12486/1198
/n/westphal/netstat/node.7/info.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/858
/n/westphal/netstat/node.7/info.Mar1989//Thu Mar 23 00:21:29 1989 /usr/backup/v/v5662/566
/n/westphal/netstat/node.7/info.Mar1990//Fri Mar 30 00:06:03 1990 /usr/backup/v/v11881/643
/n/westphal/netstat/node.7/info.Mar1991//Mon Mar 11 00:04:41 1991 /usr/backup/v/v14137/704
/n/westphal/netstat/node.7/info.May1989//Thu Jun  1 00:25:08 1989 /usr/backup/v/v6241/549
/n/westphal/netstat/node.7/info.May1990//Fri May 25 00:09:53 1990 /usr/backup/v/v12367/1191
/n/westphal/netstat/node.7/info.May1991//Tue May 14 00:07:31 1991 /usr/backup/v/v14564/457
/n/westphal/netstat/node.7/info.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1506
/n/westphal/netstat/node.7/info.Nov1990//Fri Nov 30 00:13:18 1990 /usr/backup/v/v13528/523
/n/westphal/netstat/node.7/info.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/658
/n/westphal/netstat/node.7/info.Oct1990//Thu Nov  1 00:07:24 1990 /usr/backup/v/v13353/897
/n/westphal/netstat/node.7/info.Sep1989//Sun Sep 24 01:38:01 1989 /usr/backup/v/v7197/186
/n/westphal/netstat/node.7/info.Sep1990//Sat Sep 15 00:11:36 1990 /usr/backup/v/v13057/62
/n/westphal/netstat/node.hg/config.Apr1990//Thu Apr 26 00:22:24 1990 /usr/backup/v/v12134/231
/n/westphal/netstat/node.hg/config.Apr1991//Wed May  1 00:19:18 1991 /usr/backup/v/v14492/701
/n/westphal/netstat/node.hg/config.Aug1990//Fri Aug 24 00:07:07 1990 /usr/backup/v/v12905/696
/n/westphal/netstat/node.hg/config.Dec1989//Wed Dec 20 00:26:36 1989 /usr/backup/v/v11023/724
/n/westphal/netstat/node.hg/config.Dec1990//Tue Jan  1 00:01:24 1991 /usr/backup/v/v13696/976
/n/westphal/netstat/node.hg/config.Feb1990//Sat Feb 24 00:51:26 1990 /usr/backup/v/v11602/777
/n/westphal/netstat/node.hg/config.Feb1991//Fri Mar  1 00:17:38 1991 /usr/backup/v/v14069/622
/n/westphal/netstat/node.hg/config.Jan1990//Tue Jan 30 00:12:59 1990 /usr/backup/v/v11401/418
/n/westphal/netstat/node.hg/config.Jan1991//Fri Jan 25 00:14:08 1991 /usr/backup/v/v13820/1449
/n/westphal/netstat/node.hg/config.Jul1990//Sat Jul 28 23:58:58 1990 /usr/backup/v/v12704/367
/n/westphal/netstat/node.hg/config.Jun1990//Wed Jun 27 00:20:23 1990 /usr/backup/v/v12483/463
/n/westphal/netstat/node.hg/config.Jun1991//Thu Jun  6 00:23:41 1991 /usr/backup/v/v14703/736
/n/westphal/netstat/node.hg/config.Mar1990//Sat Mar 24 00:25:53 1990 /usr/backup/v/v11816/1111
/n/westphal/netstat/node.hg/config.Mar1991//Thu Mar 28 00:18:25 1991 /usr/backup/v/v14247/851
/n/westphal/netstat/node.hg/config.May1990//Fri Jun  1 00:09:39 1990 /usr/backup/v/v12403/202
/n/westphal/netstat/node.hg/config.May1990//Mon May  7 00:19:29 1990 /usr/backup/v/v12236/688
/n/westphal/netstat/node.hg/config.May1991//Sat May 18 00:09:18 1991 /usr/backup/v/v14593/963
/n/westphal/netstat/node.hg/config.Nov1989//Tue Nov 28 00:32:12 1989 /usr/backup/v/v10875/623
/n/westphal/netstat/node.hg/config.Nov1990//Fri Nov 30 00:13:42 1990 /usr/backup/v/v13527/663
/n/westphal/netstat/node.hg/config.Oct1990//Sat Oct 20 00:07:21 1990 /usr/backup/v/v13293/156
/n/westphal/netstat/node.hg/config.Sep1990//Sat Sep 29 00:07:54 1990 /usr/backup/v/v13153/937
/n/westphal/netstat/node.hg/info.Apr1990//Tue May  1 00:21:11 1990 /usr/backup/v/v12157/113
/n/westphal/netstat/node.hg/info.Apr1991//Wed May  1 00:19:44 1991 /usr/backup/v/v14492/943
/n/westphal/netstat/node.hg/info.Aug1990//Sat Aug 25 00:11:04 1990 /usr/backup/v/v12906/1
/n/westphal/netstat/node.hg/info.Dec1989//Wed Dec 20 00:26:57 1989 /usr/backup/v/v11023/919
/n/westphal/netstat/node.hg/info.Dec1990//Tue Jan  1 00:01:39 1991 /usr/backup/v/v13696/1107
/n/westphal/netstat/node.hg/info.Feb1990//Thu Mar  1 00:15:13 1990 /usr/backup/v/v11634/1437
/n/westphal/netstat/node.hg/info.Feb1991//Fri Mar  1 00:18:14 1991 /usr/backup/v/v14071/253
/n/westphal/netstat/node.hg/info.Jan1990//Thu Feb  1 00:16:50 1990 /usr/backup/v/v11418/1006
/n/westphal/netstat/node.hg/info.Jan1991//Fri Feb  1 00:19:29 1991 /usr/backup/v/v13854/186
/n/westphal/netstat/node.hg/info.Jul1990//Wed Aug  1 00:13:21 1990 /usr/backup/v/v12722/300
/n/westphal/netstat/node.hg/info.Jun1990//Sun Jul  1 00:30:12 1990 /usr/backup/v/v12506/731
/n/westphal/netstat/node.hg/info.Jun1991//Fri Jun  7 00:27:18 1991 /usr/backup/v/v14708/960
/n/westphal/netstat/node.hg/info.Mar1990//Sun Mar 25 05:13:14 1990 /usr/backup/v/v11838/275
/n/westphal/netstat/node.hg/info.Mar1991//Sun Mar 31 22:58:16 1991 /usr/backup/v/v14273/228
/n/westphal/netstat/node.hg/info.May1990//Fri Jun  1 00:10:11 1990 /usr/backup/v/v12403/718
/n/westphal/netstat/node.hg/info.May1991//Fri May 31 00:18:57 1991 /usr/backup/v/v14662/922
/n/westphal/netstat/node.hg/info.Nov1989//Fri Dec  1 00:40:17 1989 /usr/backup/v/v10896/204
/n/westphal/netstat/node.hg/info.Nov1990//Sat Dec  1 00:05:41 1990 /usr/backup/v/v13532/127
/n/westphal/netstat/node.hg/info.Oct1990//Thu Nov  1 00:08:13 1990 /usr/backup/v/v13352/51
/n/westphal/netstat/node.hg/info.Sep1990//Sun Sep 30 00:06:31 1990 /usr/backup/v/v13164/722
/n/westphal/netstat/node.hg2/config.Apr1990//Wed Apr 18 00:26:09 1990 /usr/backup/v/v12048/380
/n/westphal/netstat/node.hg2/config.Apr1991//Fri Apr 26 00:07:46 1991 /usr/backup/v/v14467/937
/n/westphal/netstat/node.hg2/config.Aug1990//Thu Aug 30 00:11:18 1990 /usr/backup/v/v12930/1555
/n/westphal/netstat/node.hg2/config.Dec1989//Sat Dec 30 00:17:31 1989 /usr/backup/v/v11087/534
/n/westphal/netstat/node.hg2/config.Dec1990//Tue Dec  4 00:05:11 1990 /usr/backup/v/v13545/442
/n/westphal/netstat/node.hg2/config.Feb1990//Thu Feb 22 00:55:45 1990 /usr/backup/v/v11591/548
/n/westphal/netstat/node.hg2/config.Feb1991//Fri Mar  1 00:18:16 1991 /usr/backup/v/v14072/330
/n/westphal/netstat/node.hg2/config.Jan1990//Tue Jan 30 00:13:27 1990 /usr/backup/v/v11401/958
/n/westphal/netstat/node.hg2/config.Jan1991//Thu Jan 31 00:21:39 1991 /usr/backup/v/v13848/599
/n/westphal/netstat/node.hg2/config.Jul1990//Sat Jul 28 23:59:19 1990 /usr/backup/v/v12704/729
/n/westphal/netstat/node.hg2/config.Jun1990//Wed Jun 27 00:21:24 1990 /usr/backup/v/v12483/1072
/n/westphal/netstat/node.hg2/config.Jun1991//Sat Jun  1 23:57:38 1991 /usr/backup/v/v14675/735
/n/westphal/netstat/node.hg2/config.Mar1990//Wed Mar 28 00:12:19 1990 /usr/backup/v/v11847/636
/n/westphal/netstat/node.hg2/config.Mar1991//Wed Mar 27 00:16:03 1991 /usr/backup/v/v14239/37
/n/westphal/netstat/node.hg2/config.May1990//Thu May 31 00:11:36 1990 /usr/backup/v/v12390/457
/n/westphal/netstat/node.hg2/config.May1991//Fri May 10 00:09:20 1991 /usr/backup/v/v14547/588
/n/westphal/netstat/node.hg2/config.Nov1989//Wed Nov 22 00:38:48 1989 /usr/backup/v/v10841/668
/n/westphal/netstat/node.hg2/config.Nov1990//Thu Nov 22 00:08:14 1990 /usr/backup/v/v13486/1369
/n/westphal/netstat/node.hg2/config.Oct1990//Fri Oct 26 00:07:57 1990 /usr/backup/v/v13327/1071
/n/westphal/netstat/node.hg2/config.Sep1990//Tue Sep 25 00:09:00 1990 /usr/backup/v/v13124/980
/n/westphal/netstat/node.hg2/info.Apr1990//Fri Apr 27 01:07:05 1990 /usr/backup/v/v12135/375
/n/westphal/netstat/node.hg2/info.Apr1991//Sat Apr 27 00:07:49 1991 /usr/backup/v/v14474/981
/n/westphal/netstat/node.hg2/info.Aug1990//Sat Sep  1 00:08:28 1990 /usr/backup/v/v12949/1442
/n/westphal/netstat/node.hg2/info.Dec1989//Sat Dec 30 00:17:32 1989 /usr/backup/v/v11087/789
/n/westphal/netstat/node.hg2/info.Dec1990//Fri Dec 28 00:06:06 1990 /usr/backup/v/v13680/102
/n/westphal/netstat/node.hg2/info.Feb1990//Thu Mar  1 00:15:15 1990 /usr/backup/v/v11638/593
/n/westphal/netstat/node.hg2/info.Feb1991//Fri Mar  1 00:18:18 1991 /usr/backup/v/v14072/517
/n/westphal/netstat/node.hg2/info.Jan1990//Thu Feb  1 00:16:54 1990 /usr/backup/v/v11419/692
/n/westphal/netstat/node.hg2/info.Jan1991//Thu Jan 31 00:21:42 1991 /usr/backup/v/v13848/632
/n/westphal/netstat/node.hg2/info.Jul1990//Wed Aug  1 00:13:25 1990 /usr/backup/v/v12723/911
/n/westphal/netstat/node.hg2/info.Jun1990//Sat Jun 30 00:34:13 1990 /usr/backup/v/v12502/739
/n/westphal/netstat/node.hg2/info.Jun1991//Fri Jun  7 00:27:23 1991 /usr/backup/v/v14709/683
/n/westphal/netstat/node.hg2/info.Mar1990//Thu Mar 29 00:05:55 1990 /usr/backup/v/v11867/620
/n/westphal/netstat/node.hg2/info.Mar1991//Sat Mar 30 00:06:54 1991 /usr/backup/v/v14262/508
/n/westphal/netstat/node.hg2/info.May1990//Fri Jun  1 00:10:16 1990 /usr/backup/v/v12401/217
/n/westphal/netstat/node.hg2/info.May1991//Sat Jun  1 00:07:09 1991 /usr/backup/v/v14671/1221
/n/westphal/netstat/node.hg2/info.Nov1989//Thu Nov 30 00:31:42 1989 /usr/backup/v/v10888/2790
/n/westphal/netstat/node.hg2/info.Nov1990//Thu Nov 22 00:08:15 1990 /usr/backup/v/v13486/1475
/n/westphal/netstat/node.hg2/info.Oct1990//Wed Oct 31 00:09:57 1990 /usr/backup/v/v13348/87
/n/westphal/netstat/node.hg2/info.Sep1990//Tue Sep 25 00:09:02 1990 /usr/backup/v/v13124/1130
/n/westphal/netstat/src/getconfig.c//Tue Oct 16 12:25:31 1990 /usr/backup/v/v13270/83
/n/westphal/netstat/src/printraw.c//Wed Mar 14 10:30:14 1990 /usr/backup/v/v11750/41
/n/westphal/netstat/src/rawstat.c//Mon Oct 15 17:07:12 1990 /usr/backup/v/v13261/822
/n/westphal/netstat/tmp/inap.1013//Tue Jan  8 16:32:34 1991 /usr/backup/v/v13724/420
/n/westphal/netstat/tmp/raw.1013-4.NAC//Mon Jan  7 16:08:26 1991 /usr/backup/v/v13719/1235
/n/westphal/netstat/tmp/raw.1013.NAC//Mon Jan  7 15:30:40 1991 /usr/backup/v/v13719/1105
/n/westphal/netstat/tmp/raw.1013.hg//Mon Jan  7 12:07:19 1991 /usr/backup/v/v13719/1170
/n/westphal/netstat/tmp/raw.1014.1//Mon Jan  7 16:04:15 1991 /usr/backup/v/v13718/568
t�D�-�����:G(�EO(�EO(tdkother/n/westphal/usr/tdk/CONFIG/Hg.Friv/v14725/7973053config node nj/mercury/ merc vcs 2000 512 6000 128 256 2
service enter cfgdump admisc
service enter remconsole admisc
service enter unix adunix
service enter trunk adtrunk
service enter group adgrp
service enter name adname
service enter table adtable
service enter term adterm
service enter tyhost adtyhost
service enter conc adconc
service enter dialer addialer
service enter ? admisc
service enter admlog admisc
service enter file adfile
service enter config adcfg
service enter service adserv
service enter audit adaudit
service enter maint admaint
service enter cons1 adcons
service enter cons0 adcons
group enter crux
group enter dial
group enter arjuna
group enter lingua
group enter dwalin
group enter athene
group enter ?
group enter admlog
group enter cfgdump
group enter admin
group enter psed
group enter Cicarus
group enter dori
group enter tattoo
group enter arachne
group enter Csleepy
group enter Cbifur
group enter Csiriusb
group enter Cbashful
group enter Cbalin
group enter Chappy
group enter Cgloin
group enter gloin
group enter sleepy
group enter Cjbox
group enter jbox
group enter chitra
group enter spiff
group enter cocalus
group enter oin
group enter munchkin
group enter voice
group enter lear
group enter gimli
group enter sola
group enter capek
group enter theseus
group enter laid
group enter happy
group enter doc
group enter thorin
group enter rear
group enter garbage
group enter housay
group enter CHg
group enter scylla
group enter laird
group enter herbert
group enter dectalk
group enter ergo
group enter jerconv
group enter Cthorin
group enter merc2
group enter Csweet
group enter dopey
group enter Ctattoo
group enter Cgrumpy
group enter Cdori
group enter Csneezy
group enter solagone
group enter siriusb
group enter Chunny
group enter sneezy
group enter karna
group enter mha1
group enter phone
group enter astro
group enter nisus
group enter minos
group enter ariadne
group enter hunny
group enter icarus
group enter balin
group enter bashful
group enter bifur
group enter eeyore
group enter gunn
group enter iota
group enter jones
group enter kanga
group enter sapir
group enter sweet
group enter indra
group enter outside
group enter jlhear
group enter bofer
group enter Cdopey
group enter console1
group enter mharit
group enter Ctelebit
group enter IPtiger
group enter moria
group enter ohunny
group enter bombur
group enter obashful
group enter Cbombur
group enter ohappy
group enter IPbashful
group enter Csage
name enter local lingua "''" lingua yes
name enter local arjuna "''" arjuna yes
name enter local siriusb "" dopey yes
name enter local theseus "" theseus yes
name enter local crux "" crux yes
name enter local kanga "" kanga yes
name enter local ogolem "" dopey yes
name enter local Csiriusb "" Csiriusb yes
name enter local capek "" capek no
name enter local mharit "" mharit yes
name enter local oin "" oin yes
name enter local balin "" dopey yes
name enter local icarus "" icarus yes
name enter local bombur "" bombur yes
name enter local scylla "" scylla yes
name enter local Cbalin "" Cbalin yes
name enter local Cicarus "" Cicarus yes
name enter local Cbombur "" Cbombur yes
name enter local lynx "" dopey yes
name enter local tanuki "" dopey yes
name enter local laird "" laird yes
name enter local karna "" merc2 yes
name enter local indra "" indra yes
name enter local bofer "" bofer yes
name enter local mhari ">nj/mercury/mharit" mharit yes
name enter local ohappy "" ohappy yes
name enter local sleepy "" sleepy yes
name enter local gimli "" dopey yes
name enter local arachne "" arachne yes
name enter local coyote "" dopey yes
name enter local CONSOLE "" admin yes
name enter local golem "" dopey yes
name enter local ariadne "" ariadne yes
name enter local thorin "" thorin yes
name enter local obashful "" obashful yes
name enter local Csleepy "" Csleepy yes
name enter local voice "" voice yes
name enter local Cthorin "" Cthorin yes
name enter local spiff "" spiff yes
name enter local bifur "" dopey yes
name enter local dectalk "" dectalk yes
name enter local solagone "" solagone yes
name enter local moria "" moria yes
name enter local gloin "" gloin yes
name enter local housay "" housay yes
name enter local dial "" none yes
name enter local laid "" laid yes
name enter local tattoo "" dopey yes
name enter local Cbifur "" Cbifur yes
name enter local tiger "" dopey yes
name enter local Cgloin "" Cgloin yes
name enter local raven "" dopey yes
name enter local munchkin "" munchkin yes
name enter local sneezy "" sneezy yes
name enter local Ctattoo "" Ctattoo yes
name enter local jones "" jones yes
name enter local sapir "" sapir yes
name enter local dopey "" dopey yes
name enter local Csneezy "" Csneezy yes
name enter local ohunny "" ohunny yes
name enter local happy "" dopey yes
name enter local LOG "" admlog yes
name enter local python "" dopey yes
name enter local Csage "" Csage yes
name enter local lear "" lear yes
name enter local Cdopey "" Cdopey yes
name enter local console1 "**" console1 yes
name enter local grumpy "" dopey yes
name enter local Chappy "" Chappy yes
name enter local bashful "" dopey yes
name enter local minos "" merc2 yes
name enter local Cgrumpy "" Cgrumpy yes
name enter local Cbashful "" Cbashful yes
name enter local sweet "" sweet yes
name enter local cocalus "" cocalus yes
name enter local rear "" rear yes
name enter local * "" merc2 yes
name enter local Csweet "" Csweet yes
name enter local lobo "" dopey yes
name enter local Ctelebit "" Ctelebit yes
name enter local iota "" iota yes
name enter local ergo "" ergo yes
name enter local dori "" dopey yes
name enter local dolphin "" dopey yes
name enter local Cdori "" Cdori yes
name enter local hunny "" dopey yes
name enter local CHg "" CHg yes
name enter local IPtiger "" IPtiger yes
name enter local athene "" merc2 yes
name enter local Chunny "" Chunny yes
name enter local Cjbox "" Cjbox yes
name enter local doc "" doc yes
name enter local jlhear "" jlhear yes
name enter local CONFIG "" cfgdump yes
name enter local jerconv "" jerconv yes
name enter local SPIFF "" spiff yes
name enter local gunn "" gunn yes
name enter local adminHg "" admin yes
name enter local lixo "" garbage yes
name enter local outside "" astro yes
name enter local alice ">astro/alice" none yes
name enter local IPbashful "" IPbashful yes
name enter local dwalin "" dwalin yes
name enter local ? "" ? yes
name enter exchange mercury "" local yes
name enter exchange phone "" phone,astro yes
name enter exchange homer "" mha1 yes
name enter exchange a "" mha1 yes
name enter exchange e "" mha1 yes
name enter exchange merc "" local yes
name enter exchange astro "" astro,phone yes
name enter exchange * "" astro,mha1,phone yes
name enter area mh "Murray Hill, NJ" local yes
name enter area nj "" local yes
name enter area * "" astro,phone yes
cfgdump enter 1 cfgdump adcfg
cfgdump password a18jUSGxZ4w6
remconsole enter 2 admin adcons
remconsole password Ku8uujHZh6ru
unix type enter unixV2 2 unixVcscp 3 unixVp ci2,fim,cpmhs,cpm422,cpmdr
unix type enter unixV1 1 unixVcscp 2 unixVp cpm422,cpmdr,cpmhs,wif
unix type enter unix92 2 unix9cscp 3 unix9p ci2,fim,cpmhs,cpm422,cpmdr
unix type enter unix91 1 unix9cscp 2 unix9p ci2,fim,cpmhs,cpm422,cpmdr
unix type enter unixV4 4 unixVcscp 5 unixVp cpmdr,cpm422,cpmhs,fim,ci2
unix type enter unixT 1 unix9cscp 2 unix9p cpmdr,cpm422,cpmhs,fim,ci2
trunk type enter radian 5 tdkp 6 tdktrkp 3 loopp trkt1,trkhs,fim,ci2
trunk type enter vcsdds 5 tdkp 8 tdktrkp 3 loopp trkdds,tim
trunk type enter tdk2 5 tdk2cscp 6 tdk2p 3 loopp trkt1,trkhs,ci2,fim
trunk type enter dk2 5 dk2cscp 6 dk2p 3 loopp fim,ci2,trkhs,trkt1
term type enter ty12 ty12termp fim,cpm,ty12
term type enter aim aimtermp aim8,aim4
term type enter ty4 ty4termp ty4
term type enter ty1 ty1termp ty1
term prompt "Destination please: " "DKC "
tyhost type enter ty1 ty1hostp ty1
tyhost type enter ty4 ty4hostp ty4
tyhost type enter ty12 ty12hostp fim,cpm,ty12
tyhost prompt "Destination please: "
conc type enter bbox3 1 bbox1p 7,15*24 dsx1
conc type enter wif32 1 wifp 31,7*32 wif
conc type enter wif16 1 wifp 15,15*16 wif
conc type enter wif8 1 wifp 7,15*8 wif
conc type enter isn 1 isnconcp 4,4*9,96 swt,ci2,fim
conc type enter owif8 1 owifp 7,15*8 wif
conc type enter owif16 1 owifp 15,15*16 wif
conc type enter owif32 1 owifp 31,7*32 wif
conc type enter xwif32 1 wifp 15,15*32 wif
conc type enter bwif32 1 wifp 31,15*32 wif
dialer type enter ty12.penril ty12penrilp ty12
dialer prompt "Destination please: " "DKC "
? enter 2 ? dirass
admlog enter 1 admlog logger
admlog password KaN7wNS2K/0g
maint board enter sft vcs 0224 none y 0 none y 0 none
maint board enter ci2 vcs 0225 ci2 y 0 none y 0 none
maint board enter dkap vcs 0217 none y 0 none y 0 none
maint board enter ty4 vcs 0100 ty4 y 0 none y 0 none
maint board enter vcsrepeater vcs 0203 vcsrpr y 0 none y 0 none
maint board enter vcsclock vcs 0201 vcsclk y 0 none y 0 none
maint board enter vcsswitch vcs 0202 vcsswt y 0 none y 0 none
maint board enter cpmdr vcs 0207 cpmdr y 0 none y 0 none
maint board enter trkhs vcs 0212 trkhs y 0 none y 0 none
maint board enter ty12 vcs 0220 ty12 y 0 none y 0 none
maint board enter cpmhs vcs 0210 cpmhs y 0 none y 0 none
maint board enter cpm422 vcs 0205 cpm422 y 0 none y 0 none
maint board enter trkt1 vcs 0215 trkt1 y 0 none y 0 none
maint board enter trk17b vcs 040 trk17b y 0 none y 0 none
maint board enter wif vcs 0252 wif y 0 none y 0 none
maint collect
maint clock 63
maint override 12 cpm422
maint override 20 ty12
maint override 28 cpm422
maint override 44 cpm422
maint override 52 cpm422
maint override 58 ty12
maint override 59 cpm422
cons1 disabled notrace
cons0 enabled trace
unix enter 3 unixV1 256 gloin 96 gloin yes no no no none y
term dev enter 4 1 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 4 2 ty12 13 128 none tty terminal 9600 none n y y none 2brk disc y
term dev enter 4 3 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 4 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 4 5 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 4 6 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 7 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
term dev enter 4 8 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 9 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 10 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 11 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 4 12 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 5 1 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
term dev enter 5 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 5 7 ty12 13 128 voice voice 9600 9600 none n n n none none 0 n y n y
term dev enter 5 8 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
term dev enter 5 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 5 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 5 11 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 5 12 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
trunk enter 6 dk2 4096 mha1 75 none other no none y
term dev enter 7 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 7 6 ty12 13 128 ergo ergo 9600 9600 none n n n none none 0 n y n y
term dev enter 7 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 7 12 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
trunk enter 8 tdk2 4096 phone 256 none other no none y
trunk enter 9 tdk2 1024 astro 256 none other no none y
trunk enter 10 tdk2 4096 merc2 512 none other no none y
unix enter 11 unixV1 256 scylla 64 scylla yes no no no none y
unix enter 12 unixV1 256 ohappy 96 ohappy yes no no no none y
conc enter 13 bwif32 512 16 y
unix enter 13/2 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/3 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/4 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/5 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/6 unixV1 256 crux 32 crux yes no yes yes none y
unix enter 13/7 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/8 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/9 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/10 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/11 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/12 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/13 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/14 unixV1 256 none 32 tty yes yes no no none y
unix enter 13/15 unixV1 256 arachne 32 arachne yes no no no none y
unix enter 14 unixV1 256 ariadne 64 ariadne yes no no no none y
term dev enter 16 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 2 ty12 13 128 none tty terminal auto none n n y none 2brk disc y
term dev enter 16 3 ty12 13 128 none tty terminal 9600 none n y n none 2brk disc y
term dev enter 16 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 7 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
term dev enter 16 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 16 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 17 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc n
term dev enter 18 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 18 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 19 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 8 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
tyhost dev enter 19 9 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
term dev enter 19 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 19 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 20 5 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 20 6 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
term dev enter 20 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 20 11 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
term dev enter 20 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 21 8 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
term dev enter 21 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 21 12 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
term dev enter 22 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 5 ty12 13 128 none tty terminal auto none y n n none 2brk cmd y
term dev enter 22 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 22 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 23 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 24 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
unix enter 25 unixV1 256 dopey 96 dopey yes no no no none y
conc enter 26 bwif32 512 16 y
unix enter 27 unixV1 256 sweet 96 sweet yes no no no none y
unix enter 28 unixV1 256 sweet 96 sweet yes no no no none n
unix enter 29 unixV1 256 moria 96 moria yes no yes yes none y
term dev enter 32 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 3 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
term dev enter 32 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 32 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 33 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 33 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 33 12 ty12 13 128 dectalk dectalk 9600 9600 none y y n none none 0 n y n y
term dev enter 34 1 ty12 13 128 none tty terminal 9600 none y n n none 2brk cmd y
tyhost dev enter 34 2 ty12 13 128 Ctelebit Ctelebit 9600 9600 none n n n none rmcs4tS8PO.I 0 n y n y
tyhost dev enter 34 3 ty12 13 128 Csneezy Csneezy 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
tyhost dev enter 34 4 ty12 13 128 Csage Csage 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
tyhost dev enter 34 5 ty12 13 128 oin oin 9600 9600 none n n n none none 0 n y n y
term dev enter 34 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 34 8 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 9 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 10 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 11 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
tyhost dev enter 34 12 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
term dev enter 35 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 4 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
term dev enter 35 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 35 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 1 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
term dev enter 36 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 4 ty12 13 128 none tty terminal auto none y y y none 2brk disc y
term dev enter 36 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 36 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 36 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 37 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 38 10 ty12 13 128 cocalus cocalus 9600 9600 none n n n none none 0 n y n y
term dev enter 38 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 38 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 3 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 39 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 39 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 40 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
unix enter 41 unixV1 256 icarus 96 icarus no no no no none y
unix enter 42 unixV1 256 balin 96 balin yes no no no none y
unix enter 43 unixV1 256 obashful 96 obashful yes no no no none n
unix enter 44 unixV1 256 bombur 96 bombur yes no no no none y
unix enter 45 unixV1 256 bifur 96 bifur yes no no no none y
unix enter 46 unixV1 256 siriusb 96 siriusb yes no no no none y
term dev enter 48 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 48 3 ty12 13 128 Cjbox Cjbox 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
term dev enter 48 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 48 8 ty12 13 128 none tty modem 9600 none n n n none none cmd y
term dev enter 48 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 48 11 ty12 13 128 Cicarus Cicarus 300 300 none n n n none none 0 n y n y
tyhost dev enter 48 12 ty12 13 128 Csweet Csweet 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
term dev enter 49 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 49 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 49 6 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 7 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 8 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 9 ty12 13 128 console1 console1 9600 9600 none y y n none none 0 y n y y
tyhost dev enter 49 10 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 49 11 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
term dev enter 49 12 ty12 13 128 none tty terminal auto none n n n none none disc y
tyhost dev enter 50 1 ty12 13 128 Cgloin Cgloin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 2 ty12 13 128 Chappy Chappy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 3 ty12 13 128 Cbashful Cbashful 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 4 ty12 13 128 Cbalin Cbalin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 5 ty12 13 128 Csiriusb Csiriusb 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 6 ty12 13 128 Cbifur Cbifur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 7 ty12 13 128 Cdopey Cdopey 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 8 ty12 13 128 Cbombur Cbombur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 9 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 10 ty12 13 128 Cgrumpy Cgrumpy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 11 ty12 13 128 Cdori Cdori 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
tyhost dev enter 50 12 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
unix enter 51 unixV1 1024 arjuna 64 arjuna yes no no no none y
unix enter 52 unixV1 256 dori 96 dori yes no no no none y
term dev enter 53 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 53 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 53 3 ty12 13 128 jlhear jlhear 9600 9600 none y y n none none 0 y n n y
term dev enter 53 4 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 5 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 6 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 7 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 8 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 9 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 10 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 11 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 53 12 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
term dev enter 54 1 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 2 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 3 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 4 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 5 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
term dev enter 54 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 54 7 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 8 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 9 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 10 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 11 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
term dev enter 54 12 ty12 13 128 none tty terminal auto none y y n none 2brk cmd y
term dev enter 55 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 55 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 55 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 55 12 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
term dev enter 56 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
tyhost dev enter 56 11 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 56 12 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
unix enter 57 unixV1 256 jones 96 jones yes no no no none y
unix enter 58 unixV1 256 bofer 96 bofer yes no no no none y
unix enter 59 unixV1 256 jones 96 jones yes no no no none y
unix enter 60 unixV1 256 mharit 64 mharit yes no no no none y
unix enter 61 unixV1 1024 lingua 64 lingua yes no no no none y
term dev enter 62 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk cmd y
term dev enter 62 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
term dev enter 62 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
tyhost dev enter 62 10 ty12 13 128 IPtiger IPtiger 9600 9600 none n n n none none 0 n y n y
tyhost dev enter 62 12 ty12 13 128 IPbashful IPbashful 9600 9600 none n n n none none 0 y y n y
:!C����b�&�R(��O(��O(wtmother/n/westphal/usr/wtm/misc/rawslog/s.inxv/v14725/7983064950	38363
950	38346
950	38337
951	38323
951	38319
951	38314
953	38309
953	38293
955	38285
955	38276
955	38266
955	38258
956	38248
956	38240
956	38231
956	38226
958	38217
960	38207
960	38204
961	38207
961	38209
963	38203
963	38204
965	38200
966	38197
968	38223
968	38222
968	38222
970	38224
970	38226
970	38227
971	38233
971	38233
973	38231
973	38234
973	38234
975	38232
975	38234
975	38235
976	38235
976	38238
978	38240
978	38242
978	38244
980	38242
980	38244
980	38244
981	38250
981	38247
983	38250
983	38247
983	38248
983	38250
985	38249
985	38252
986	38251
986	38253
986	38251
988	38255
988	38253
990	38252
990	38252
990	38247
991	38248
991	38248
991	38247
993	38243
993	38242
993	38243
995	38240
995	38238
996	38236
996	38234
996	38236
996	38235
998	38231
998	38231
998	38232
998	38233
1000	38231
1000	38229
1001	38226
1003	38226
1003	38222
1003	38222
1005	38224
1006	38223
1006	38221
1008	38222
1010	38221
1010	38222
1013	38214
1013	38211
1013	38210
1015	38205
1015	38203
1015	38201
1016	38197
1016	38197
1016	38195
1018	38197
1020	38199
1020	38195
1020	38189
1021	38186
1021	38184
1021	38185
1023	38187
1023	38189
1025	38188
1025	38183
1025	38183
1026	38186
1026	38187
1026	38188
1026	38189
1028	38188
1028	38185
1030	38191
1030	38190
1030	38191
1031	38190
1031	38187
1035	38182
1035	38181
1035	38182
1035	38181
1036	38182
1036	38185
1038	38185
1038	38185
1038	38185
1038	38184
1040	38183
1040	38178
1040	38178
1041	38174
1041	38173
1041	38173
1043	38170
1043	38171
1043	38170
1043	38168
1045	38167
1045	38165
1045	38167
1045	38172
1046	38185
1046	38194
1046	38195
1048	38195
1048	38195
1048	38195
1048	38197
1050	38197
1050	38198
1050	38196
1050	38198
1051	38199
1051	38197
1053	38196
1053	38196
1053	38195
1055	38190
1055	38193
1055	38192
1056	38191
1056	38189
1056	38187
1056	38183
1058	38182
1060	38180
1060	38179
1060	38179
1061	38178
1061	38180
1061	38182
1061	38178
1063	38178
1063	38175
1063	38174
1065	38168
1065	38168
1065	38167
1065	38168
1066	38166
1066	38161
1068	38158
1068	38158
1070	38158
1070	38158
1070	38160
1070	38158
1071	38156
1071	38156
1071	38156
1073	38155
1073	38155
1073	38153
1075	38154
1075	38154
1075	38155
1075	38152
1076	38154
1076	38152
1076	38155
1076	38153
1078	38157
1078	38160
1078	38160
1078	38156
1080	38154
1080	38150
1080	38147
1080	38147
1081	38142
1081	38142
1081	38140
1083	38137
1083	38139
1083	38140
1083	38139
1085	38140
1085	38138
1085	38137
1085	38135
1086	38135
1086	38134
1086	38131
1088	38130
1088	38133
1090	38133
1090	38134
1090	38125
1091	38122
1091	38122
1093	38123
1093	38120
1093	38121
1093	38117
1095	38115
1095	38114
1095	38112
1095	38114
1096	38112
1096	38109
1096	38105
1096	38105
1098	38104
1098	38098
1100	38067
1100	38061
1100	38057
1101	38058
1101	38056
1101	38054
1101	38056
1103	38053
1103	38049
1103	38051
1103	38048
1105	38043
1105	38039
1106	38039
1108	38030
1108	38031
1108	38030
1108	38028
1110	38024
1110	38020
1110	38015
1110	38008
1111	37998
1111	37998
1111	37996
1113	37995
1113	37994
1113	37993
1113	37992
1115	37991
1115	37992
1116	37990
1116	37991
1118	37992
1118	37993
1118	37997
1118	37999
1120	38000
1120	37998
1120	37995
1120	37994
1121	38000
1125	38005
1126	38005
1126	38009
1126	38009
1126	38008
1128	38007
1128	38003
1128	38003
1130	38002
1130	38005
1130	38007
1131	38007
1131	38009
1131	38007
1133	38006
1133	38001
1133	38006
1135	38005
1135	38000
1135	37998
1136	37984
1136	37983
1138	37946
1140	37941
1140	37937
1140	37938
1141	37938
1141	37934
1141	37935
1143	37937
1143	37935
1143	37934
1143	37933
1145	37932
1145	37938
1146	37936
1146	37937
1146	37934
1148	37933
1148	37935
1148	37932
1148	37932
1150	37931
1150	37933
1150	37937
1151	37934
1151	37932
1151	37931
1151	37929
1153	37928
1153	37922
1153	37923
1153	37923
1155	37921
1155	37919
1155	37914
1156	37910
1156	37912
1158	37911
1158	37906
1160	37899
1160	37891
1160	37889
1160	37882
1161	37883
1161	37881
1161	37878
1161	37876
1163	37876
1163	37879
1163	37881
1163	37882
1165	37879
1165	37882
1165	37882
1165	37881
1166	37881
1166	37891
1166	37891
1168	37889
1168	37896
1170	37894
1170	37899
1171	37893
1171	37896
1171	37900
1173	37899
1173	37902
1175	37906
1175	37907
1176	37903
1176	37902
1176	37904
1176	37904
1178	37902
1178	37901
1178	37899
1178	37901
1180	37901
1180	37900
1180	37902
1181	37905
1181	37907
1181	37907
1183	37911
1183	37915
1183	37919
1183	37920
1185	37919
1185	37918
1185	37921
1185	37918
1186	37914
1186	37914
1186	37916
1188	37918
1188	37922
1188	37921
1188	37920
1190	37921
1190	37922
1190	37921
1191	37928
1193	37931
1193	37930
1193	37934
1195	37936
1195	37937
1195	37936
1195	37940
1196	37939
1196	37938
1196	37940
1196	37941
1198	37941
1198	37939
1198	37937
1198	37935
1200	37935
1200	37936
1200	37939
1201	37938
1201	37945
1201	37946
1203	37947
1203	37948
1203	37946
1205	37942
1206	37946
��CK���Y#�!O(�R(�R(wtmother/n/westphal/usr/wtm/misc/squig/trin4.Jun.rv/v14725/79930660.9120
0.9061
0.9141
0.9377
1.0043
�Cc��:h��~R(�}R(�~R(marcia#28428/n/atomic/tmp/si/bQg1.q.conv/v14725/876�
�
�
�@�@A6�A6�A6��@&S�Cz�@{�@��u?I�N@o<
A��?;Ф@�Tt@���>�cQ@*�@A?~A��Aw�{@��z@�t"AE�@��A�}5A3�kA��VA�#@H�GAE�jA��Aȯ@��A4A@��@�7Z@d@*QZ@b7A�dAʐO@��KA��A
��?�ڇ@�,A#`A�VAbt@KI?��>AơnAb�qA%:A�onAzA��@�[A��A*,/A��E?g�@���@�S>p�@�A��?	�<Ah�?�5AAPdMA�VA��xAN�CA*1tAB[NAD5b@C�	A3��?��@X-�@�d_A��@b}A�8[AH��@�xAo(�AG)AS5A��VAK�gAh�A���@�E@i�@��SArc�A�f/A�#?A�w�@]w3@��AI�@��A�?@�@R@��@�6>)�1A��@��A�#�@wmA\�@8�FAQ�A0�@�y^A�M�@ഃ@�aQA:)�A�\Ah>A�6A���?<�
?~��@B��?��A98BA�|A��A��A)m)Ay�A���@+@A���@WAy��@�??��@t�)?��@��@��@.�A1��@���@1?dA��@.��>��9A�"AWX�@�bA��nA���@x��@�jAK�@�\�A��`AI�JA\�@6�;@h�0A�UA�A�"�=|v>3T�?��@�V�@�)A��?��}AXA�KgA�M�A���@tt)Aſ!A���@s�[@��RA]At^rAPBWA"ۿ@�UwA)��AmWA>�^AF�lA��WA�
�@C�?�@��2A��
Ax�A�@B�A�QAK�AJw�@���@fOA�8�@"aAul@�K0Av$YA$(�@�0A�o�A0hCA�_�@@FA�\A�8A	%0AS}�@�z�@���@sogAB�@/�WA�>�@�,A�@GA/ـ@y��?�6A��$A#DAJFA���@Ez�A�x�@cGcA��Ag�@I�IA��7AF�.AA�A��xAz�@��yA�&AX=#A��&@k��@1.A��2A���@�@�A��KAt�5A�L�AR�5A4�uA�F}>�š@��@ۗcA���A�A0S�@�e&A�Q�?��lAr!�@]9FAIqpA�\@D��?Y�A��@b�(@�=5A
�mA�@�@{�@�)A�3%Ay�6?(�bA���@j(A�
xA
�@.�Ax�-Ax��@An@��l@�AE�jA�4A3�~?���A^�A�Ч@ތ�A�leA\YOA��[A�TAl�N@�E6@��?c�@'��A�J�@{�@��@AO4�@�gWAa�@ЮA��D?��7@�)�?Y1@��YAv�A��A�PmA=�@��]A%�@+�>A	�cAz@�@_:@ h@���@fAT�@0�1A�Y�?��@���@�	AЌ|A@AApmA�fZA���?.\�A��A�Yq@�Ar�Q@��WAAE'�?Bv�>�
�?�%A��)Al@y�xAH+GAW��@_?%Ae}uA���@��`A�Ba@w�b?�8A@�W-A��@0�g@�SAK��?��>@{[A��@�j!>/�_A���A_yA�V>|�=A��bA�	A�\�@�5.Ak	�@8�G@��@��A���@ef�@W�"An|WA�j:A��@b�AmlA}HA�xgA��=A5<YA��?^�(@[��?�.?��@�+�@��JA`}lA�nA4��@j�G=6/AJ��?t5@�|9A?K(Aǩ�@�8A�6?���?�'�@�iA�@&vyA��?A
M�AZA�)A�)>@��@Z��@u^AYo~A�@��IA�S0@*&LAN�OAx?�@)hLA�ju@�Z�@G @��xAJ	�A,��@�>�@. A�j�@�:A,AsA��@� A$�A�t�@NJ�@‘VA�A"DA�{A+��?ժ?7.�@"AAK>Ab��@��PA>
�@�|�@���>f��>�A�@��:?N��@08A:KA|��@&�?��YA�A�9�@��kA"hA��@�?@u½@D&�=̊;Aw>?W�?��@��fAn�>A�N\A_�>�ւA�s�@��A#|�@��A*wRA�nAg�MA�0IA��"A� JA�,@$h@��K@�-WAJ�F?Ҩ�@��YAsYA��A��@qFAtA�
A��~A[7�@\z�@��?H�&@_�@��KA�y�@���?���@o��@%�A��JAD`(@D�nA�fA��+@�(A�-6AӦ�@��@z�
A���@,}2A��	A��@��jAK@���@��mA'_A��C@��@�ڛ@��:AcIA�QA�Aa2�@��A�|3A[ނ@S�;?�A�pqA�^@��,@_�A�i4A��y@OoA�b�A�#�@��y@J�<@5�A@o8>A�1%@�m
A}7AA�35A��A?(PA��>@C eAV�A��CA�ۮ?%�*Ay�A��\Ao��@\0�@��\A��mA�qAm�>��@j��?=#�@�!AT8A��KAO�L@Z.A2Ar�A��yA�"@KOOA��@fu�?DK
A��r@S6�>'eA�&�A;�@��?�@�?.t@Ay�@Fđ@�;�@$m.@&��@7�e>�#A��
Al��>$/A�qIA]��@��?ځ�@���@�[�@E�_A�j�@�y�@��OA�P@O�	@�"A^׃AV��@o��?�z@޲�@��"@��A�pA&;lA��A˽!A�"�@}vrA!,�AZANj�A�eA�FA}agA�3�={�#@^oXA5A���@{�x@��A�vA$��A�qTA��t?�E;A:(#A��j@0��@5-JAkg]A��<AX�@�zA��>6CAR@�?��A��@`
5@ك�@nSA:!jA�"(@?@)7sA�(ASvAݬGA�R�?oaQA���@�PA-�cA��FA�A�o�?U}�A��{A'<v@��?A8�%A&$�@�C_@+��@M�0A��
A%��@E�*Av�@=L8A-��?a�2A���@啿?9RJAIT�?�˃A8	�?�@��$@t�@�|aAW;PA@b�A/SR@�9zA��JA>�7AgJ#A�.
AV�}Ab��@��M@��bA���@�1A'�A7mAm�xAc�(@�Z@Y(@�A�A@F�@�yJA�8
A:�?J�A`�AL  Ap)�?A�>`5Z@ہ'AG^9A��?@�sAZ�@|�VAǠ�@s�@oAP?���@��@�A�d�@�t�@��@���@�S�@�gA��A��9AK..A�`}A��-A��>O�QAL�?}�cA�/YAu�CAY:�@�@�~CA�A5=AT>�?A�g@�eA��1A@�g@!T�@v��?@BVA��@D�@��@8��@�aA`4h?$kA$�BA���@	�@�9�?b΁A�ʛ@�2lA��A��qA%�?�� ?��@�6A>�#�@�ˌ@��A:`lA���@��*>8��>�Cv@�r{Aq�3A��?�@A!�@KFCA�dLAy�@^�A���>��@z�MA��@�^@��CAc��@]\�@��eA�#0@�R'A��SA�t�@[�@d�VA��n?m�@�V�@y!U@B�'A���@�q�@�;A�t�A��IA�>�@��A�eA<�@P
o?,�A^�EA�3[A�ikA�;A��WA�r�@>��@꾙?jJ�@V�A�]pA���@�]?=��A��@�?���@�uA��A�JkA�/�@#��@Fݥ@��A��lA�
@��uA7A�v3A��AAB�A��+>��A�$�@A��@R-(A%�@��EA
�&A�ƶ@���@]��?z�k@ՁA��"Ax��@�A8�@�T�?v��@?)F@�z7@�؇@�7~A��&AiwzA���@�mA�o|AšuA�?A%z
A�
�@��#A���@]�#A��0AGȅA���@���@7�@ٸ�?�,IAUzq>���?�?@Iw�?+7!@�#A�8L@��?G��@�.SA���AS�8A/4{A��?L�*A��:@�A�[�@��@A�n@���?5cA��?1v??��A�2?A�/<?!̄A�A?�A}m�?�A���?�-�@�	�AsfmA���@8R�?��p@)ׁA�@Se{@�K�@��@)�D@���@_��@��|@
AA��@�FHAI\
AR��@���@g42A{��@V�\AK"2A<EFAy��@�&�@�kA�DA�RmAyAً�@�c�A�!�@��AwB�@I�2A���@���@ի'Ac�A�-`@�AQ�A�+As��@��@|�F?
hKA�V�@��>=�@�
A-��@�H�@L	�@�LO?�>�@��1AAp
A}�A�gA_�@X��@"�@�uA>=>A))>�Ҭ@=��@���A���@��@4�AA7A+A���@��<AӅ_@� .Ajg�@h�pA�"^>��HAD�C?mswAdA��@Z�A��]AN��@"T�@�chA��A��PAH�A^�@�F*@�=A �@�=A�J�A�|@%@9'9A�/rA��zA�3yA9p@��|A(�WA�y�?X�@ A Aw�UA���@)`?�t>��qA��&A�~�@��A��@ٚ�@A��#AՇiA�?�ieA�2A���@S��A��@r�lASɀA�&\A�sA��.A���@�S�?�UA|�@&�\AȜ�?]9Aciu@B�A��:?0*�@��A��)AKHuAeA3�kA��@��QAH	dA�SA�P�@t�@`��@�a@R�~A���@_a@~{@���A[�;A�uiAW�?[WAI.A��>���?�8�@�"A�J�@mcAzj�@k�zA�*AY��?�TAa�>@��A�g*A���@��@T3A̮�@�ŭ@��%A�:E@�gBAHu1A�9@v;�A�_A��?&��@)��@0\*Atn�?�mA���@��@ї�@�� A�y�AJ��@��TAS�@��@��SA���?�5(A@Y�?���@�5HA��@���@�)qA��zA��}A��sA���?�o@y�A�3�A>Y�@���>c�?�Ҷ@���@�pCA�?HA�WA��pA��>'�=A��@!��Aj��@V�A?MDA��i@��>@��@�[�Ajm$A7A���A�7A�� A��A�j
AHA|�'A�E�A]
ARfG@���@Ժ�?R��@��rA��GA���@f�AA�PA�CA�.A��@Y>A��@��uA9��@��AC{;A۪�@̲3A�_�@�9$@ۃA�JA�h@m@C)A)O�@��$A
�|A��NA�h�=�A��?@~n@�zQA��A��EAtCAX�@��@��?��@@��A�FA�|@��_@|W.A�J�@��wA��!A���@�.�@P�yA�@���@�2"@`zP@U�pA���?[PA��?[�A׀TA��2A��@�r@�pAsA�
�@�88@
T/@�+bA
A�@g�A��?Am}TA6@�1�@�]�@K?~A��.AC[A�K�AȖMAP�A�)>>��@���?���@cl�@�mA��.A3:AA�
�A�XAuA�eA�f�@�IA|xAy��>,�oAP��=�5[AƁjA'AA�yA��@8;{A^�n?1��@��A�62A���>K�@��AA{.FAi�(A���?��!@l�?|A��A��?B�:A�KA�\Ahн@[A�U�@0�lA��J@�#A\��@$d_A�]P@�w?J�	A���@GŒ@$
aAyaA4�XAN�@�
;@N�@l�lA�A]��@��@rs,A#LaAn��@�(�@Y?�|A�JxA��A7:j@K�|Ax�?�b@�[�A.�R@��WA'�@��+A>�$A�@�DtA�n!A��A�EiA�� A$�A�DUAO{�@cA�Y@�v�@���@`i�@�z�?��]A��vA�jA�A�Z�A8�&A�k�@$�A��?��t@?P�?��3A*��@��TAŵBArI�A��2@�A��5A���?�`�@Qw	@jgAu,�?5��@�#1A8]jA�WA�AMAt\vAi��@4IVA�Ao}A��%@'��@aSeA<�A�&A�4A'�-A�tkA(�Y?<r)A��@�@A�A�@[��@!ζ@=WAmg"@�A��IAs�1A3�f?p`A1ǀA�NA�J?AB:@�g
@,yAiA��A
�@�YgAK�CA+�@�!�@��7Ags�AM�?A�6S@�B@�]SA�\�@��N@�	M@S�kA[
Az��@��A��
A���@i��@��,@�{�@�8v@�|A�XA�z@#�,A]LA�lfA�s.A�cFAķ3AP��AWAE�	A@�A::�@�M@	7�@7��@w��?�ê<�4AwyRA)nA��
A��UAj�@u�@���?��BA�@�3�@?�DA�xAO$Ao�EA�v@��@rj?�Qf?Q�@;6>�xmA�qVA��@�x�@hvyA��\A_GA���@N�8AЄV@���@_�4A��A-$F@�vAx[A$�@��<@4rI@���@�v�@ЦA�}ATw�@�AwnA�7�@�oAt�@}*$A�}A�
A��]A��hA�4h?�8A|�%A�5wAxgxAaEPAy�A(`iA��?��?p{A78GAv:@s��Aa,�@�<TAQF,@�"hA���?��ZAK�@�_NA��T?!v�@�|�=�Cr@,tA�X�@�O3A�pA���@�� A�e@�+"@�`A��?Zlf@X�bAnY'@2)eA 
A�/@�,]Ae�=>v��@�xwAr>�@�'�@�+}A_��@~s�@#a�A�k`>p~AA��@�q�@�fAa��@�;A%�5@���?:�[Ax6@�(A�lAů�@ic�@�tbA�C�A�?�@DJXA�!A�LA�^A��3A���@?4�?"�_A�$�@��@�9�@l�-A��>��X@�ɳ@��@@@LA���@�bA"A[�Aa�>/p>Aou�@~�2?�~6A��@ϻ'@��ApA��nAUŅA��2A��VA �QA�B'??i�@� �@�
@�$A�nWA508AO��@-�@]"A�
~A�;�@��?��@��[A@"CA+*!A6z�@�LoA^iA4@e�AHsA�wA�N[@S�1ALf3A��@�,AʛA_u}A���=�dA�~A:B@��A�K�@j�AK_�@pVCA�4-Ao+�@D�B@a�A*��?��zAbY4A��@��1A��a>g?�@F�@)zFA0AT�sASO@� A.�{AacB@o׀A��gA޷A�Qy>�F:A�v\@x4�@��y@�W@8�A!�A�l>V�A���@U3@�gA�Q5A�C�@�F�@m�@�/�@���<L�&A�m�@�/Ap�EA�?���AI�@�{A�1A��A�H�?�h�?��wA��@�'�@�_A]��@�n4A�2*A^�@�@Aޯ�@JARD�@��@�?7�?�x?�YA�62An#OA‘v@R`�@�LA�xAi�WAF�?נ�?�sA�#�?'�!A�@䨅A�4�@�(�@��"A��FA|p�?�DAe�e@
�A&IA�8A�KA���@�hHA7�>�mA{��@Na�@]�A��?G�NA���@�7�@���>�<;A8A�<"A��@t��?m�A�B�@�Z:A˗�@�
AA?��w@�?A��@AV��@�bAi�x@.
dA
�BAh�-A��Aj01AB�\Ao��@�܇@H�yAq�@�}@Y�IA�dA�2Aض�A<ld@��@Ѽ^@�qBA�IYA7��@�A��DA�UA��@-��@��j@��\A4�8AnA�4A��@Y`oA�8�=�(�A�VVA$�/@�4A:�A�T3A;Au�@��
AZ��?D�9A�@u�CA�Ae?h
@��d@]A)�A5*�A�$AC
�?��@�6dA%$/>�)`A�=@p�Aã>@�?���?C�AR�@���@��~A���@��iA�6�@[�5A9"@�b>��A[�]AY7�@2�@�*A��xAOt.AtA�zVA&h.A.pAD�r@:	�@�:A,vA��=A��p@Y�~Af�[<h�_Ah�@�UD@@A{A�*}@ꟁ?KA�mkAPj6A�"Aǭ�A��^A>�@g
pA�6A{�>A
^�@NhA /GAvGh@DM|AS�`A��@�H6AT�n@(��@���@�E�@e�?A7i�?���@�i�@���@��iA(�uA��oA���@��@�	n@�@?��cA��L=��@̯�@�ރA�tA�u�A_gwAЕfAE�HA}J\@.p8A�FA���AO��@Ő�A?I[A�>�@�O?��f@NN�A�bA��@QX`Ar�pA��OApg A?�>@M_*A_:?U�@�LAF��@�G@1�>A���@½A��1A;�@A��>A��@vo=A��)A�JA�Һ@�� @��@)�#A5$�@$Ai@�?��FA\�fA&��A<Ԟ@��aA"�cA�B<Ao2I@qc@�V=@䎫@��
Ar�EA��@�A�� A��?mAs=V@�PfA��=>��@U[?�@A�$@�
�@��A�QA@#KA�&vA�sAO@��A+��@�q�A���@,�RAHw�;�X�@�5�>�A0�)Adn2?��A�xA�l�@ت�@ScAд@�
A��EAa]zA�!@EA3FXAݢyA�K+A��A�pA<�Aw��?j'A�R�@�=�@"��@�AU�?AϓA��@��KA��@��YAذv@�7A㩄@2�?�+A�@}	-A�F9A�1�@�!AVF�@^zcA2�Aٔ�>y%@�K�@���@솆A�sA@�u@U3�?��p>*O�@C�+A-c�@;�
A�	@�'A��@�l=A�}A��A�- ?��CAoJAP	�?n�^A.>m�AZ��@�>v�A��A�eAA���A�1�@�A4�5A@WIA��@���@�ZA�A���@k�YA�:"@�r�@wB�@�9PA� ?��/A�A�ZF@sˁAo��@
��@��eAGoA��2A�6�@�q@��Ad�sA'�-A�� Aʸ�@���@�$Ab�?V��A�2�@�/KAJq�@��?�OgA+�@�@wP�AN�A�`AAg��@+��?�*�@��+@RJ�AW�u@?�
@�F
@6�b?�+LA�>.A��e@��Ai�QA��^Aޡ~A�xA/5�@���@��:A�C0@ǘ>��@���@b��@�=@�G>AnA'|�>y՞@�b]A,��?�_=A�I4A*XA,1�@��fA�E`Af��?9ԂA�VA
7�A9�A&��?f1�@�>�@ �!A�k,A�A+H.?�A�5hA��wA6UA�B�@��>e�&A���@��eA�PA��@��9A��#A�p]A���Aq�GA�V@��?N�K@UZ?K��?D`KA�&@��A��:A7�,AO��?>��@~|Ar�!A�@���@A_A@�"@%7nA�JAj�=��?T6AN9?��A�>�?(�A|�5@z��A��?T%A��N=@?a+EA`�>T�A%X@d-{?ܖ�@?�TA��@s��@˧o@9EA��X@��~A��qA&�?\�WAk��@���@E�ABNAQpA[�BA��mA�zIAB�\@rQTA��?�9A���@ A�ap?�[XA�A`A��@�9A;�@��?�A��5Aa,A'�CA�{)A!��?:�Aa=@"x�?�|AsnAߎ�@��CA�MA��[@�4A��?Y�>�@[�AbU�@��@^�'AP_�@8A/	�A�'�@�xA���@���@_��@�Ѷ@���@�
�@h�@_��A�ЀA��HA�fA��VA+nA��CA]�^A��`@̤�@d�A�%@A�%E@��mA�M3@i�@A`5�@�X=@%/�@$��>DxYA�"�@*Abj�@�%*@:�Y@XXAD\A�@(�L@�y)@��MACb�@;y@F��A.9�@P�NA���@��AA}�@[�Q@Q��@�$�@���@VLA��iAd�@A�D�?c�pA^�AtiTA9��@�5rA.>$@{:/A��A>�@DSA���?LpA�c@�jA'�UA�YqAU0�@�y\A�-@�A;ҁA�r@?��@��\A`QmA%�A<�o@,8@��@]5[A^ܖ@V�?�,�?G�YA˨RA���@1��@y�@���<�܆@<4�@��A��DA̶PA�a�@�t?��XAo�^A���@���A��?�XkAs,AΡ�@��?�1u@��x?6z�@�@�bA~JA�nA�d�?��m@ز�?�$Y@,�>ږ�?�@���@�@�~#A`ji@�o�A���@>�yA��$A>�@K��@*�@�2A��k>C�TA��@�CA!�@3�RA�D�@i�K@K;3A�;EA�&aA�)AT+A��"A�hyAn�D@^��@��A{��@
M�@xS@Ԝ�A%z�?���@�HA��L@K�AA3V@Z�?kg�?�P}A�O�@���A+�A8�A5�S@�Q�@h�(@�?BAyhA�A'%uAe)@0��@"��=�%A��?NApA!K+A'i]A��A+�@�p@Z>_A@
=A��_A�;�?1��@��BAQӀAB�A$��@#�$A�EAL5|AKjSA�0�@��eA�>qAY�?&@aA��@�02Ar��>]G�@��'AcE@�oAc2�@<=fA7��@�xhA��b@�|(AIj
A3yA-��?qL�@X�Y@�Y@i?^�+A��=Aa�BA#�@V2�@�N.?��GA�TA��RA�h�>�:A0%?�k@��1A+��A��Av��@T�RA�>t�T@gr=A��*A!��@���@�7�@u��@��?��oAks�>�ǎ@�N�@�0A�@���@m��?z��@���AB��@T�Ag��@⵼@��zA�A�@9:A=qxA
5A�A���@��-A��?b��?_ZVA8Wx?nt@��aA.�AQ��@�,6Af�KA���AA�tA��t@G�LA��$?�A�gAS�@~`9A�@ip[?<�fA��0?��A���@��u@�@��2A���@
qZA48A� 8A��B=�A�OMA�5A_xA�IO@��AGl�AӨ�?�sAtfA���@'��@ X)?���@��@决@��T?���@�#,Au��@��KA��&Aۄ`A�!�AV��@XA�
�@�Q�@{��@H�kA�aA�m�@A�X�@�c�@=�6A=_6@<i9@3�@kIVA�'A5�@�DApR%@�yA2DRAǁ2Ao_i@
�iAtXyA�M}@)Sd?�[A�4=A�$ABq�>��@�8A�`A8�Ae�LAv�	A��!A�AX'@�@	�'A"u@�O�@��rA�O�?-�Aa{ABcA�IWA	1aA��	A UAF�tAS�?|x@w�NA��?	Ak�$Ad:5A��A��VAR�GA�?�F3AQA��@[�.Akk6A�ZA���@�A�i�@<��@N�@�x@�y@�KA?{@[�-@ަ�@��?K��?K��?���A�NEAǁ6?��s@a�@xj�ADo�@h�@]E�@�y�?N�@��@��n@eb�@}?�A9@��AR?ȩA��e@��NA#C�?���@Bz�?<)�@;�A�pA��@��@��P>7z�@Ag�pA�GAD7�?a_�A�3MAV�@�=�?��@�&@�Y�@<|�A�g�@�/9A��A�iA��@-+rA�!\@��@$8A$�@��rA
�A(�@��A?�\A7=aA괩@�%@8A�A�uCA�K?��@#�A)�^A�)Â,A1�A1A�>^}<A�	A$AMsC@U��@���@F�?^i�A��@��FA�(A,�A�@AՒQ@F�vAU#Ayt�A��{A
�[A��sA�G@ScAR�>AG5A��8A��@�SA�=A�{}?<�A��9A��A4@A�o!Ab5@yVA�h�@niA xA��A�?C
]@��,A�ABEA�5A�r<A�_'@_�EA��Aߓ_@�BA���@,u?A��A�@So<J�8AS}rA	
@A�
�@G<FA�A�A��RA�m�>��@�?A�@�A?0NA�]A���@�eXA��+A�lA�oL=W :@��A���@u=LA{��@�QA6�-@��BA�/A
�*A�j�@�WR?��lAheA
�@�m A�!A%;PA��$A	@XA@6M?So0A�h�@b�A��AH�uA�@U�\@�oqA�LAS�<@b��@�C�@��5Ab��?�#aAX�6?l��@��@��3@�9Ad�;A�MZ?�ArAE��?�g?�RA �OA	��@��?|�D@��l@�.,AN�@_Am�;AÕ�@��#A?K�@�KA�qA��fAI�;A�@�?9A���@� 	A��vA0��@�"@J�XA��zA�.z?��/@N�jA��&AV�?�U�@��4A��$?Y&�@f�3@i�@���?��A�uk>x2AK7H?�R�A_UA��?i}n@b��@���@�@btAޭ_AE�?S?��6?F�u@��A��@8C&A�K(A�srA�,.A��4?��{A'�8@j��@��#A}/SAa^�@��@=g�@��A�b�?ݑ�=Z�Al��@��?A]�?��:@��A�O�@��p??�@z�"@Q�wA٭@��j@���A�'5A��$Ap�aAAÕ@V�,A��AD�xAZ��?�z:Ab9`A2�RARCaA
)A�o�?�^A<9Aբ@X�?���@�@&A��An|AXD�?f��@
y�@��@ �@�X->���@տA�؂@PaAY��@�e�?��`Aj�Aq?�@�rA~�*@�?
ZG?���@M�@�tA
8J>alfA��	A���@�&?��A�%L@��A��=@�=.A*�2A�
�AEn�@��A��HAjM�?�
+@�f�A�=\@��@֬�@!Y:A�yAwj�A��@{�@w��@7�A�A��Ah��>��~A��\Am˅@�=8A�گ?�ނA�ߋ?\>�@���@�1eA�A��7AsOAx�A�#"Ao�GA��@L�yA�Z6@j��@e�CA�<�?|[�@�NA(C$A=�A]hH@�;%@�@A�\AGwyA��@2\�A�B�@5'o@�yA���@��b@mg@Eã?o@�@<�@���@��zA4J@�f/A8�f@�Y�@��lAk�>�ThA�8AQ��@�RA�qA_� A�NA;AyKpA;��@��]@���@���?���@�;AQm~AbЅ@��A���?�kmA��eA��A<�?�*A��A{�bAy�y@N%�A�kAM@�gxAg��A+��@2�AZ|�@")A�J�A\[,A#�Z@n�1@gFA�0�@��@H�@V
A0��@/� AA2�?`AO�?�QA;,A>AM��@�OAP�>A��A~��A�6A��@�}]A�A��(AC�^AykA��@V�*A�A��@�@�*A��QA־OA��A��gA��JA���@
�$A��jAh݅AT�mA\
HAȁjA�d{A��AG��@��@�@�QA���@�-+Au2zAR�@�#�A�!{@�&�@f@%@%~7ATkcA��{A�j@��@R��;x{�@�6@q~;AQLGA(�@~6�>���>�pA(mA�
@A��
A��ABʾ?��@vAYO�AXԼ@f�*AxQ�A8��@1u�>0��@#.AdA��@fAN=uAaf�@<�L=���@]�`A���@��@�z@�@@��tA��B@�oZA��vA�uMADq7A�A+�=AR�;A�\S@b��@�	A��A,E�@i/@A3v�@�B@d%2A�=iAVpF@)zA���>!�DA@$A�}@q�<A$S�@̰%@d�@A60
AYK�?ߝNAv&>A:�
A�=cA���@l3�@ǷO@!��>�^�@��UAݕA�@�~FA0�@�<Ap�LA���?F��@űTAv/@�?�A�>r?��@�@op"A%A�)A�ɡ?�5
A�GqA�t@��=��@8h=M�$A�p�@��?�lAn0)A�XhA
�PA�RAj�;@p��@FQ�@v	A��"@���@���@A�i�=�
Q@��@�>Ao�=@�1%@V#�@>�A䶯@Tw�A:��@�Y@���?��@Eb@�AA*�sA��{A=�A��@j$`A���@�)A7
�?^Ԭ@�hbAf�?�@2N>�j�@X%A6�@[@|A�a>�Y�@��>o�)A*Q�?��`AN�!A�UK@�M�@��Aj�A4��@V��@4�mAU.A�(�@��t@�VA+HsA��A�UA@�@pu)AI��@:��@�դ@��@\QAo&DA.I�@�-A�z�?NCaA{ A��BA1��@��tA5�Aj�YAN_@��A��A��DAn{A�S�@-�~AR�P@�c6A!�r@��@�n&AU�Ax�
AY�-A�h�?���@i&�?���A��A���?�I�@�JZ@m�@*�!@N�@F�A"�aAD��@�(�A]�@�:A��?�RAv#@�z9A�n�?J��@���@�$U?��kA�6MAj�e>�'UA+�
A��~AH�4A�1�@H�;A�Z]@�Ý@·kA+�YA�(�?=eO?�oA�G|A6��>O,�@�Q�@oWA���@,J*Avř@�WA�=�A�~A\��@��A�[@�#A�nAz	"A�{�A�cA�.A�T�@�ˋ@�0ABϺ@�A��+AB
cAi��@�Ҋ@�?A/�5@��@i�@�Tq@��~A'�9@���?܉�@=��?f:�@.!iA>�HA6��A��0A��@�0�A��%?��BA�#4@=eA���A갹@DjgA�?A��
A��@�g0A�'6?xǔ>�'A�ktA�(�@�v�@��@���A?�A�PSAͭ�@A�@�?A��Al~AxEH@�:�@���?��
A��%A���?=�G@�%Ar\@��@N:3A�1.AXZA�wHA�qA��A�uA�NAG�!>�J�@�A���@��ZA�GSAT�>�d@�n$A��_A*�@��xA0�$A�,,Ảp>�LA��QA&�H?���Accd@�!�@�AѴcA�+�?��@�UAɮ�At�@�qAL�UA��A��>@]�yA�^A=�T@S�?%i�?�&X@cw(@*O�@uuAp��?^zA�G�@��x@��T?��@�w�@�'CA?r�A�A�p]@	@ƃ�@�y>>�\7@�ˁAUA{�5@G0A�(A��MA�?�@+�A�a�>�~bATjcA�-pA��AXm%A�B;?�3�@ޓ�A�I�@M�>i%@�[8Ae5A���?���@>IA
TA><7AvvA�4@e�A���@�AA�@�:@�M�@U�#@[M�=���@���A�f@\~A:iA��6A§@J�IAL&A�?9AN�KA��@�AWtAӓ#A�\:A�S@$��@ˣt?.�?Z�
AԘ@$��?� 
@��P@bq@��wAA@}@�mA��
A�K@R�;A{
A�'�@N�SAG_�A|A�<>	�@��kA���@{�KA�L�@jé@ƿzA�9A�gA�!r@��\A�u�>)ZAcF�?��@��tA(ՀA�?�$AŰ?@ȌY@F�,A��JA��Aj��@���@=w�?��]A���?�rgAw$B?*K?$1_@SJ�A�i�A��A@S�?i@�U�@S�uAj
�>��A�V�?H
�@qȪ?1�7AJ�@d!\?�4P=���@0�PA�A��1A��
A�CAB��@n��@�s�@T�AaA�AH=	AV��?rI?-A�@I��@K<Y@��iA�?kA�7A��h@TAv�.@��A�7?*}@/�?�vAf�J?�GA�A��@P(LA
��?��@ݻ�@'�A�&A��@��tA1Q@��#A�Z@�koA�U�@�ۉ@�K�=���?1'A� �@MvA�JA��A���?�5r?9FAݤ�@��@&yn?�f A�jA��A��@e�XA��@�~$A���@�i>�}�@`
@ku�@KA6�@A�Q|A��qA�\@�CAX�A�oAW��@
�@'�@%4qA.�@pЃA��LA��?糖@��A�?@di"A��~A�O�?�#kA-�QAl7�@W�YA�.@]kQA@&rA��@�
�@���@���@	�bA�ZA�kAi@���A��-A偃AcW A�6gA�s�@��@?�
'@W�A&��@�Nj@��cA�.AAg� A^�@O�@�ZZ@�sATa�@j�@�LA�dvA�A`@���@�)U?�tlA���>��A"0�@>x�>,UuA�;@��$@q�
A4�@Y�@�tA��@�"�A���?Mx?MI@U�vA�NA���@�N@u�AU�;Ah�4A��{A��@�8A��
A�:'A��@�ŃA��jAq#�@`�MA0.+Ar�As_�@PR@��E@�5!@Ue>Ao$�@-�%A�ٳ@���@3؁A�
AW(o?���@�AcA92A��A�d�@��4A��8A<<A�{ A��\A,P.@f1iAno3A��??�@;NA���A���@\��@�^AV��@�aiA�XR@c�[email protected]�@k�@��f@)�
A��FA,hA%��@��@='.A��`A�zuAm��@'�ZA�'A<��@�u�>��JA��@��qA�=A^A:F,@�LA_
dA_cAƄkA���@��:A		A���>�B,A_�A�aA�+CA
C]Af�AA��LAl��@s�YA�!d?m�\@wϳ@5�`A�[A.X�@=�A.�AA��MA��A���@X��@b�@�@���@ pAږ@�9A�3A�o/A̫�AVu!Ax
�A(�lAb�rA5��@.c�@��{@�>rA�ރAc(c@[C�@ۊRA/��?��A�1�@�ǽ?�B\A�uVA� A0t�@b��@]�?�QA�΀A���?�*�@�@�Y#AЅ@ʋm@�-%A=�AS@��A�^Ah�qA�A<^fA3��@
7A�AAn
~@��z@��@�s\Aӥ@:�@hD@8z�@���@�vm@�/A��@�jA�1�@VF�@u&�@�sAX�\A6<+A�GA4�A�O*A
�AZ75AlitA`'HA��?h�@hՅA�{AR{�AdaKA���A�YC?�@�@p��?�b�@<V�@dB6A2#nA�	J@[�MA+�`A��@
�@��zA��>s�!A��	AUa@Eɍ@"oA��;A|s@�G�@��[AR�;AH�@�@A�7(A�\A�Z{A+l+@��5Af�:AS�TA�D5@Z�4A�kyA�V�A�F)A �@���@�#/A��A��@���@.ZA6G@��FA���?��A>DATnA=�cA?�@�u@��dA�hA��G@�A�WAU�?�jA�vYA��kA���?��?(��@ɒ|Ar�@��
A�F@݃�@&<�@�|dAKmA)�1@��YA��@��mA��	A�r�@�g�@נA�hAt)�@MtTA�q@�aA��oA��zA�(@@���@L�A�w�?97A~�@3z�>��9A|�{A���A�
�@C��?��tA^�KA��X?���A�lAs
m@�tAmWA�9GAjB�?�2�@�
bA�zA�1A���A�'A��A=!uAe�KA��?y�AD��?k��?�v�@�*�@4F�@�8AzA��EA=$A+xI@�OOAT+A��)A�?@l#[A.,�@Uڛ@pr�Ao?�>�OT@_;Aa�A-�LA6�:A,�qA�h`@9_A�@�X=AF��AE�@6(�@W��@��@탅A��SA�>�@n�5AxS$@��@[iA}XA�WAC�wA��kA+@⬦@&�?�m�@�	Ac�@��NA�'A�A���?zV�@�HA“t@�ݡ?�@LAwxAqDŽ@HAYkcA��MA	f�@�� @��@b�'A��A�^�A�F4A1VAij|A�A�{;A|/@��@���?�Z=AIu�A1�A��Ay�@_b�?��@�8�@��?ؖpA$٨@�T?A�DA�¡?j�9A��,AePeA�~A�D�?]��@�3TA�OQA|�@�n�?��@�;�@��@@RCA�M+A DA�cgA*@�:?��A��6A�
@���@s�>���@�TAo�A0=AŒ>V�@ڏKAr��Aw� @��@��x@vsA���@9A}��@n��@w1	AIKA��TA
hIA��O@%�E@�S0A�v;@ޥ�AN0'A��@�,=�5�?[�&A�.iA�C�A��*A��@I8A��YA>�A�DtAJi�@=�
A,�A/CA�>AC�A?�@���@s��@Q�nA@�#A=Aq�?���@'PAY�?�nA�*pARAS��>7)AT�@wAoA�-�AF"r?R��@��Ae�AT�A��?�8�@��A��,AM]�@P�sA��@ڲ+@R�@�V$A[ۘ?	C�@�л? �?;�&A�+�@��?��A@B_A}o�@��@Y�@hGA]�?�PeA8tA��o?�hAۦ�@�+A9A=�VAQC=?<ҋ@A5�@ñ�@�A��;@J�[@�kAТ4AT�@3��?ٙ�@bXA%)?D��?�[@�8PA�+jA���A��@�o/A8�aA��z=}�@�zAl�@	gkA�pU@z^@�$>A��UA�cA��@��2A�+�@�Aw�!Ae�MA^"AA�OeAa`aAT�@�	B@�كA�ZmAU�NA-�|@��@p�.A6uwAY�@�=nAv�AA��>!~A�A)t?��
A��@E�A0$A]�>A+��?�a�@)��?\�?��[AI�TA��`A&�WA8�@u�eA�=�@o�IAD��@���?F8A��@�t�@a�fA�U+A5�k@9�lA�t)A��6@fZ�A30/?�A
dnA��QA�iV>'�8Ap�@!0�@�3EAA,'A�^�?60A��lA0��@���@z�l?݆�@v�?�_@��PA�$�?4�=Aޢ-AA�l~A�w�AOب@s�@7.@�XsA1JAs�$A'B�@�"�@��GA<gA�
�?0�A��Ae�A��?A��XA�p�@@��^A���@$�bAL.BA8GCAB�@?3A#-@��,@QU<@��@�NA��jA�p2AF~FAi*�@�+�AS߄@��vA1�/A��RA?#A1:?�S�@� �<���?è�A�2&A�n�@�j�@��=3E\@FqA?�?�uAt=�@q_@$�@��@�GA`YAJ�k@��A$��@�g<AT@W8�@P9lA9س@߄>A�A��)A?��@
G0A�2qAֱ�?媀AjA��t@��r@,A���@uj�@�&AU3!Aغ?�+oA�R�?�FzA�@��`A��{A�ԉ@�Q�A�`AB/A��AA��#A��A�bA_�@���@���@���@���@�51A̾@�(@�ʚ@��iAEI�A��JA9�@�YzA5�AH(|A�8�@�@�wbA�A���@U:!@�DŽA_AL��@�q;AX�V?xM�?��n@���@�fA���?�0rAk+A̦�Aq�A��A[�0A�J<@�]@�SAx�PA�A~��?$cAB�A!�@��?Wv#@���A��?AW6A~A��oA\uMA���?�AtA�U�?;xA"�@��@ �A�7k@��KA��QA��@L�A�@��Y?��A��@C�Y>�bA;U~@S��?�1@��+A�tA�#x@��@� *A&gA��dA��SAqk�@uA�uA0�wA$г?���@�Z�@G��@;vcA�u�@5��@�C�@��I@3$FA}ƁAVw>�A*�@лA\"/A�??:��A�pyAp�A�Aht_@�I?�YV@m�@r�y@�JA>@2�FA�{�@G��@\wA���Aok@ۥ�?z�?0�p@���@/�~AD?��@^�~@��@��VA
19AlJ_AXD1A�TuA��A��.@RazA%�9A��`A�'OA�AH�>@:ܰ>�*�@L��@^t)A�p#AT9A%�\A�B@���A]PA	p�@KAZ�@�	A&�iAf�AAOSdAp�@��@$�A	�v@�;KA>��>�9�@�mA?�{A�*Az�AM�@�cA|�UA�g�@�
cAxA�xw?�?J}>A�AA�^?�Y@^[email protected]�!�@ߧ;@�*&A�lP@���@��A��@�fA�
"A@�FA��A��&AɆ�A�8AdpLAA�BA�V@ج�A��A^�HAr�ZA�?8�@��h@�>A�=BA�{�@��CAY�6@[EAJ��@��zA��@;��A�\A��NAj�@9�@�[A�l�<AB&?@�PAP�?��@�:@��I>CSM@C+�@,ZA�(|?���@�GcA��@��^A�@�KjA��@j��>���A;�Ap��?�gLAH�^@��AT��@O[@.-(Ak�@{N�@���@ڬ�?��?��@�6�>20A\�+?T�A�0A�sA�}�>�
4A��?:~`A4��@iM[@��@+�vA�
�?IAUK�@�A�p@�^�@�$A�0�>z�@'A���@��qA?H�>C��>-G�@�b?���@I�AQ�A\w5A<+A�=�AOrAT��@��@���@�5_@�
tA�1A^�@��@�t4AW�sAD6dA��@D5A���@�A�b{@���@5*HA&�AĿADTcA�VA�ٔ@K	vA��}A��@y�dA�`A�R�@��@!�%A��@�_XA�O�@�,AJ�lA��3A+�bA�(qA���@<N�A�&@p��A׵�?ZrA_RlA��A��@��'AG�@��5A�=A�@X/�?�}A��A��@?��@�H�@��#A�A��YA/b�@N��?,�"?��@F�mAlQ6?��.@��'A��y@��A�@߬�@�UA��p@�y@݄
A@�?�.=A=E\A��A�\�@eAf��@!XA���@7Y�@�isA	C�@�CARߍ@��:A%<�@��CAV�@��N@��YA�9A�feA��>��^A@\�?��~@2�mAxnA@y�M@��jA>D)Aٺ.A��VA&�6A�SU@�)A��An�ARiUAy��>�IAؠ�@�N�@��?A��Aᙽ@�:A�vcAA=5A�Q=AL�Ayj(A�
AR,dA AB%�@�r.AT{A��ZA��@��A�=�@9�@�8�@
��@?S�@[L1A!Y�@�f/AAm�?�wdA0ϲ?���@�;A��AB��?��T@�N+AFo@�GA�	&A��A��zA|�@Zħ@LCAk�|A��Aa�A�~AԵoA��KAS��@82@aA�@jS�@�GA0�*AiRAY�{A�ɲ@�V7AR�QA��@;g�@|A�>+A���A���?=�mAATAxc�@�2OA�WrA�[;A�R�@TB�?��AL�A��DA	�MA��4A4F�Ae�BA���?��dAv�@�GA��	A�!.@0^i@��@���@)ˀA��[A��yA'fZA�MA]"�@��@�$
A��8A��8@k�hA���@���?�ZYA�t�A-@�8A��@�b~@�8�A��]A��7A]�A��zA��u@�&�@iD@��>=e7�@��@���@�@3�?A0Œ?��A�M!AN�@@ՌA�S�@ٚwA�|MA��)A�n)A���>�AX0A���?t��@��@E>�@���?h�@�T	A��@<ZA��@.u2A4�}A�7�@6�@��~A��@���>AbA�F8A�/AQA^��>��@��@�}kAz��@��5A�E#A�1A�;5A+F@Nt@�.A���@��q@ʪ`A�agA�bAp�SA���@KRfAǍ+@�s&A��\AN]�AB��@��A�7
A7�A��@�AT@�́A"a%A[�@��fA�v�@���?�6uAW�AݞsAw8jA�s@2��@�{lA�WQA�UAy�@�@λ5@�}{A}�AQ��@�=�?�i�@��=Am��@�'�A�.FA�8�@��A��@��PA|0*A��@�ߤ>J�@�l�@���@��@2`�@���@��@���>x�@V��Av��?i/AB�A��fA���@��@p�l@�gAØ_A�*�@�o�@�/yA�6QA��@�8(@ ڧ@~4q?�n�?��AA��A�]:Ah*vA�R>AS
@�A�yL@2��>�he@C�?μA�܂AM��?��@�|;A�s�@N��@	�@5]_A)#�@��A���@,kdAm��@���@�)2A��1A�$A�e�@�uXAk
�@:_A�=RAk�?AC�7Ac;A��@9$�Ad�@#p�@c�@<fA�mAd��>�	,A�A�|sA*�#A��xA�5 A�V@�X@i"(@�C�A�A��FA�x@���@�kEAmBA�x�@��2@�wmAX��@LrYAA�A��tA�:�@ȣZA�Ǜ@��GA�H|A-;A�IA���@5�IA�՘@0�JA�}A�y�@�CfA�x@Bv{A���A���@�^@xCA���@��$A�'�=��6A��RAK#A�1>8��@�~�@�@AJ<3A[_�?��LA�ކ?:�W@�@�y#Aw�UA!L�@��?iA���@�ׄA<�@�_=Al�Ak\�@�$@�)D@>q�@heA�.A�zA�8@�zA��?��@?� ?�
AA��?Q�WA���@0)�@D?Az��@��A��{@06rAm�}A��@E6A��EA�<�@�fA/3A+��@���@
*AK�|@�y@��WA!Z�@N(AG�l@�x�@��YA�7A��A�8AA�+�A�\A��YA��/A7q�@p�AIG@a�}A
�rA���@D�1@e<
A}��@�XVAݹ�@��@�UA�"CAKA�x-A �RAd�@�t�@U�A]"�@d�@J�@�/Ač>�kNA�0�@@�-@3JA!�@3�TA�~?�P�@�s$A��K?��@�$?�@�$]A�v�?��AB�@4A؅�?VKAn��?��@��@�~nA�=A���@�_A�E�Aٛ+A�4@M��@�	AQJ	@�x�@�zA��A�}AzҀAh#bA�OqA�D{A��J?�AE��@)�[>���@���?��=@�SZ?6AI'A��@���?�BA:RA��A#TA#kfA�aAP]�AKA��A<q�?��@X�AP?w4A��@A�GA��@D�?
}�@�D�A.fkA
gA"a�@�"^A
j?��9>�A@��Ap~fA��SA��A�.A;^�@��@يkA�M}A>�oA���AU	AT�5@\ӈ@�J�@�+A�.�@��A:��@'�XA1�AK�AB�@WSAAv��Ac��@�vA�A׍�Ax؆="�[@F��?|C�@Z��@�ez?V?@�s�A_Ǧ@��<@�{�@c"vA�ڑ>k�	?&ZUA�ik@�2A�%E@�8'A��Au-A�A
��?�ׄA�/A�g3A�A-+R@~M�?@A��@_M>A��@MA:J4AZ� Aa`�A�s0@��;A��$A_Į>��A��@\�A��@hH�@֪A3�A_dPAL�0A�w�@o�<A�^AS�-A>_?A�[f@���?�>�?]��@��SAK��AE>��?BV�Ac�@�YA��7A*�?�F<A�l8Amj�@�!A�A?!+A�[uAɍ�@�P5Ay4AA}�A[�SAV?�A�YRA��?�sC@�yA��?*ۄAknA��3>��A�8A�B6A���?J�A�RA�zA��4A!A$"�@1@ ��A9�A���@��@��A2�AZ�LA�;zA�G�>��iAat�@��!?�$A�EL?�V�@�V�@�[A�9?�Y�@k�_@@xA���@J�<AV8�?�*HA$�@��@A��@͎�>�3�@�e@�?`AyTA6	
@�ޢ@ �0A��A�b?���@D^FA��<��@!SqA�OA�*>��A�e�@� @18A��lAfc�=>q_A�:@�LuA+��@3�?W~/A8(A
��@���Aa	(@}��@�T�@B��@���@�wbA��?AL7UA�!{A�AfG�@S=�@�1@�mxAC�d@�VA7	@��YA�C�@��A?�ƈ@lg
A|@y��A�=�@��aA� fA,�p@;0&A��QAn
Aw�)AqoN@[�g@(+gA�G�?�X]>O�4A���@���?�TA&�MAu��@�A|AS�@�gAxSA�;�@T��@�k?5‹@.��@�lA���@���@��A��@\�m@#|AT�n?�kvAQ��AT�jAl�A���A��@0��@o+�@�/DA�H]A�A���@��@LA<iA>}J@̳F@D��@`�@�A��KA�mA��QA�xLA��U@=�@0�A|^�@�%qA+G�@#9�@3z�@��}A���@���@d�Ao�pA8�A��@<h.@���@��A�q_A��Y@S��@�=�@g�Am��A��zA�R�@�A��%A��@�A�A'Ah��@~@+�KA*�A|�?�iA�o0Aq�Aa��@�F:AʭA1@>@�A�!aA+�v@ �
A��IA��.A�s�A��*A�@x:RAI]A�zuA�\@�ArH.AH٭@A�:Aq6?TP0A8�b@��AA��@�VQ@S9�=p+A��MA^�>�A\Aw�@1+�A�Ǧ@��mAAfAY�A��A,R/A��?P�pALG�?��!A5 H@%c6A��AĈo@D�'AgA��;AԄ@fmxA�A�!A�H�?�J�A�EAl%JAbA�,�@�:'AfF�@M�>�(Ah�GAh$�@Mx�@�h�?���@s"Au�`A��7Ap)A�R9@J�nA
��@�UA��qA�|@���A=�@!?A��@%
�?|/Amx!A�C@���@&1A�6�@�WA��6A�f@���A���@��wA~N�@��}A@sA6YxA�ی@EmZA%�WAb;BA�@&AO�CA%JA4U1AQ+AM*#A���A���@u��@���AU�VA�oKAú@'��@O=A&9Q@l(1A9��@08�A��?���@S��@���@�RA)�*@F�jA䊌@�A.�-?��/?m�zA��A�@��\AuAA�s<?��A�/rA��:@G2|A��@
�.A��Ac�4AH6A�
AtbYA�T�@]�?�&]A�oA�X$A�InAѩ�A��APD@7�A'�@�0G@L�tA�fA�q�@�cA�)AM�Ax�A��?AA���@n*A弣@���@_
fA�/A,h�@G�GA%x�@�}YA��`A��D?4>VA���@��@��?&kUA*��?λ@�-A�1lA��A�N�?f�QA��P@"�RAܺ_A-B@_��@R?G�BA r�@I2\A�w�>���>(�jA{S+@
LUA�A��@Ǯ�@�v�@ULA(�6AF�nA�A9AqK#A6A��A"A,Ad�A	U@���>f?A��)@��@�?AG��@�}dAN�bA	$r?��1A�wA��9Azz�@Lܠ>�̈́?��@b�{A��>@�N?�wJA�A��?5��?�B�@O-AMA�YA���@;W
A�:�A��A�	K@R�V@�1�@R?���@�mA�C�>tA@�!!A$�@A��IAA�q@�@��?A��?|�UA���@�+@0@(A�f�A��@](�@	�p@j�uA6EA�!5@�)�?_J�?��A���@̢�>��LAyA;�bA'�JA@VA��E@�k
AhPA�:*@z�A-mLA�"�A�"$ASZA9�?��{A2:4A7	�@Dz:A�� A�F�@	�@ź�@�y�@�MHA%�_A�� A�JA���@3�[@�J@�JA��8A���@��>�ް@��9?��G@]�Al��@�s#A��dA��$A��tA�4�A��@.��@�ǽ@F�j:�PA)�A���?��AN3IA�n*?_C�?�+@ݫ@��?�h|A~u�@eVp@G�WA�'Q?SA��(Ai��?,X?9̊@z�YAK�?Iݲ@9��?�|�@�44@쾀Ap5�@���@Ns�@U�'Aim�@�2IA�\�?`,�@H�cA�KAl�@T>A7�CAE��@O�%AjYGA��@�FA���@�u�A^LA�umA�-A�~A}��@�A�=A}
AW�@YG@{3@6~�@�pA�L_@ʃA¤A�jq@���@;�xA��@1%|A	OZ;�fA*�@���@�	A$2�@HҲ?�)kA���@��A��SA�A��A�i>@�RA���@�&A�$A��A̐�@'-AؓA\q�?�uA�(�?:$�?��@ɵqA�y�A��@�Ӳ@��PA�(A|�?��A�Y)A1��@�2@�T-Am�\Ao2uA�\A-u`A�A��@|S�?1^0A=1A)@�?KA�5�A+1A�l)A9�@���@�`�?�G
A�dA�
�@"�qA�`|A�^5A�oA
��A���@D�WA��lA��lA���@-�iA�D]@�OAq1�@��l>�@\��@Vu6@�{A��@��@�WFA�)wA�|A�w�@q��@���>�a�@VD�@��nA�C@�ž@}��@��@���@�j9A��R@V��@��_A��>�WA�ObA�S�@�/*A@Aj�A�zBA)�X?y1IAok�@K6\?���@
gA?;RA�LA'�@��4A��AFuA�k�@r8�@���@���@ߤ�@�A��HA,J�AΠs@�	A1�
A�A7�e@q��@�U#A8bA�V@��BA��3A�� @/�@P�@�ȃA(Y?�Z@�@��}A�u#A|�JA</?p�@�>?K��?�)^Am�@
��@L�bA�CA��A>��@�V>G)2AL�AƸ
Af�,@��<AWj�?>�@�
d@ȮjA�l#A>��A6��@�6A�K'A�r@��A�ӕ@�y�@�)�?(I"A���@W��@�LeA�=�@s6Aa�pA�}A=tA�|@�a�?M�?��HA	�Ao�dA;$A3[U@�L�@� EA�u3@@*�@ЫAZ�AV��?�U�@
~rA*A6�lA�k@���@�R�@@�@��,@'��@
�cA�1�?�{A��@��A�rA�}A��@��A-/FA��@���AA]SwA�Z�?$�sA@:�?�@���@8A��@��cACnhA�i�@���?�@խ�AS�AA}9|A
�9@b��>$9?��@g7A���@�Ε?�ە@1uFA�*�?�jA��UA�L�@��?m�mA��GA��A��WAʝ�@Z�D@&KlAn�A��NAp�8A�H@	B�@@ێ?UqAA�]A�l@H��@b-�@x�RAWDjA{RzA~�PA�]�A#��@�UpA��?B�@i�*A s?A��o@�>A{AF�h@�yS@�A��Aν-A�}:@I�@ESwA�A-1�@��yA
��A��~A�F�A�A~�#A���@��aA�-A�5bA�@��@�8A�MTA�g�?!;>AeHUA���A3a�@�R8A�A�>y"?ZgA�`AگoA^�A��!A��kA�&1A�jA`tGA½]A���A�r<AWY,Az�[AR�@A!UA��TA�
�@��A�D=AM��@��6A*6�@��A@}�@k�TA�\A}{|A��A'�@cAl�@�c�>$�x@���>
@��@�`A��@%��A�+fA�>Y%�?�}A�<!AY��@�%@@�H�?d3�@_
�@r�rA�x\A��PA�ځA$p,Aɻ�>�A�BaA1P8A�;�@��OA*�+@��*A0P~A٥eA�
@�4HA^zGA}xA@�/VA>W~A8�@��-A]��?�n�?�38A�-Aܺ�A�}A@�D?<x�?"�RA�(Au}uAV�@�A�@swA�[+?��@|�\A� �@���@��iA�[MA�yA��I@�́A���@5'As��=3W2A�&>(-Ak��@m�?��CAa&\A��A9|@��!A�;@��@� U@َ]A��@��Az��AJ��@s@A�A�{EA��@-�[A@rAA
)�@��@�X�A�T�@�#ZA�W�@x�fA�e�@_C�@��I@�bA��#?|�?��A@�z�Ag�FA8aA�xBA�A�dU@%V�?tظ@�lA��$At��?�xAzv|@�A��0@�N�@�,AB��@dd(A�0�@�ׁA���?SH�?is-@t��@�A��JA��?Ah�@L��@�&JA��@�9pA�3:Ar]AG�@�m�@���?a�F@r�QA��yAe�@�OAL
y=̹@��qA
�\A�-�@z��?��5A�γ@��EA�_!A�bA��>	�;>��1A[wY@�{KAֲ
@�3A�9v@�
@��@�!�@$�~Ao<jA!</A�5�@H��@Ū?��@��c@^CA�]@W;A��A��>�8A�aH@,�@��@��6@
@1>cU>@��?!F�@oSAuqdA��R@X�4?��A-oAA��@�Q*AKrWA�R�@�zA3p�=f0-A��A��7@��A��qA@��@���@D�+Aйx?���@]�@9|<A<�/A�� A�A�$�@}�?ow<A�e�@��A��K@W(3A�@�1�@�=�@�w�@XENA��iAh�*An�A���A�u�?��AA�Ac��AJ�A�@�>��u@�:H@l
A@6�@)c�@���@��!A��qAQ�@fu>AA��@���@�<Aѹ�@�bj@��'@`A�c/A�0@�٘@۲�?o�YA��A�&|A�\c@���@$��@���?��^@`}�@wkA��tA�SA��@AB[�=��SAL�kAM�@4�@S��?�vA�$A�9AHuAЍ�@�/jA��@)1S@�sIA�ڙ@���@�@�M$A3f�@�`@i�R@
�PA�wx@؂@��@d<A��+AZ|�@�u�@`�wA�A8�@A���@�Cy@M�xA��@�ve@��?Aωq@�7�?�5�@+�S@'E_AZ��@h޽>g�EA�1eA�A��
A�x�@�]-A�&A\�kA�aA@B�?�WuA��'A٫�A��oA#�@Iʒ@:W9@�`@��pA'�-@,�A^�<Adx@�'�?��+A�iA���@�	!A�>�Sn@�1@��AlvfA,Y�@?�@mm�@3/�A�SXA2߉@���AL}�@�H|A�bTA]�0A��@=A�CA�5A=�N>'��@�ނ@Nc�A�w�@�3A��fA�aA~sAq�AT�@��@��A���?��@) SA,��@|V�@,L"AX�SA��@���@Mצ@z�?]�|AR~�@�AVl,A�|�@ͥ@l?@�!A綄Ah�@i0�?f�@�%�@p3�?N�)Ax��@��>p"A���?N�`A,�?��@��Y@/�9AP��@x�A2oAoAb�@-oAϮ.AO'A��@���@5�@�b/A�a�Ayp?@_�[email protected]@�`A��A�0`A��`A�4%AA���@��@��a@e6ASq�@�AN�dAw�tA�lA�.AN�%@�a�@Jn@�00@@��@�9A�G�@Z�;?��OA���@-*�>��r@��@�@{A4�A�pA���?��I?��5A8��@��AA�CWAA�3AO@V9_A���@YAO]A�9�A���?_��@��A�Y)A�@˯wA��@���@)B�@4j�?�
Av��@���@�i�@-�HA�e�@]�UA�cAD�A�L1A\��@f��A��@��4A�@@�S�@A�YA�Z?��#A\�yA��bA��~A��A��?Ѽk@��@��@K�@�a<�CAg��?*�qA�}A,zA)��>�È@A>?A�m�@6�fA�D�A@�KA�)A�X�A.@A�6�@�i�@��nAA�-?��XA?�@��A�;A�hA6+A��!A�vA�07A@C`@3�KAAZaA�ArW�=��@|��?U�A?@	�3A �8A��@0��?�pA�-�A{6�@�<�@s
mAhD�>
x�@�
RAєu@@�pAbiA�sA	~r@�u,APV�A�)A� YA��@��6A��AZ�o?}Ѥ@��@�_�A��@`J!Aҹ@�uAV�AxI�@7�nAj*Aݽc@�!�?-�@A�RA�P@2�GA�W@I,�?W�3A݇e?�.-A6�eAd�qA��A.ƌ?��?�r�@�\~A�x�?)8A��>A���@#��?{G|@��A�Ъ@�$?@;7SA	;~A�6`AO�0A�>�VXA���@�cA��@=�-AE�AI��@�?	A���@A�gNAe�:@:��?ϕ�@��=A��;A�BA�unAJ"A�lzAmh�@�@�_�@�>�@��@�kK?#_�A��@�j�<wA;�UA��1A��@V��@���@��@�S3A|)0A���@�7EARCAd
A�z	As�/A��@q�@M1A�01AO�q>��?��@�Q@3��@|0
@LO�?*`�?���@�K�?e�@7��@���?�RA�Q�A��@��	A���@:�^A��NA�'MA��oA�A��vA�5�A7�`A���?fD�@|`DA���@F��?�ȼ@��k?-<A�-]Ap�N@5�VA��:A�+A��uA�ѱ@���A�҄A�R5A�׫?L�YA[@��PA��@��S@�A@�?��gA7�"?Ͽ@A�AfW�?ܤQA��BAߦCA��@�SAP�VA��;A��XAf��@U��?Km[A��>��A�RA��KAd��@X�9An�A�eKAI�mA�ҩ?ScA$iWA>�mA'�A�@�BG@1��@}�M@�d�@t2aA6J.A���@B�8A��#A�P�@cjASAC�@��@Px
>���@Z�EA�i�@/;Acޠ@�y@�$n?�
@}�IA�QA��>@ȼ3AG9A1A�K8A��A��=A��;A
�@�3�@`�@�[%AQ)A�zA��c@as�@)�6AE��@��IA�A�@w��@�}�@���?�OY@�]Ac%P>�A]A�&n@4�IARcA���@��3A�O�@�P�@J�\A�uA��A��CAc�B@�{�@D�@��A�+/A�JA�AT|FA�*A��A�� AR\,Ay�TA�Ш?.��@5!YA��@N��>���@ڏA�Ad�?'"A(e�Agf-A��I@U��>T߱@�s(A��@�]Aߧ�@�"�@_w@���@^�>@�Au�AH0IAŽ*A
$�@��A��Q>�QIAL#As�8APQA�}@
�]A�AL�FA��|A2��@�u�@q��@p�A=c!@Q6@��@<��@*�@���@���@�
AA��@A�Av�@|��@�J
A�pAu�A�
|@v�@C�"ANA�w@a��?�r�?�;A�dA�n@�M@E�>A.N{AΚ�@�<aA�ޘ@azA�CA5Ɇ?iL�?!\TA�RA}%=A��@�w�@�.nA�?�=?JA�A�JA?*|�@��NA��QA.r�A��dA@6�?a�	A]{HA�KAD�A��y?��A��@/ݑ?�zEAw�A�`IA�A���@!�pA"|=?<2�?o9�@��9Az;�@B�3?�ڪ@ԏ&AeG?��?\`A��#At�+A[=A�G�@�2AK�@�Nz?�?o[P@���@��{A�c?a�.A1iA�}A��@
��@�F@��7AH�>A��@>�@�N�@��A��;A��AA��>`(A2��@�<i@��JA��9A{A�Lz?.�@��?-Y�@x�A�]cA�?-@��<AI�?X�SA�@�|f@�A�թ@kp`;�6�@�jHA���@���@ #A?�)A�n$A8E�@xM@�0�@��A�?AA(W�>��gA��A-/ A?p
A�m�?sARw�@�n�@�*�A\WA@$A1�?���@Z?OA�VOA��X?��~@J�XA^�D?U*RA��@��`AL�A��OA~QAs�XA�VAG�cA\ș@�A��dAT_A�n�A��A�+@8�@�ҽ@c�ZA���@�]A�ZA�c�@��@�|{@��A‚AZ�@�ܥ@9	z?t�A�@k�=A�!pA{��@�Y[Aڶ�@vj�@<�@�z�@?)A���@��UA�hA��G@0�FA�cP@�e+@��=�p�@���>�G@/� AX��@_
�@��?��A$��@"��@��lA��CA߹�?J��@}c�@��zA��EAǭ#A7�8A-!�@C�3Acm@@}$?�R?F�"A{�[A�(]A>*8A�U�@�ɀA\�"@=eZA��8A��>Q4B@�^ AZ��A@�?��;@t�AfhAd�(A\_AY�@��A��}A�H�@�]�Aku#A���@�}@y��@�LGA�w�?w@�¼@C�iAO87A��D@�~0A
V]A��tA�fI@L*�@W��@,K�@�!?A�&=�X:AN�A�!{@�EAU=�9m@���?���@��X?��?A�}Ap�@�vA��@
��@���@d�A�]qA�m-AA�?
@�/�={&AL�?��GA�9�A(�6@�A*�UA���@jKA��@�kZ@i�"AJe�A]V�A�T@h��@m�?[�rA�v�@S��?fϟ@��Aj|BA��@���@�1?ؠnA��;@n��@'kA�M@��A��@L��@,A$`A�JAK�0AT�hAo��@��@�ш?c�@���@��!@}]AXsxAݩ_A��@A�
+A�mPATWA@XIA�5AO�
@K��@�w�@�A�@�c�>q�A���A[��@��H>�[A��[Aے�@��A_zdA�[Ae"lA�&?��
AI�:A/�JA��A�5@�9�@Ta�@�$�?T��?e�AP�kA��@U�@��mA6f)A�$�@ڞ8Am�r@n��@]�@īWA�A&I0A��A3X�@S
A�
pAI��@�q@x�@��A��hA-cA4�'Au�<A���@��+As"aAN�@H A_��@P��@Q��@J}@�;:A�Z�?��>A_�&A��@/�?y qAM#A�@X
@t�j?�)A���>Z+A^�xA%�@X��@��ZAwx*Ae�A�XA���@��A��>A��@���A�yA#�sA��.?$�tA�a|Ae�$A�>L2A��AӼ@@T��?��<@��@x�nA��?���@$֭@��@ű�@�!A�&OA�+nAO@�JA��eA�e@�Ċ?��rA�qA�mSA��A*d�A���@%(t@�~�@�h_@�lxAc"MA�qA[TA���?��@50PA���@�/�?9@�FAu'
A}��@�A,K8@�#&@@�tA,?A���@�[A��?P"A?H@T�_A�xA�deA��eAv�AA��Aj�PAD��@!�'Aҏ}@���@�f@y/�@؀?�kA�V@�O�@��A<i7@��~@NaA�pAW��?��@���?�xqA8��@��v@���>Z/@��9A6�A��AɆ>e�@�A�IA�aAԹ!@]K9A\��?�@�A��Aߡ�?�]A��lA�t=@0�@�R@�HA�6�@��7AX8A�
�@�e|A:�?$`�@��BA�/;AG�@G��@_4A��RAv�@A��A,B�@�b�@
��@{�tA��QA	qAJ�+A'�VAx�,@�C�@��SA�EA��LA�3�@�R@s�>Ab);A�h
A:�A1(oAY��@<7,@	��=�@<�,A�]iA��?���@K��@y��?'eAboA�"�@���@ٴF@��EA#�@A5��@�*�@�/iA)�bA��@n=A��7AY�}A/�jA~�@`O=A�P�@�6�@AA�<@�QAe�?��@�܌?u�o@��rA� A���@E�A�T�@�$!AD�/A�hmA2<A$3�?n��Aw��@[�Q@�J�@�B_AȫA�6wA<�HA��~@P��@?R�@�oA��AHٶ@�(QAV#A�`�@�;CA�9ADyz?Ѩ[A�0A�.\A
!@��A�KA�doAQ�CA�AO�@��-@��AO�@�uXA1�@k�Aa��?q��@��{@��OAbgWA4}�@�8~A���?a�Aә"A[��?W
f?T�xA��U@Ҧ@jR<@���=��@?
y@��TA�]�@�\A�@���@F��@��Ah*�?)�AQNMA��A0��A�;&A=VxACA��LA��?R�@czA+�@$Y�?P�?TbAJ��AڗA2�TAQ4�?�A?aiA�[�Aɠb@��=A=sA A� �@�+v@q"%? l
@��EA���@�fA� �@;G�@��9?�o�@�T@�2AA+9@y\pA�<�@t!\@\�0A�%A/3DA
�?���@��-A��3@���@��Az�A2]�@'�uA�Ψ@�R�@-Z5AK_"Ab{uA/{A)KHA7.�@'S�@#�AA�N-A4�w@w��@$�t@�qnA�hA�deA�o�?�A��>A�IA�>Aqñ@�muA�#�@�A���@QD�@RyA:�MAfpAsV@3�}AT�@�uA���@6A�aAU�@���@�@L3dA��@���@��?�LA��?��A�V�A�([A#��@%�q@�>p�2A9�A<�@�/����9�h���m
:�������9�|�8�:H��:)�u9��9��z���'9c��9�O'7@������&Ƶ���e�3(�V��9�J�7�ҹ��T:�#�9�%Ϲ6
:c8�9�̱����:8��9#S����������ɊJ:�xm:͔I���;Dv�����:�p��P�U:�R:;��:z��AI9$p��I����ca��ow8j�⹚\�:]����	���ù�1���5!9O��8Q�^9�n�8
�9��H���E۟�/��8Dg��ڋ:�9��!9�r9������ú�)7Q�������I���f����#9�':s��9f����8ԓԹZ�>%��$x�:Q��*�:z����9�*;�'��Y:�r����N:�~�:�����8�)�9tͷ:9:���W1+�`a3:�,:#�e��w^8ga9x�p:��8��9���9$w�9ظ':"1Q9 �ӹ��T�9�Q9?M�ױ:��<7S296�)8)\<��~�s*:=X�9���9\�s9��9(B8��/��:�y̹[N�pj���i�:�P:4�l:��:�q5����<����%�88������-�)U�l�0:��R:���9�N�2X8:��X9��l���S;�q#�G���~O:1 Թw�9���v�<�)�
���6D7\�8X� :�7:?wo��);"�9��x���i:o����q𹦌Y8vI�
"�8#[��ɗ�94N	�XI�9���:�c�:�W�9��=:�6{��o88>��F��9;*�X:bj.9�d�9y
Q�s�9���ڡ�9.�o:��/:R�2���f��%B�
!N��$_:ߐ��OÐ9���`���s�(�\�6�W��	�ƍ��М�:�Od���74��Ÿ�9�S5�I��8�8���:�.ùU8:B��:R��I��7 &�9Wy�3B/:�7j�!"u�
�9�0-9h�ݺG
������g̹w߆:�\9©�9��~9���9�Z�m|;�i�X:�]���;z�bW2:�̓�|�:�:����#)9.꺻��9`�	9��V���9��9V�u8���N�8� -�)��c9��Ч�����9�Fm9K!O:H�m:�犹�vɹ':Qtݹ8���IT�9B,�f��9�m;�⍹���8�e;��׹CM�{s'���8>3̹l���]VǺ�`����;YA�:NX8h6"�[��:�|��n���󰸠��{�:ig�9�1Y:������G�v9�[9{QC�
�"����cd��a7���;��7:}��::�w9��ҹ,�<�.�9�;/9B�9�_�\n���n��e�`9���9M�˹
�k:��:���P���^T�����=������>�L�����p�z���^:���6�+9��j9�C��ֺeW9�*u���1:2>��z�219�c�9W�����/�#��:���:�������9��9��M:�h𸼳���$�L��9@�:$�F:�r�9��Ÿ���o���x�������W9g�S8Z-9��3��t8�=I9s��:k:;��9	��9y�/�.o9��#:(j��ß:�
F8���'�:��ڹo�L8�g�:?�&:±?:X��:	��Ϋ7��x8�f�9�����`����9��E�D:J�'�
6�y���~G+9B:�;�9v墨�	�:Q7�80�:�>����o���i:G9�*U9��5:�ac:����չ��v��U�K��:����&�L�P�P:��ј�9q���KS���9��q��eY:��*���9�?ʹ*��8�:��@��+W9����y8�B��L"9ݤ�9�e��e:�r�Cv'87"�7��ݺ^;��B2�9#I9�$�99^�O([�q��:46�9�	i��#(9�U�9�n�;�A9:m9z,�9�	�8��ݹǮe:�ݡ��S���K��h�H�P8f�D:r���|E9�M���s��>a�8�<:�=):�>�*'���L:���:�+q�9�w9������7�;�9�Lไ̕��>b�����Vϴ9����uL�D�ն���:L��9�y�9	��:�)̷��q�^q*��6غ;ܙ66��:;��9�'�8ݙ7��Ǹq��8���8q�:�_�9X7�9���9SF緰�
��h�:��5:�2;Y_:��,���#9T,d�d�;�3�
9b7�ć�:��n��4�:➛9�/3:�9*RV�g���o��85�����~92�)�@2��i�j8�6����:2�D:�M�`l�����~����Dٷ�k�9��9�2����`�A��9(����
����&�':���9���F񹃬���7ڪ%:���9�I:]�;�T
;T�5:.,�:_���|��M�8&���6A�v��}��+�Z:�3�9i庛�u:�{�4�38HnW�若:Ųn9TD�8��]9]M��k:At�%:��^9�&!;�๹�:�rX8�^M;��g�F�B:.�R9�s�9�9T�j�Ϲ]�u�cWc93�9L�2�}���hZ��t@:K���8���e�4�~\|:�_��f�:ZK͹z���M�8���T���ŗ�9��3����9x?�92��Ḯ9���9X10:�8��$m:/��:�l$��>�9�s�9��z96h@�L�88=�91E�|�h:���::�/��i�9��;�`���:dNx9Wx��z�:T_f�S�����s2���m�'��8�b�ߛ~��W��x��d�z�(���;�仹��n�f9՜:;"c�O�V�7�Z9�˹_�	8�z[97w%��
:.�:�\����~�\���
0�d�>:B�9�3���ʇ:=3���9�k�8B$�+th�>��:t5�l�9���s:�d���C:yȸ�m��09�����聹�w�����$B��)!9ڷ�q9�^p�u�e���%�.�麔�O�=�h:wTo8
�8��:@K�z�:E���7׹2��f7���z:+2��Ľ��}���B�9�s;9�":Q�O:4w]9!�_�p��9���
��P\���s�����_x9:7���څ9Y���`���	���������:L:RY��z':&������|&9�z�8��8:=���%󹹩�:�z$:O�:B��	3��ґ^8��1����9O�8�q:dI��oh�񢹞
2:���9���7��8ʺy�U�:�=N9�F��|9Ip�9�7K�CO�m�9�D컹J���~ƹQE!:�H����9�Q��6�8�҉��	����;ǽ��0l9�Pf�`��:��ȹ^�&<�U:G��!�8��#����9s�z�s��8��p:���9y�����9�Ѻ�a�8�̐:�M�9�{�9�9�D'#:��,�M�h9�K9� �9��E�&�����4�
^T�A������
;G� ��:��99���f�:z���G�ɹ�#r:�˸Y�����.1;�6�
8��/���;p�F9�3�9�K{����������Թ'o�s}W:�E�9�]b:l���M�:my	8������Vg���/;}��:L�V��F�m:�Z���b�\	�N����'�܅Y�^��9.R9w�������9����9�
[8c�:�*9x$�9�+{:��-9rw�9R�#:\��$�8:�9�h�8_�R:=���
)d���9E�"9��s;Y�j;���C8o�8����E8�:V:ԡE�/����Ÿ��:��K�f69.m��'���|�:��o9{?���'��:K����ݷ'�9��-:U(g9YȎ8�Fm9̙c9��G�G(#���9�#��e��S������xB��3���@�7�X�̙�9�@�<�?:�r��ω8K��M��9<)
�ι���:�a���J�-8:���9&�:�E�8O�e9G�o:��:mZ:�	��w�7������,�L)�8�%�8n��X�9@�l��{4��J4:��Q9T�b�������87����2:��9v]K��s��Mu9��G;xܷ:8���j9!3r��:��u�1�vH����ʳ뺇�89d>�9��չ���:�s�9�V[9B���S�9�T7:Rϵ:�˹�D:X��8l���\Uw:��D:w��:�,�9����0':D�7��㹓з%�s�"C�:C�:if_��y�9�����8�֗:��7V�::����G8:��:��9)I:�:]!S����88�>	9༔;�[:�����Y�:#��9`�7F,<:iw:97�9B�3���-�عׇ�.�:�����9�9DS�98�:;�w9�;$:x�z���Q�]B�:��9R�:&FH:�H9�Z��{p9M�_��e��_�9f�O:�88;��8=	��}��<�^:��:�\8����;���A��{�@�2#:K|b9�:D[&9�=|:���9+�¹%�˺6��:|t��l��9��"�]�����9��Ϧ�9AՅ��}�8L��9잦8�����N
:�z�9\�ǹ�^k9�s[:�98����!���,w��68��L�7��I���9�|ҹ4'�9���9�<�89�ǹG[պq�aOP���ȸ��;izZ:�xd:>i6��O`��ޅ9LBk:^�O:�Z9��9�;:Ѳ7㸎����9����:9�8:[l
���9L����\�n��9,2���&���A;�@o:��k��M:�|4:j!X�Zm*:e8�9(�X9�;�99�����9��:?����ɪ:_��8o�:��7��%:��J��Ng7� ���k�<):��:��G��:":*< 8eW)9���-:��?���ݹ}7!���L�?����Bں�Y�9	��9�8����Ѻ�9d(
��9�ua�o�9�[S��Yv:0��8��c���:TD�7s6۹���,ވ����:_�¹Yx��{�ǹ�j�9:����9`Q76��8�Xp:��H�j�|�P�&:\u"�:=.�j�y��ȭ:H'9�O�9��ǹ�"��Z.8ʃ��)8":�̱9�^�2Z�9�5��^Un:PP9<��:@�,���O�8L�˸(�8�X������o3�=����5�����T�:-�c9�m������}�HIa;���9:|�9Bչ#n
:�Z:RG9�Ӫ:��2�	�7;Q/:7Ҝ���'�;7�vK�Em�ޱt�����\�:N���n��|c�T�h����D���9lz��(E�:��&���1��n�j���9A͹u��9��� ����9�q�RJ�9쾲�I�O�1�9(���y"�]f�H:�9��`�j�9h�:�ò�M��8��¸�������9Z�:z7����&��9�ж�.V����93�b9j����9Z�:��e:�����a:>�:@�M:夹�:�O	��h�*�Z:bE_9ggA:��*:��7g���p���P�92�����{��9�k�8�RZ���:1�Ҹn��y������:Bp�7O�ιE����5�=��A�:c��W7*9�ۺk��8�5�9���9Hp��"�q�m��8�[�9�v�9�	h���)�jAH��"�9-��7Or�����`=湀ɵ7�4I��?:%�*:Q���e5���2��dǹ�T��.8~��l]��]9����):[�-:���,ܸ�2g9����
L:l?�:ɣ9^EF9~y�9Yi9ʕ]9fc�:Q���9��9�Һ<>�����_���yq9ǵS�P�ɹgI:��9~>����7VW85��9dG�9:��7JƷ��a� 
���L�9	�����:`����[��
8�Ł���<�B��9�MO:d��8;A�:��L]�9iqзڟ�8����J�9}阺�"�9���9T��9���9�ݹ7�%���9�jt�&�?��E	��5��hs�xhf:ܵc��)�9���:r�~9h
�[�F:e:�9�օ�8}���8��
�D�"w:!Z���й.ݩ9؃���h�:BJ̸gl�9Ԡ�9M�������(�8:���9�չ�!�:(`v�D�p؏�\�,� R_���̹E�q9.a9���;��%�~��'��7�4:,�g���9] ҹ�j09�IZ:�$/:ꕦ��
��({�=V�:��z�\8��9��79@6&���5*Ϻ������:��ҹ~�T>��
<ڹ��"���:�`�7;D�9F��9A�+�E��]89]���Uۺe�;,�+:V��C��9�ڹ�B!��9+�D:й������g���º�W2:�H�Gܝ����P���#3�7	0��lr:,�N:��ɹ9P���9]�:T��p^_:��L:�"��,�:b9��&���ĻZ�蹪G�9�\9&���%�L��F�9�(�;���-9��4���;4L߹'#�8�ֻ���׹��8oF���=:��:VB�&LR9���8��:�k���.9�<�9��l���:e�;,��P�_�ہ�9@1.;~����:3�����8sė8�f��9%�lN���=��0��9�?8���Y'x9�2�����<�9�p�:[J�#]�_^�9��ls��]68X�÷m:����I���ٺ��9�}��S29�9�xR�7��v-�ǡ��4�:��:@ڼ9\��R���H�˽�7o���/':��:aa�7t!�9J�5:J`����#.�.Lιjfƹ�D���O:ş�:SJh��@�8u��9 T�7��y9�4�.��9��m:����?̇9�:���8�):g�ӹ��>���9p/�������)��PD�8��(���+���\�:?,:"�-�Q9w���:�9���&�:���O�:`i:�af9x�9��8Ǖ��ୃ�DX������9:0ޒ:�
׹���8�ʞ8�0:LX9TL��>i:�/:�s:�+l�~f�8jՈ���U��O���[8cйQZ:b�:910::��Q��M͹��@:E	�8hE:�p�9C@�:�bE9�j�;2쟸�3�8������~�Z�ZP·5����6��� ��9Nz�9�:��A˸I
���
�9�=#:v�*���U��]-9ZCo����8)��7�W�������D��2:lչ:�7O;�]T:�:믲�h�o� (�ᱺ��m��[�~���z9
�.9�@�9��9�ր9�e��뼺!E9�4P�r�8��:�8�����9rz 9˓9?�&9��D���+:�����>����5:0��:�%�8�_:Omպ�(��92�f;Y�?��A�݋�����8�Cb���K:�T���B�9I��9�2��1�8T�q9�۩9�Ӿ�O1�@%�;˂::HR�:��T����O96�:Ǫ8:Y1�gO%�_N~���8��ʱĹ��:ت
:�x8��	�X���o:J��:}��9�o�Ј/9(����'��~�� �ԺU���9eW��wa:���8�@G�=�9-3Ӻ��O�p��C��9\���/ص��9�!*:췸{�f��x�:eC:�%:��x97J�9H�9�����DŽ9�u
:7�,:���9��e�F~P9©:>'8���:�V�93�V�!�˹(��7�����9�i�D�%��9�8�4i9����h3	;�j̹����J=�p`n��7:�S���':'�͑7
���] �8���9j�|�W':9?9:��:�9��g���9mr:��9M�����������F�8�8��`9Uƹc�y9�q���h/9�L:{���)�F9�
 �E�غ�k:i�9<s�9B?&:�Dx9�lɹO�r:��"��3��Xú8�b2�G+�߸:	
�9+�e:L�v:]��$�9O)��x�0:�{�:�I-9�+V��9����9:��:u�;+G':�o:��:{]��:SKR�����7�6��d�a:^�9�O��3 8��':ÙD7����b%���;9���0p:@]`���z�J����9�J2�x�8�ˁ�DoK9p:����<#ܹ�N`�������J���:��̹k��9��9�Q:4߷V��9Qȝ�����A۹�]�9ϒ��?�9Яb:�:�	�e��9�¸�;�J!9���L:�������й�:`�9o-���#R�+O��<~;�^��"�eĒ���~�:�1+���ºt�O:�_:���(��9Xҷ�}�:�a�9�w�9H�7f�;�?{q8�^�8L"r���(:8j:�D�
1����ַ�Ӟ7�lo�S!�(�۹�x��=������9*cX��,{��ol:����$�9�w�(��8��6��r�:�R�8�ÿ�=I꺝EY:d�9��j:8������9�D��$"�ֹ乶��85��:#��T:A�19�gI9�Ӂ�+�\:�,s�d�i:�b�&�(:�L���:�N�1E�9wDa9b��:A��9|B}�yl	: 0q�6ݜ��;�G39��:(����]���9{������y%:t��9A&�JK:,Q>�נ':�]��#�9�Bg�������^��J���59e,��s��q<��D�I�����V���%"�s�?8�Ca8�3�d"~�`��;<a�9~��7%��9����Zٸ��19g�m�0��ǔ79ĵ�:��,�g��9�S9�+�9�B�9�6~�DN�9��s8�ql�ǩT:�q��ha:�]g��wZ�<�<:��1:W�9�?���3�!�������=d�}�:�O;�z:��(:V�J:	̤�!ۯ:.���
�:��9�g:,qB�(�ֹ�׳�a#9Q}y9���Ⅳ:^�.9����}D�8��,�/n�Lk����:F{ƹ�l$9��93�}�P���?:��9�*;�k��AU���b:,�ӹ�d��*�@�Ϥ9�}
�yx�k8:��J��t�9k����we����9�w�:ݝɹAv�9)���$E�:�&:#P��l9o���ø:ۯ���'���97Ͽ����9��4:���QF9E�:#Jp���:}�8A1:��o:\��9
eл�9s���f�j������y�(yE�v��8��:|�9�pq��0�O�]9yp�9\,�9�;�-:U��9Oo�:V�F�ɹ���:\��9�G�CA69(�;��m:��8iͺ.╸{#�:�������:�@���W9�S:��7�:Bֵ��‰:*���c�9�c�|�:/����^��ⅹ�n��1��(�1��R�:�:&
:���?ӹ�����8^�\겹�q�)��9����5�Ɯ���}�F�`��l�9�Q�8P\��hY5�~���:`�O8�Z�w:;,��9Hr�8��8׃���;9����C���8\Ӓ;���rH��ׂ:�����ڧ�k�t81��9��8�FԹ��82=���7�j����\���P:բ3;��;��T��v�x8����v9Xx����09��.9�5�L�*���-�mw��F(���V9,{��T�:4񡸈���o�9�,��9�4:#?G9���8/x�7"����j����޺�D:�*S�֚�:�*��
�>��K�@:���9�@帯�o:j�E9�����3�S��9��k9�:��$:�qE���'>;�:�9G?f� ɫ:�V������-��oo:��.8�Ɋ9�~�7���5�9tо��/���Ժ�T<�5l�:��:�`�7�\��9-�9&p;�j���x�q�<�sQ���������<j9�A.�YM:Xv1�{�L��ϧ�
f�';��+�8?˹J{�s?��[�p�T�/�:M��7��97�F8��:��:V�{:��9˰�9�G_9*��9�*�H�9|A��-g9�����i9@u���V:��1�G�8�|�9�J�����mԹ��E:қ�:7�¸7)���2����8�:s�t8�)����9����ϛ:ӫ:�b�7N
߸&(�9�U�9�!ܹ�s����9/�6~8�B?����9LbкQ�*9��!�TH,:�ѝ7�/88��#9_������7�ӊ��w1��n�9)��8���8�i;:��c�a�o���
�D���}7d:��X��s�(�����R����9"�9ˆF8�*�8+\:/�e�`���0�i:"E����7�^��L_@9
�<���U8�3�l�:��];sE:��A:{�9Ҿz:���g�Y�P��,9�.�8"D��a�8o|�9�;���!�:�[�#f#9���9wC;s��7Fa�gY�9|���Vg_��v�8o���������8(�9��w8pR����C;4ҡ:������9>�9/�:?CK���9��%:�B��^P�ω�9͏�:hw���-9��*��m��R�9<�9�l�9-,:w���<�(:u51:���:1�9�2;h�:�e
7���9zD��|��$+��S8Fu-:x� :�/:ݑr��\:?;���:���8j�:�:�:l.��K�i��h;M:���?�4����9���EX8b~
8��7����0�D9汹a���#��tU�8�ꏸ��K�\C?9��|9��ù�w�9����;�>��u:�9��%���Å��K9�K��tѸ�!M��h��t3:��:�_9��{:;�I9���ɤ�l����9s��9��8>8��չ;[�������:d1��TJ��2�#^�9]ؘ9�ݡ9����DJ:�K?:ؖ9�O:R"A�SY9��>:�B:J[�9[ =:�O!9w����鷃Ȍ�5w:�i���� 9t���Q�S�1�&�5�@:U�}8���8�zԹ�z�9GxغS��9�:����\;��y�'
�?99�7���%:�MP��u��U�
H
:>㹠��9V�9�I7�b:R0�9AX:�
�9e�E��ݸ�
g:-NM:�����
�:X��X��:�2��g�8L�e�"�U9ޯ�9�?�:!���l�����{8��T��9����6O9c�a:s=ѹ������*�9q�����B�K��<bl:ӫ*��t��6?;�t9��6ȹ��9�$:R�:Y�(����_����������'иb�:�r9��:z�(7	�8`x�:�ع觮�?��)�8`Q����9�����v�:}I�=76����:�[�b%���w�����6�u���J�{�=8�sW8��8�z�8Iu�A"9|�9��::*��:o$��H�9��z��A�8�w�9w�)�I��غ�|_9����F/;��^�7	���@:�{b�To@:R���%�9yP4������09��J7�׺A*8�H9� �O�t:ؿ���F_;�-�����ܒ�3�º���wP����7z�κ���ƇA��+ʺ�h鹉v�0[η������/o/�A�9#�f:)�9�T:|C����<9������:�k]�I1�9_��m|����:Fq$���L�A����h��^Q:'�:�p/�j��:��q9p����VV����9I�:���P9�9 ��:-`��(NC:���:�.�:N�;�Ô���:Y��9��:��_��zW��%
98�9U_����x.6�H�!���'��(:��8�Z:\���]�r:�w���xE:@3������v�:�
���ѷ��9r'���ۺ4gD:�����a�Å:�ũ9��:nY:ڦu��¼:�s�:Z��Nj����,:ޅ�9��:�6�9!`U���ph���S�-�ظ;=���:�c�9��;L���y9��%:.&4�2��H��7�9�{�9n
�����
�� �8:�����_�Y����9�;���"���$�N���ۃ9���v;���9��9cD(:!t�9����x-ȹ@����:څ9.���Z&���e6�ɹ�%9$3:���9�9�"���K:F@n9)��9��
:�#39*9�i�9<����Ʉ��|����K:��"9`�9j ���$8�]'�h
�m�1:b�8{EL:A
:���:��s:�A2�ҥW���:�ֹ�`��N�A���s��ӯ942>��1��*{�9�P-9t1����8��K:"&h:�~�:�<���:259J:S�d�xM:�0U:�)ں��׺)�����E:r׹���9մ ���1:�O9�q(9�	<��hR�ͪ9B�
;o��e�g��.��)�ҹE�8GRι1���b���P�:-,�:�%�9]�2��j:>�;d�9�Q����
,��y>����:!B>9�n��3�����:T�:
H����g8��;;�i�؂����9Gxz9c�:�ع7}9X�;:��%:6�q:��9�:���9*�:��湐���6K�9�:�+:>���r����"�9����2�6:=��9�Ȋ:�'���o:]9~���L���G��Ω9����al:�ۣ8��d}�;�(-�:�Z
:��iiq9���:Z�:|�(��r�����o:t�9�@�9����ĝ9i��9��9�i�9@#9{:�9��������8$�9#�:9�s:h2^�
��:��f98�U�8�B��:�"�7��	�=��CR]8lI#:/nͺ�k9�vƺ6�4�؄���1:��+;ffr��:�C9_��9-KD�s����i:���x�he�:�D������p9|��֓J�q4�8K��:X�չ"�ʹ�p"8��+:�/6��=�z�p:h0:M`M�/R��m:�0�8�y��h�2:@���]��9�<��> �UJ�9N�i9��
��%+�_[��p�9ԟZ��Ԯ9[+%���C9�M�9�S]�y���n~�6��8��9�������9��:6���
���v���ɋ��)4�H����:�:���<)�:Z�����.��9|���z��88�9y�&;��9�������9Os�:YJ�7t~�?�:��59������9~�97��7�N�:���[�:hՁ��1����A9�%����:����F�Y�8 8�$�b�2��G9�H�:���:�鏹,9��}����:�*4�aq\��#�:�Ғ:i��ӽw��0>72윺m-�7���-C:MY�1�9�l�:�n�>P���������9���:�Yq:�tz�W�:�Pƹ�,���N:�p�Y�:G�}�|@^9C�պ��
;H*�#Gx: �K��UútM8\Kw:�?:��9�X:.�F:%5:9Vo��t�9|:���9�:͗Q��y׺�\��d�
�H���p�<���꼺� ����)���9�H�9���='�.O�g.纕q�73A,�d0�����m-(:�_6:P+�9�샺9N$:�3��Л9#x+�Z୺�( ;�}����]:�\޹
���:�P�9M_�:�u�:ؕC���w9?�$;>Y9��8K:'���6��Q�:'���ن��^��:]���}�n�W�;���:�4�^R:��:�:iz7:(6,:�n����;"n;�8�Ggf:
�:zb�(gʷS(8_���k�)�9QT}����7�W�8�,f��?�7=f˹���9��:��W:W�l�~�<:X-:qn:��f9�D9��`�a
;�Q���1���B:���RcIn���9!��:���9�:"Lj9�h ��27?Ņ:�oP�
^�7��9�	�;F�:=������91��8c):8�+����}$�U��:� ���,��1}:UW��hFc9	�[9q�:+h:S%:�r��b��8�ź��8C�e9g�/9�};�d���l?��Ad���;΁�9(�_:J����
6:Gd��~^/��9#���9?��9-�9��9���8�J��*��3�8m��99Ą��M/:v̫��eѺ��:������a��_ :yߊ�|����8%���:�9 (����8Ӈ����9\�::v����:|:�����:���8߿F�:��'V^�2��9��9��Թb����梁�n:��8�Va���7eF�)��]*/��
9�����M4��ҽ�pA�9�8���Ĺ=�b:�cx:�鎹M��9=*d9���������K�_�⸂^����1����9t�	����܍��>:����ua;��O9P���s�8k�o8~�:.�1:��9�婹�얹���8�@w�SG:7F&���\�>��8ЃC��:|=���K����:�2:6�
8g�h:r����U:9{�7�[\9���<��9~�&:��9��4L4K:��?��6�9�N�9��2:z[���?;!�9�7
:��2� �:m�k9m9�9m���؝9���ZE�B��9u(���l��4>�9���9�)�B��j�s:�1:�ٛ�!Me�:;�:�`:J:�=/:���8��2:����+{�Z�K�JV�WG���@�:Z��/&��������,����<:�u���%U93u�9�$�9�NK:�ި9�u�9.�:Uj;&���"�f[95��D��m�8��v:�3�s4���o���%��	&�$�;�қ�b�N�z�P9��>�ζ���㷀�p;8�ٺ���:rm�:���:��,:0�R��bg:
T��B#��FD�9�,�:�Ά6��^����9v��9��ҹƮO��!��}n�NK:)>'�U��b:�Lu9'���P��:ӆ)�PE.:��:��J��~A��j�%:�D7}�Q��(�?�׹�]��_7�9�m�-{Һ�/�[a3����8�}):�
��z8�:��Ӹ(��蕺#�a���	:!1��������9𣇹���9X�%;X�[:8�G�vA��D�~9B�&�������:�]�k�3:��.�0ɸ���(�����+N���.��@����:X�8�Qf8��K:̳��~�:'9
�"�9,m/:v�_��5�9T�9:Ozh9RQZ���:�V�:+Ǻ�[�;��ٹ��;Zr�J�9v':��!�p�f��}�9�'�9�V:i9�TTS:=�%�{
��<�8�cq�Lе�0E��O��9Q+���Dm����:���9�pl����{:�;�9����&�9��ٺ}�:xĄ;w��8�f���:z3����9oO�9�a��s�ܺ���b�:U&�9J�F�WȺ
��9s����9t��7�<���M����8���9��39�M9�2:�P�l���j��9��9�m:@ڒ8��9+פ��Hӹ�Ҟ��ϹB����,:B�A:�?�:��κ=Ũ�4y����9�9y��0����92Ȩ8�›��	m9!�I:x�8AO*:�!C;%�!:������TI09�Y�R��9贈�S�����E�]:mǘ;��9H]�9�9�9��9��9���L�����X=}:!�Թ��n:,���
�93{_�3���H�9�n���3V���8k۹�g/:t�:�R�:�&�8GD+9�'O���p:ԙ:*X�8�u��D��9eg�8	�
9R��9E�K��:�2%:�eԸ�:�4�� иm'Q:�ùu��:�;�Ĭ:��9.�q����e��(M:&��:��:!
��:8�
��9���9ô�3\�7�3�-_��;�%�>���
�9	�]9�ɒ:|��9Z��:[D����9w9Z���!y��_
:p������9�޸�8��6`�d9VM8��8K��8����5:6��30707070035050375141006660011710000040000010653620457563431600001100000002145unload.c#include	<stdio.h>
#include	<stddef.h>
#include	<string.h>
#include	"scsi.h"
#include	"juke.h"

j_unload(char *vol_id, char *buf)
{
	Side side;
	int i, sh, dr;
	char disk_to_unload[256];

	if(j_rdshelves(buf))	/* read in shelf names */
		return(-1);
	if(j_getstatus(buf))	/* get the jukebox status */
		return(-1);
	/* now check which side we want */

	strcpy(disk_to_unload, vol_id);
	side = SIDEA;
	sh = j_shelfof(disk_to_unload);
	if(sh < 0){
		sprintf(buf, "can not find vol_id %s", disk_to_unload);
		return(-1);
	}
	dr = -1;
	for(i = 0; i < NLUN; i++){
		printf("dr:.. %d  ", i);
		printf(" rtsh: %d\n", j_status.lun[i].retshelf);

 		/* is sh = retshelf? */

		if( (j_status.lun[i].retshelf>>1 == sh) ||
                                       (j_status.lun[i].retshelf == sh*2+1) ){   					dr = i; 
				break;
		} }
	printf("dr: %d, sh: %d, side: %d, i: %d\n", dr, sh, side, i);
	if (dr == -1){
		sprintf(buf, "no drive has vol_id %s", disk_to_unload);
		return(-1);
	}
	/* put vol_id in it's shelf*/	
	if (j_drive_to_shelf(dr, sh, side, buf) >= 0){
		sprintf(buf,"/dev/worm%d\n", dr);
		return(0);
	}
	return(-1);	
}
0707070035050421221006660011710000040000010134110474377151100000700000001671warm.c#define	_POSIX_SOURCE
#include	<stddef.h>
#include	<stdlib.h>
#include	<stdio.h>
#include	<unistd.h>
#include	<string.h>
#include	"jukeface.h"
#include	"jukebox.h"

j_warm(Jukebox *j, char *buf)
{
	int side, i;
	int drive, sh;
	char vol_id[512];
	
	if(j_rdshelves(j, buf))	/* read in shelf names */
		return(-1);
	drive = j->nluns-1;
	if(j_shstatus(j, buf))	/* get the jukebox status */
		return(-1);
	for(;;){
		for(sh = 0; sh < j->nshelves; sh++)
			if(j->shelves[sh] == 0) break;
		if(sh >= j->nshelves)
			break;
		if((i = j_load_unloaded(drive, buf)) < 0)
			return(-1);
		if(i == 0)
			break;		/* no more disks */
		if(j_dr_to_sh(drive, sh, SIDEA, buf))
			return(-1);
		if(getvol(sh, drive, vol_id, &side)){
			strcpy(buf, vol_id);
			return(-1);
		}
		printf("%s -> %d\n", vol_id, sh);
		if(j_dr_to_sh(drive, sh, side, buf) < 0)
			return(-1);
		j_wrshelf = 1;
		j->names[sh] = strdup(vol_id);
		j->shelves[sh] = 1;
		sleep(3);
	}
	return(0);
}
0707070035050370220407770011710000040000020654440474377164400000500000000000wren0707070035050370211006660011710000040000010307650470166165600001300000001015wren/dev.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

static Function fns[] = {
	{ "diag", "diag", "", wr_diag },
	{ "extinq", "extinq", "", wr_extinq },
	{ "modesense", "modesense", "", wr_modesense },
	{ "modeselect", "modeselect {page fields}*", "IIIIIIII", wr_modeselect },
	{ "logsense", "logsense", "", wr_logsense },
	{ "logselect", "logselect {page fields}*", "IIIIIIII", wr_logselect },
	{ 0 }
};
Device wrendev = {
	"wren", "Wrens/Elite disks",
	gen_extsense,
	fns
};
0707070035050370201006660011710000040000010136430467253451000001300000001305wren/inq.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"

extern char *gen_rmb[2];
extern char *gen_devtype[256];

int
wr_extinq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	char vendor[9], product[17];

#pragma ref argc
#pragma ref argv

	set6(cmd, 0x12, 0, 0, 0, 96, 0);
	if(s_io(0, &cmd, 0, &ret, 96, it->result = cd->err))
		ERR_RETURN
	fixedstr(&ret.data[8], 8, vendor);
	fixedstr(&ret.data[16], 16, product);
	printf("inq(%d,%d): %s %s, %s/%s rev=%0.4s serial=%0.8s\n",
		s_id, 0, gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]],
		vendor, product, &ret.data[32], &ret.data[36]);
	return(TCL_OK);
}
0707070035050370171006660011710000040000010654470466055074600001500000005371wren/wmode.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

int
wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#pragma ref niargs
#pragma ref ncargs
#pragma ref cargs

	printf("changing modes to ");
	if((iargs[0] < 256) && (iargs[0] >= 0))
		printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
	if((iargs[1] < 256) && (iargs[1] >= 0))
		printf("er-retries=%d, ", iargs[1]);
	if((iargs[2] < 256) && (iargs[2] >= 0))
		printf("read-recon=%d/256, ", iargs[2]);
	if((iargs[3] < 256) && (iargs[3] >= 0))
		printf("write-recon=%d/256, ", iargs[3]);
	if((iargs[4] < 256) && (iargs[4] >= 0))
		printf("cache %sable, ", iargs[4]?"en":"dis");
	if((iargs[5] < 256) && (iargs[5] >= 0))
		printf("cache threshold=%d, ", iargs[5]);
	if((iargs[6] < 256) && (iargs[6] >= 0))
		printf("cache max prefetch=%d, ", iargs[6]);
	if((iargs[7] < 256) && (iargs[7] >= 0))
		printf("cache size=%d, ", iargs[7]);
	printf("\nsleep(10); kill me if you disagree\n");
	fflush(stdout);
	sleep(10);
	/* do error recovery */
	if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
		if(n = s_io(0, &cmd, 0, &ret, 20, err))
			return(n);
		memcpy(cmd.data, ret.data, 20);
		cmd.data[14] &= ~0x10;
		if((iargs[0] < 256) && (iargs[0] >= 0))
			cmd.data[14] = iargs[0];
		if((iargs[1] < 256) && (iargs[1] >= 0))
			cmd.data[15] = iargs[1];
		set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
		if(n = s_io(0, &cmd, 20, &ret, 0, err))
			return(n);
	}
	/* reconnect */
	if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
		if(n = s_io(0, &cmd, 0, &ret, 24, err))
			return(n);
		memcpy(cmd.data, ret.data, 24);
		if((iargs[3] < 256) && (iargs[3] >= 0))
			cmd.data[14] = iargs[3];
		if((iargs[4] < 256) && (iargs[4] >= 0))
			cmd.data[15] = iargs[4];
		set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
		if(n = s_io(0, &cmd, 24, &ret, 0, err))
			return(n);
	}
	/* do cache control */
	if(((iargs[4] < 256) && (iargs[4] >= 0))
			|| ((iargs[5] < 256) && (iargs[5] >= 0))
			|| ((iargs[6] < 256) && (iargs[6] >= 0))
			|| ((iargs[7] < 256) && (iargs[7] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
		if(n = s_io(0, &cmd, 0, &ret, 28, err))
			return(n);
		memcpy(cmd.data, ret.data, 28);
		cmd.data[14] &= ~0x10;
		if(iargs[4])
			cmd.data[14] |= 0x10;
		if((iargs[7] < 256) && (iargs[7] >= 0)){
			cmd.data[14] &= 0xF0;
			cmd.data[14] |= iargs[7]&0xF;
		}
		if((iargs[5] < 256) && (iargs[5] >= 0))
			cmd.data[15] = iargs[5];
		if((iargs[6] < 256) && (iargs[6] >= 0))
			cmd.data[16] = iargs[6];
		set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
		if(n = s_io(0, &cmd, 28, &ret, 0, err))
			return(n);
	}
	return(0);
}
0707070035050370161006660011710000040000010654500457563432400001400000001427wren/diag.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

int
wr_diag(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	long t;

#pragma ref niargs
#pragma ref iargs
#pragma ref ncargs
#pragma ref cargs

	t = time((long *)0);
	set6(cmd, 0x1D, 0x04, 0, 0, 0, 0);
	if(n = s_io(0, &cmd, 0, &ret, 0, err))
		return(n);
	set6(cmd, 0x1C, 0, 0, 0, 8, 0);
	if(n = s_io(0, &cmd, 0, &ret, 8, err))
		return(n);
	t = time((long *)0)-t;
	printf("selftest diagnostic (%ds)\n", t);
	if((ret.data[7] == 0) && (ret.data[2] == 0))
		printf("\tno errors\n");
	else
		printf("\terror==#%x,#%x FRU=(#%x,#%x,#%x,#%x)\n",
			ret.data[6], ret.data[7], ret.data[2],
			ret.data[3], ret.data[4], ret.data[5]);
	return(0);
}
0707070035050370151006660011710000040000010331460470166163300001300000000612wren/fns.hextern int wr_extinq(ClientData , Tcl_Interp *, int , char **);
extern int wr_modesense(ClientData , Tcl_Interp *, int , char **);
extern int wr_modeselect(ClientData , Tcl_Interp *, int , char **);
extern int wr_diag(ClientData , Tcl_Interp *, int , char **);
extern int wr_logsense(ClientData , Tcl_Interp *, int , char **);
extern int wr_logselect(ClientData , Tcl_Interp *, int , char **);
0707070035050370141006660011710000040000010654530465634635000001500000013125wren/omode.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))

static int
er(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d\n", ret.data[15], ret.data[16]);
	return(0);
}

static int
dr(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
	if(n = s_io(0, &cmd, 0, &ret, 24, err))
		return(n);
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256,", ret.data[14]);
	printf(" write reconnect=%d/256\n", ret.data[15]);
	return(0);
}

static int
fp(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
	if(n = s_io(0, &cmd, 0, &ret, 36, err))
		return(n);
	printf("format parameters:\n");
	printf("\tsec=%dB, trk=%d secs, interleave=%d trk skew=%d cyl skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt sec/%d alt trk per zone(=%d trks), %d alt trks per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
	printf("\n");
	return(0);
}

static int
geom(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17]);
	return(0);
}

static int
cc(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

int
wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	int n;

#pragma ref ncargs
#pragma ref cargs
#pragma ref niargs
#pragma ref iargs

#define	PCF	0	/* current values */

	printf("mode sense(%d,0):\n", s_id);
	if(n = er(PCF, err))
		return(n);
	if(n = dr(PCF, err))
		return(n);
	if(n = fp(PCF, err))
		return(n);
	if(n = geom(PCF, err))
		return(n);
	if(n = cc(PCF, err))
		return(n);
	return(0);
}

int
wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#pragma ref niargs
#pragma ref ncargs
#pragma ref cargs

	printf("changing modes to ");
	if((iargs[0] < 256) && (iargs[0] >= 0))
		printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
	if((iargs[1] < 256) && (iargs[1] >= 0))
		printf("er-retries=%d, ", iargs[1]);
	if((iargs[2] < 256) && (iargs[2] >= 0))
		printf("read-recon=%d/256, ", iargs[2]);
	if((iargs[3] < 256) && (iargs[3] >= 0))
		printf("write-recon=%d/256, ", iargs[3]);
	if((iargs[4] < 256) && (iargs[4] >= 0))
		printf("cache %sable, ", iargs[4]?"en":"dis");
	if((iargs[5] < 256) && (iargs[5] >= 0))
		printf("cache threshold=%d, ", iargs[5]);
	if((iargs[6] < 256) && (iargs[6] >= 0))
		printf("cache max prefetch=%d, ", iargs[6]);
	if((iargs[7] < 256) && (iargs[7] >= 0))
		printf("cache size=%d, ", iargs[7]);
	printf("\nsleep(10); kill me if you disagree\n");
	fflush(stdout);
	sleep(10);
	/* do error recovery */
	if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
		if(n = s_io(0, &cmd, 0, &ret, 20, err))
			return(n);
		memcpy(cmd.data, ret.data, 20);
		cmd.data[14] &= ~0x10;
		if((iargs[0] < 256) && (iargs[0] >= 0))
			cmd.data[14] = iargs[0];
		if((iargs[1] < 256) && (iargs[1] >= 0))
			cmd.data[15] = iargs[1];
		set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
		if(n = s_io(0, &cmd, 20, &ret, 0, err))
			return(n);
	}
	/* reconnect */
	if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
		if(n = s_io(0, &cmd, 0, &ret, 24, err))
			return(n);
		memcpy(cmd.data, ret.data, 24);
		if((iargs[3] < 256) && (iargs[3] >= 0))
			cmd.data[14] = iargs[3];
		if((iargs[4] < 256) && (iargs[4] >= 0))
			cmd.data[15] = iargs[4];
		set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
		if(n = s_io(0, &cmd, 24, &ret, 0, err))
			return(n);
	}
	/* do cache control */
	if(((iargs[4] < 256) && (iargs[4] >= 0))
			|| ((iargs[5] < 256) && (iargs[5] >= 0))
			|| ((iargs[6] < 256) && (iargs[6] >= 0))
			|| ((iargs[7] < 256) && (iargs[7] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
		if(n = s_io(0, &cmd, 0, &ret, 28, err))
			return(n);
		memcpy(cmd.data, ret.data, 28);
		cmd.data[14] &= ~0x10;
		if(iargs[4])
			cmd.data[14] |= 0x10;
		if((iargs[7] < 256) && (iargs[7] >= 0)){
			cmd.data[14] &= 0xF0;
			cmd.data[14] |= iargs[7]&0xF;
		}
		if((iargs[5] < 256) && (iargs[5] >= 0))
			cmd.data[15] = iargs[5];
		if((iargs[6] < 256) && (iargs[6] >= 0))
			cmd.data[16] = iargs[6];
		set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
		if(n = s_io(0, &cmd, 28, &ret, 0, err))
			return(n);
	}
	return(0);
}
0707070035050370131006660011710000040000010654560465634257100001600000011721wren/oomode.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))

static int
er(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d\n", ret.data[15], ret.data[16]);
	return(0);
}

static int
dr(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
	if(n = s_io(0, &cmd, 0, &ret, 24, err))
		return(n);
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256,", ret.data[14]);
	printf(" write reconnect=%d/256\n", ret.data[15]);
	return(0);
}

static int
fp(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
	if(n = s_io(0, &cmd, 0, &ret, 36, err))
		return(n);
	printf("format parameters:\n");
	printf("\tsec=%dB, trk=%d secs, interleave=%d trk skew=%d cyl skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt sec/%d alt trk per zone(=%d trks), %d alt trks per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
	printf("\n");
	return(0);
}

static int
geom(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17]);
	return(0);
}

static int
cc(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%dx%d min=%dx%d\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

int
wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	int n;

#pragma ref ncargs
#pragma ref cargs
#pragma ref niargs
#pragma ref iargs

#define	PCF	0	/* current values */

	printf("mode sense(%d,0):\n", s_id);
	if(n = er(PCF, err))
		return(n);
	if(n = dr(PCF, err))
		return(n);
	if(n = fp(PCF, err))
		return(n);
	if(n = geom(PCF, err))
		return(n);
	if(n = cc(PCF, err))
		return(n);
	return(0);
}

int
wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#pragma ref niargs
#pragma ref ncargs
#pragma ref cargs

	printf("changing modes to ");
	if((iargs[0] < 256) && (iargs[0] >= 0))
		printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
	if((iargs[1] < 256) && (iargs[1] >= 0))
		printf("er-retries=%d, ", iargs[1]);
	if((iargs[2] < 256) && (iargs[2] >= 0))
		printf("read-recon=%d/256, ", iargs[2]);
	if((iargs[3] < 256) && (iargs[3] >= 0))
		printf("write-recon=%d/256, ", iargs[3]);
	if((iargs[4] < 256) && (iargs[4] >= 0))
		printf("cache %sable, ", iargs[4]?"en":"dis");
	printf("\nsleep(10); kill me if you disagree\n");
	fflush(stdout);
	sleep(10);
	/* do error recovery */
	if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
		if(n = s_io(0, &cmd, 0, &ret, 20, err))
			return(n);
		memcpy(cmd.data, ret.data, 20);
		cmd.data[14] &= ~0x10;
		if((iargs[0] < 256) && (iargs[0] >= 0))
			cmd.data[14] = iargs[0];
		if((iargs[1] < 256) && (iargs[1] >= 0))
			cmd.data[15] = iargs[1];
		set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
		if(n = s_io(0, &cmd, 20, &ret, 0, err))
			return(n);
	}
	/* reconnect */
	if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
		if(n = s_io(0, &cmd, 0, &ret, 24, err))
			return(n);
		memcpy(cmd.data, ret.data, 24);
		if((iargs[3] < 256) && (iargs[3] >= 0))
			cmd.data[14] = iargs[3];
		if((iargs[4] < 256) && (iargs[4] >= 0))
			cmd.data[15] = iargs[4];
		set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
		if(n = s_io(0, &cmd, 24, &ret, 0, err))
			return(n);
	}
	/* do cache control */
	if((iargs[4] < 256) && (iargs[4] >= 0)){
		set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
		if(n = s_io(0, &cmd, 0, &ret, 28, err))
			return(n);
		memcpy(cmd.data, ret.data, 28);
		cmd.data[14] &= ~0x10;
		if(iargs[4])
			cmd.data[14] |= 0x10;
		set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
		if(n = s_io(0, &cmd, 28, &ret, 0, err))
			return(n);
	}
	return(0);
}
0707070035050370121006660011710000040000010654570466056643100001500000013536wren/rmode.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))

static int
er_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[17]);
	return(0);
}

static int
dr_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
	if(n = s_io(0, &cmd, 0, &ret, 24, err))
		return(n);
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256 full,", ret.data[14]);
	printf(" write reconnect=%d/256 empty\n", ret.data[15]);
	return(0);
}

static int
fp_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
	if(n = s_io(0, &cmd, 0, &ret, 36, err))
		return(n);
	printf("format parameters:\n");
	printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
	printf("\n");
	return(0);
}

static int
geom_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17]);
	return(0);
}

static int
cc_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

static int
er_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d, %d wr retries, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[20], SHORT(22));
	return(0);
}

static int
geom_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *sspin[4] = {
		"no spindle synch",
		"synch-spindle slave",
		"synch-spindle master",
		"synch-spindle master control",
	};

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads, %s, rotation rate %d\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17],
		sspin[ret.data[29]&3], SHORT(32));
	return(0);
}

static int
cp_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "ReadCacheDisable", "", "WriteCacheEnable", "", "", "", "", "" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("caching parameters:\n\t");
	for(n = 2; n >= 0; n -= 2)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\tprefetch: min=%d, max=%d, ceiling=%d\n",
		SHORT(18), SHORT(20), SHORT(22));
	return(0);
}

static int
cc_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "SSM", "WIE", "CCEN" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

typedef (*Fn)(int, char *);
static struct Drive
{
	char *type;		/* match inq field */
	char *desc;		/* print at the user */
	Fn fns[10];
} drive[] = {		/* first one is default when none match */
	{ "94181-15", "Wren VI", er_w6, dr_w6, fp_w6, geom_w6, cc_w6, 0 },
	{ "ST4767", "Wren Runner-2", er_wr2, dr_w6, fp_w6, geom_wr2, cp_wr2, cc_wr2, 0 },
	{ 0 }
};

int
wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	int n, i, retv;
	char product[17];
	int found;
	struct scsi_cmd cmd;
	struct scsi_return ret;

#pragma ref ncargs
#pragma ref cargs
#pragma ref niargs
#pragma ref iargs

#define	PCF	0	/* current values */

	/* find drive type */
	set6(cmd, 0x12, 0, 0, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	fixedstr(&ret.data[16], 16, product);
	for(n = 0, found = 0; drive[n].type; n++)
		if(strcmp(product, drive[n].type) == 0){
			found = 1;
			break;
		}
	if(!found)
		n = 0;

	if(found)
		printf("mode sense(%d,0)[%s(%s)]:\n", s_id, drive[n].desc, product);
	else
		printf("mode sense(%d,0)[using %s, found '%s']:\n", s_id, drive[n].desc, product);
	for(i = 0; drive[n].fns[i]; i++)
		if(retv = (*drive[n].fns[i])(PCF, err))
			return(retv);
	return(0);
}
0707070035050555601006660011710000040000010215750473371213600001500000020140wren/wren5.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"
#include	"wren.h"

static int msense(ClientData, int, char **);
static int mselect(ClientData, int, char **);
Wren wr_wren5 =
{
	"94181-15",
	"Wren V",
	msense,
	mselect,
	0,
	0,
	0
};

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))
#define	LONG(n)		((((long)SHORT(n))<<16) | SHORT(n+2))
#define	GETPAGE(page, pcf, ndata)\
	{\
		set6(cmd, 0x1A, 0, (pcf<<6)|page, 0, 12+ndata, 0);\
		if(s_io(0, &cmd, 0, &ret, 12+ndata, err)) return(-1);\
		if(((ret.data[12]&0x3F) != page) || (ret.data[13]+2!= ndata))\
			printf("pg=#%x(#%x) data=#%x(#%x)\n",\
				ret.data[12], page, ret.data[13], ndata);\
	}
#define	GETLPAGE(page, ppc, pc, pp, ndata)\
	{\
		set10(cmd, 0x4D, ppc<<1, (pc<<6)|page, 0, 0, pp>>8, pp, (ndata+4)>>8, (ndata+4), 0);\
		if(s_io(0, &cmd, 0, &ret, 4+ndata, err)) return(-1);\
		if(((ret.data[0]&0x3F) != page) || (SHORT(2)!= ndata))\
			printf("pg=#%x(#%x) data=#%x(#%x)\n",\
				ret.data[0], page, SHORT(2), ndata);\
	}

static int
er(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EER", "RC", "TB", "ARRE", "AWRE" };

	GETPAGE(0x01, pcf, 8)
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
	printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[19]);
	return(0);
}

static int
dr(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	GETPAGE(0x02, pcf, 12)
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256 full,", ret.data[14]);
	printf(" write reconnect=%d/256 empty\n", ret.data[15]);
	return(0);
}

static int
fp(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };

	GETPAGE(0x03, pcf, 24);
	printf("format parameters:\n");
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s=%d", bit[n], !!(ret.data[32]&(1<<n)));
	printf("\n");
	printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	return(0);
}

static int
geom(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	GETPAGE(0x04, pcf, 20);
	printf("drive geometry:\n\t%d cyls, %d heads\n",
		(((long)ret.data[14])<<16)|SHORT(15), ret.data[17]);
	return(0);
}

static int
vc(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CE", 0, "WIE", 0 };

	GETPAGE(0x38, pcf, 16)
	printf("vendor caching parameters:\n\t");
	for(n = 7; n >= 4; n--)
		if(bit[n])
			printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

static char *pcfval[4] = { "current", "changeable", "default", "saved" };

static int
msense(ClientData cd, int argc, char **argv)
{
	int pcf;

	if(argc > 2){
usage:
		sprintf(cd->err, "usage: modesense [%s|%s|%s|%s]", pcfval[0], pcfval[1], pcfval[2], pcfval[3]);
		return(TCL_ERROR);
	}
	if(argc == 2){
		for(pcf = 3; pcf >= 0; pcf--)
			if(strcmp(pcfval[pcf], argv[1]) == 0)
				break;
		if(pcf < 0)
			goto usage;
	} else
		pcf = 0;
	printf("modesense(id=%d,%s values):\n", s_id, pcfval[pcf]);
	if(er(pcf, cd->err))
		return(1);
	if(dr(pcf, cd->err))
		return(1);
	if(fp(pcf, cd->err))
		return(1);
	if(geom(pcf, cd->err))
		return(1);
	if(vc(pcf, cd->err))
		return(1);
	return(0);
}

static Page pages[] =
{
	{ "er", 0x1, {
		{ "dcr", 2, 0, 1 },
		{ "dte", 2, 1, 1 },
		{ "per", 2, 2, 1 },
		{ "eer", 2, 3, 1 },
		{ "rc", 2, 4, 1 },
		{ "tb", 2, 5, 1 },
		{ "arre", 2, 6, 1 },
		{ "awre", 2, 7, 1 },
		{ "read retries", 3, 0, 8 },
		{ (char *)0 },
	}},
	{ "dr", 0x2, {
		{ "buffer full", 2, 0, 8 },
		{ "buffer empty", 3, 0, 8 },
		{ (char *)0 },
	}},
	{ "vc", 0x38, {
		{ "ce", 2, 4, 1 },
		{ (char *)0 },
	}},
	{ (char *)0 }
};

static int
mselect(ClientData cd, int argc, char **argv)
{
	int page, i;
	int pcf = 0;
	Field *f, *todo[64], **fp = todo;

#pragma ref argc

	argv++;
	if(*argv){
		for(i = 0; i < 4; i++)
			if(strcmp(pcfval[i], *argv) == 0){
				pcf = i;
				argv++;
			}
	}
	if(*argv == 0){
usage:
		printf("Usage: modeselect ");
		for(i = 0; i < 4; i++)
			printf("%c%s", i?'|':'[', pcfval[i]);
		printf("]");
		for(i = 0; pages[i].name; i++)
			printf("%c%s", i?'|':' ', pages[i].name);
		printf(" fields ...\n");
		return(TCL_OK);
	}
	for(i = 0; pages[i].name; i++)
		if(strcmp(pages[i].name, *argv) == 0)
			break;
	if(pages[i].name == 0)
		goto usage;
	page = i;
	if(*++argv == 0){
fusage:
		printf("fields for page %s:", pages[page].name);
		for(i = 0; pages[page].fields[i].name; i++)
			printf(" '%s'", pages[page].fields[i].name);
		printf("\n");
		return(TCL_OK);
	}
	while(*argv){
		for(f = pages[page].fields; f->name; f++)
			if(strcmp(f->name, *argv) == 0)
				break;
		if(f->name == 0)
			goto fusage;
		if(*++argv == 0){
			sprintf(cd->err, "expected val for field %s", f->name);
			return(-1);
		}
		f->nval = atol(*argv++);
		*fp++ = f;
	}
	*fp = 0;
	return(wr_mpage(pcf, pages[page].page, todo, cd->err));
}

#ifdef	NO
#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

int
wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#pragma ref niargs
#pragma ref ncargs
#pragma ref cargs

	printf("changing modes to ");
	if((iargs[0] < 256) && (iargs[0] >= 0))
		printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
	if((iargs[1] < 256) && (iargs[1] >= 0))
		printf("er-retries=%d, ", iargs[1]);
	if((iargs[2] < 256) && (iargs[2] >= 0))
		printf("read-recon=%d/256, ", iargs[2]);
	if((iargs[3] < 256) && (iargs[3] >= 0))
		printf("write-recon=%d/256, ", iargs[3]);
	if((iargs[4] < 256) && (iargs[4] >= 0))
		printf("cache %sable, ", iargs[4]?"en":"dis");
	if((iargs[5] < 256) && (iargs[5] >= 0))
		printf("cache threshold=%d, ", iargs[5]);
	if((iargs[6] < 256) && (iargs[6] >= 0))
		printf("cache max prefetch=%d, ", iargs[6]);
	if((iargs[7] < 256) && (iargs[7] >= 0))
		printf("cache size=%d, ", iargs[7]);
	printf("\nsleep(10); kill me if you disagree\n");
	fflush(stdout);
	sleep(10);
	/* do error recovery */
	if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
		if(n = s_io(0, &cmd, 0, &ret, 20, err))
			return(n);
		memcpy(cmd.data, ret.data, 20);
		cmd.data[14] &= ~0x10;
		if((iargs[0] < 256) && (iargs[0] >= 0))
			cmd.data[14] = iargs[0];
		if((iargs[1] < 256) && (iargs[1] >= 0))
			cmd.data[15] = iargs[1];
		set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
		if(n = s_io(0, &cmd, 20, &ret, 0, err))
			return(n);
	}
	/* reconnect */
	if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
		if(n = s_io(0, &cmd, 0, &ret, 24, err))
			return(n);
		memcpy(cmd.data, ret.data, 24);
		if((iargs[3] < 256) && (iargs[3] >= 0))
			cmd.data[14] = iargs[3];
		if((iargs[4] < 256) && (iargs[4] >= 0))
			cmd.data[15] = iargs[4];
		set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
		if(n = s_io(0, &cmd, 24, &ret, 0, err))
			return(n);
	}
	/* do cache control */
	if(((iargs[4] < 256) && (iargs[4] >= 0))
			|| ((iargs[5] < 256) && (iargs[5] >= 0))
			|| ((iargs[6] < 256) && (iargs[6] >= 0))
			|| ((iargs[7] < 256) && (iargs[7] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
		if(n = s_io(0, &cmd, 0, &ret, 28, err))
			return(n);
		memcpy(cmd.data, ret.data, 28);
		cmd.data[14] &= ~0x10;
		if(iargs[4])
			cmd.data[14] |= 0x10;
		if((iargs[7] < 256) && (iargs[7] >= 0)){
			cmd.data[14] &= 0xF0;
			cmd.data[14] |= iargs[7]&0xF;
		}
		if((iargs[5] < 256) && (iargs[5] >= 0))
			cmd.data[15] = iargs[5];
		if((iargs[6] < 256) && (iargs[6] >= 0))
			cmd.data[16] = iargs[6];
		set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
		if(n = s_io(0, &cmd, 28, &ret, 0, err))
			return(n);
	}
	return(0);
}
#endif
0707070035050551661006660011710000040000010307510467374300100001500000021127wren/wren6.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))

static int
er_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[17]);
	return(0);
}

static int
dr_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
	if(n = s_io(0, &cmd, 0, &ret, 24, err))
		return(n);
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256 full,", ret.data[14]);
	printf(" write reconnect=%d/256 empty\n", ret.data[15]);
	return(0);
}

static int
fp_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
	if(n = s_io(0, &cmd, 0, &ret, 36, err))
		return(n);
	printf("format parameters:\n");
	printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
	printf("\n");
	return(0);
}

static int
geom_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17]);
	return(0);
}

static int
cc_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

static int
er_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d, %d wr retries, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[20], SHORT(22));
	return(0);
}

static int
geom_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *sspin[4] = {
		"no spindle synch",
		"synch-spindle slave",
		"synch-spindle master",
		"synch-spindle master control",
	};

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads, %s, rotation rate %d\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17],
		sspin[ret.data[29]&3], SHORT(32));
	return(0);
}

static int
cp_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "ReadCacheDisable", "", "WriteCacheEnable", "", "", "", "", "" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("caching parameters:\n\t");
	for(n = 2; n >= 0; n -= 2)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\tprefetch: min=%d, max=%d, ceiling=%d\n",
		SHORT(18), SHORT(20), SHORT(22));
	return(0);
}

static int
cc_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "SSM", "WIE", "CCEN" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

typedef (*Fn)(int, char *);
static struct Drive
{
	char *type;		/* match inq field */
	char *desc;		/* print at the user */
	Fn fns[10];
} drive[] = {		/* first one is default when none match */
	{ "94181-15", "Wren VI", er_w6, dr_w6, fp_w6, geom_w6, cc_w6, 0 },
	{ "ST4767", "Wren Runner-2", er_wr2, dr_w6, fp_w6, geom_wr2, cp_wr2, cc_wr2, 0 },
	{ 0 }
};

int
wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	int n, i, retv;
	char product[17];
	int found;
	struct scsi_cmd cmd;
	struct scsi_return ret;

#pragma ref ncargs
#pragma ref cargs
#pragma ref niargs
#pragma ref iargs

#define	PCF	0	/* current values */

	/* find drive type */
	set6(cmd, 0x12, 0, 0, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	fixedstr(&ret.data[16], 16, product);
	for(n = 0, found = 0; drive[n].type; n++)
		if(strcmp(product, drive[n].type) == 0){
			found = 1;
			break;
		}
	if(!found)
		n = 0;

	if(found)
		printf("mode sense(%d,0)[%s(%s)]:\n", s_id, drive[n].desc, product);
	else
		printf("mode sense(%d,0)[using %s, found '%s']:\n", s_id, drive[n].desc, product);
	for(i = 0; drive[n].fns[i]; i++)
		if(retv = (*drive[n].fns[i])(PCF, err))
			return(retv);
	return(0);
}
#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

int
wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#pragma ref niargs
#pragma ref ncargs
#pragma ref cargs

	printf("changing modes to ");
	if((iargs[0] < 256) && (iargs[0] >= 0))
		printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
	if((iargs[1] < 256) && (iargs[1] >= 0))
		printf("er-retries=%d, ", iargs[1]);
	if((iargs[2] < 256) && (iargs[2] >= 0))
		printf("read-recon=%d/256, ", iargs[2]);
	if((iargs[3] < 256) && (iargs[3] >= 0))
		printf("write-recon=%d/256, ", iargs[3]);
	if((iargs[4] < 256) && (iargs[4] >= 0))
		printf("cache %sable, ", iargs[4]?"en":"dis");
	if((iargs[5] < 256) && (iargs[5] >= 0))
		printf("cache threshold=%d, ", iargs[5]);
	if((iargs[6] < 256) && (iargs[6] >= 0))
		printf("cache max prefetch=%d, ", iargs[6]);
	if((iargs[7] < 256) && (iargs[7] >= 0))
		printf("cache size=%d, ", iargs[7]);
	printf("\nsleep(10); kill me if you disagree\n");
	fflush(stdout);
	sleep(10);
	/* do error recovery */
	if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
		if(n = s_io(0, &cmd, 0, &ret, 20, err))
			return(n);
		memcpy(cmd.data, ret.data, 20);
		cmd.data[14] &= ~0x10;
		if((iargs[0] < 256) && (iargs[0] >= 0))
			cmd.data[14] = iargs[0];
		if((iargs[1] < 256) && (iargs[1] >= 0))
			cmd.data[15] = iargs[1];
		set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
		if(n = s_io(0, &cmd, 20, &ret, 0, err))
			return(n);
	}
	/* reconnect */
	if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
		if(n = s_io(0, &cmd, 0, &ret, 24, err))
			return(n);
		memcpy(cmd.data, ret.data, 24);
		if((iargs[3] < 256) && (iargs[3] >= 0))
			cmd.data[14] = iargs[3];
		if((iargs[4] < 256) && (iargs[4] >= 0))
			cmd.data[15] = iargs[4];
		set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
		if(n = s_io(0, &cmd, 24, &ret, 0, err))
			return(n);
	}
	/* do cache control */
	if(((iargs[4] < 256) && (iargs[4] >= 0))
			|| ((iargs[5] < 256) && (iargs[5] >= 0))
			|| ((iargs[6] < 256) && (iargs[6] >= 0))
			|| ((iargs[7] < 256) && (iargs[7] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
		if(n = s_io(0, &cmd, 0, &ret, 28, err))
			return(n);
		memcpy(cmd.data, ret.data, 28);
		cmd.data[14] &= ~0x10;
		if(iargs[4])
			cmd.data[14] |= 0x10;
		if((iargs[7] < 256) && (iargs[7] >= 0)){
			cmd.data[14] &= 0xF0;
			cmd.data[14] |= iargs[7]&0xF;
		}
		if((iargs[5] < 256) && (iargs[5] >= 0))
			cmd.data[15] = iargs[5];
		if((iargs[6] < 256) && (iargs[6] >= 0))
			cmd.data[16] = iargs[6];
		set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
		if(n = s_io(0, &cmd, 28, &ret, 0, err))
			return(n);
	}
	return(0);
}
0707070035050562171006660011710000040000010307570467374302600001700000021127wren/runner2.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))

static int
er_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[17]);
	return(0);
}

static int
dr_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
	if(n = s_io(0, &cmd, 0, &ret, 24, err))
		return(n);
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256 full,", ret.data[14]);
	printf(" write reconnect=%d/256 empty\n", ret.data[15]);
	return(0);
}

static int
fp_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
	if(n = s_io(0, &cmd, 0, &ret, 36, err))
		return(n);
	printf("format parameters:\n");
	printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
	printf("\n");
	return(0);
}

static int
geom_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17]);
	return(0);
}

static int
cc_w6(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

static int
er_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
	if(n = s_io(0, &cmd, 0, &ret, 20, err))
		return(n);
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\t%d retries, max ecc span=%d, %d wr retries, recov tlimit=%d\n",
		ret.data[15], ret.data[16], ret.data[20], SHORT(22));
	return(0);
}

static int
geom_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *sspin[4] = {
		"no spindle synch",
		"synch-spindle slave",
		"synch-spindle master",
		"synch-spindle master control",
	};

	set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	printf("drive geometry:\n\t%d cyls, %d heads, %s, rotation rate %d\n",
		(ret.data[14]<<16)|SHORT(15), ret.data[17],
		sspin[ret.data[29]&3], SHORT(32));
	return(0);
}

static int
cp_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "ReadCacheDisable", "", "WriteCacheEnable", "", "", "", "", "" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("caching parameters:\n\t");
	for(n = 2; n >= 0; n -= 2)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf("\n\tprefetch: min=%d, max=%d, ceiling=%d\n",
		SHORT(18), SHORT(20), SHORT(22));
	return(0);
}

static int
cc_wr2(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CacheEnable", "SSM", "WIE", "CCEN" };

	set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
	if(n = s_io(0, &cmd, 0, &ret, 28, err))
		return(n);
	printf("cache control:\n\t");
	for(n = 7; n >= 4; n--)
		printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

typedef (*Fn)(int, char *);
static struct Drive
{
	char *type;		/* match inq field */
	char *desc;		/* print at the user */
	Fn fns[10];
} drive[] = {		/* first one is default when none match */
	{ "94181-15", "Wren VI", er_w6, dr_w6, fp_w6, geom_w6, cc_w6, 0 },
	{ "ST4767", "Wren Runner-2", er_wr2, dr_w6, fp_w6, geom_wr2, cp_wr2, cc_wr2, 0 },
	{ 0 }
};

int
wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	int n, i, retv;
	char product[17];
	int found;
	struct scsi_cmd cmd;
	struct scsi_return ret;

#pragma ref ncargs
#pragma ref cargs
#pragma ref niargs
#pragma ref iargs

#define	PCF	0	/* current values */

	/* find drive type */
	set6(cmd, 0x12, 0, 0, 0, 32, 0);
	if(n = s_io(0, &cmd, 0, &ret, 32, err))
		return(n);
	fixedstr(&ret.data[16], 16, product);
	for(n = 0, found = 0; drive[n].type; n++)
		if(strcmp(product, drive[n].type) == 0){
			found = 1;
			break;
		}
	if(!found)
		n = 0;

	if(found)
		printf("mode sense(%d,0)[%s(%s)]:\n", s_id, drive[n].desc, product);
	else
		printf("mode sense(%d,0)[using %s, found '%s']:\n", s_id, drive[n].desc, product);
	for(i = 0; drive[n].fns[i]; i++)
		if(retv = (*drive[n].fns[i])(PCF, err))
			return(retv);
	return(0);
}
#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"fns.h"

int
wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#pragma ref niargs
#pragma ref ncargs
#pragma ref cargs

	printf("changing modes to ");
	if((iargs[0] < 256) && (iargs[0] >= 0))
		printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
	if((iargs[1] < 256) && (iargs[1] >= 0))
		printf("er-retries=%d, ", iargs[1]);
	if((iargs[2] < 256) && (iargs[2] >= 0))
		printf("read-recon=%d/256, ", iargs[2]);
	if((iargs[3] < 256) && (iargs[3] >= 0))
		printf("write-recon=%d/256, ", iargs[3]);
	if((iargs[4] < 256) && (iargs[4] >= 0))
		printf("cache %sable, ", iargs[4]?"en":"dis");
	if((iargs[5] < 256) && (iargs[5] >= 0))
		printf("cache threshold=%d, ", iargs[5]);
	if((iargs[6] < 256) && (iargs[6] >= 0))
		printf("cache max prefetch=%d, ", iargs[6]);
	if((iargs[7] < 256) && (iargs[7] >= 0))
		printf("cache size=%d, ", iargs[7]);
	printf("\nsleep(10); kill me if you disagree\n");
	fflush(stdout);
	sleep(10);
	/* do error recovery */
	if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
		if(n = s_io(0, &cmd, 0, &ret, 20, err))
			return(n);
		memcpy(cmd.data, ret.data, 20);
		cmd.data[14] &= ~0x10;
		if((iargs[0] < 256) && (iargs[0] >= 0))
			cmd.data[14] = iargs[0];
		if((iargs[1] < 256) && (iargs[1] >= 0))
			cmd.data[15] = iargs[1];
		set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
		if(n = s_io(0, &cmd, 20, &ret, 0, err))
			return(n);
	}
	/* reconnect */
	if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
		if(n = s_io(0, &cmd, 0, &ret, 24, err))
			return(n);
		memcpy(cmd.data, ret.data, 24);
		if((iargs[3] < 256) && (iargs[3] >= 0))
			cmd.data[14] = iargs[3];
		if((iargs[4] < 256) && (iargs[4] >= 0))
			cmd.data[15] = iargs[4];
		set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
		if(n = s_io(0, &cmd, 24, &ret, 0, err))
			return(n);
	}
	/* do cache control */
	if(((iargs[4] < 256) && (iargs[4] >= 0))
			|| ((iargs[5] < 256) && (iargs[5] >= 0))
			|| ((iargs[6] < 256) && (iargs[6] >= 0))
			|| ((iargs[7] < 256) && (iargs[7] >= 0))){
		set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
		if(n = s_io(0, &cmd, 0, &ret, 28, err))
			return(n);
		memcpy(cmd.data, ret.data, 28);
		cmd.data[14] &= ~0x10;
		if(iargs[4])
			cmd.data[14] |= 0x10;
		if((iargs[7] < 256) && (iargs[7] >= 0)){
			cmd.data[14] &= 0xF0;
			cmd.data[14] |= iargs[7]&0xF;
		}
		if((iargs[5] < 256) && (iargs[5] >= 0))
			cmd.data[15] = iargs[5];
		if((iargs[6] < 256) && (iargs[6] >= 0))
			cmd.data[16] = iargs[6];
		set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
		if(n = s_io(0, &cmd, 28, &ret, 0, err))
			return(n);
	}
	return(0);
}
0707070035050555571006660011710000040000010307600473370251100001500000016212wren/elite.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"
#include	"wren.h"

static int msense(ClientData, int, char **);
static int mselect(ClientData, int, char **);
static int lsense(ClientData, int, char **);
Wren wr_elite =
{
	"ST41520N",
	"Elite-1",
	msense,
	mselect,
	0,
	lsense,
	0
};

#define	SHORT(n)	((ret.data[n]<<8)|(ret.data[n+1]))
#define	LONG(n)		((((long)SHORT(n))<<16) | SHORT(n+2))
#define	GETPAGE(page, pcf, ndata)\
	{\
		set6(cmd, 0x1A, 0, (pcf<<6)|page, 0, 12+ndata, 0);\
		if(s_io(0, &cmd, 0, &ret, 12+ndata, err)) return(-1);\
		if(((ret.data[12]&0x3F) != page) || (ret.data[13]+2!= ndata))\
			printf("pg=#%x(#%x) data=#%x(#%x)\n",\
				ret.data[12], page, ret.data[13], ndata);\
	}
#define	GETLPAGE(page, ppc, pc, pp, ndata)\
	{\
		set10(cmd, 0x4D, ppc<<1, (pc<<6)|page, 0, 0, pp>>8, pp, (ndata+4)>>8, (ndata+4), 0);\
		if(s_io(0, &cmd, 0, &ret, 4+ndata, err)) return(-1);\
		if(((ret.data[0]&0x3F) != page) || (SHORT(2)!= ndata))\
			printf("pg=#%x(#%x) data=#%x(#%x)\n",\
				ret.data[0], page, SHORT(2), ndata);\
	}

static int
er(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "DCR", "DTE", "PER", "EER", "RC", "TB", "ARRE", "AWRE" };

	GETPAGE(0x01, pcf, 12)
	printf("error recovery:\n\t");
	for(n = 7; n >= 0; n--)
		printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
	printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
		ret.data[15], ret.data[16], SHORT(22));
	return(0);
}

static int
dr(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;

	GETPAGE(0x02, pcf, 16)
	printf("disconnect/reconnect:\n");
	printf("\tread reconnect=%d/256 full,", ret.data[14]);
	printf(" write reconnect=%d/256 empty\n", ret.data[15]);
	return(0);
}

static int
fp(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "SURF", "Remove", "HardSec", "SoftSec" };

	GETPAGE(0x03, pcf, 24);
	printf("format parameters:\n");
	printf("\tdrive type:");
	for(n = 7; n >= 3; n--)
		printf(" %s=%d", bit[n], !!(ret.data[32]&(1<<n)));
	printf("\n");
	printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
		SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
	printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
		SHORT(16), SHORT(18), SHORT(14), SHORT(20));
	return(0);
}

static int
geom(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	static char *sync[4] = { "disabled", "slave", "master", "reserved" };

	GETPAGE(0x04, pcf, 24);
	printf("drive geometry:\n\t%d cyls, %d heads, %d RPM, spindle-sync=%s\n",
		(((long)ret.data[14])<<16)|SHORT(15), ret.data[17], SHORT(32),
		sync[ret.data[29]&0x3]);
	return(0);
}

static int
gcp(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[] = { "RCD", "MF", "WCE" };

	GETPAGE(0x08, pcf, 12)
	printf("generic caching parameters:\n\t");
	for(n = 0; n < 3; n++)
		printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
	printf("\n\trd retent priority=%d, wr retent priority=%d\n",
		ret.data[15]>>4&0xF, ret.data[15]&0xF);
	printf("\tprefetch: min=%d, max=%d, ceiling=%d\n",
		SHORT(18), SHORT(20), SHORT(22));
	return(0);
}

static int
vc(int pcf, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;
	static char *bit[8] = { "", "", "", "", "CE", 0, "WIE", "ZLR" };

	GETPAGE(0x38, pcf, 16)
	printf("vendor caching parameters:\n\t");
	for(n = 7; n >= 4; n--)
		if(bit[n])
			printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
	printf(", cache size=%d\n", ret.data[14]&0xF);
	printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
		ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
	return(0);
}

static char *pcfval[4] = { "current", "changeable", "default", "saved" };

static int
msense(ClientData cd, int argc, char **argv)
{
	int pcf;

	if(argc > 2){
usage:
		sprintf(cd->err, "usage: modesense [%s|%s|%s|%s]", pcfval[0], pcfval[1], pcfval[2], pcfval[3]);
		return(TCL_ERROR);
	}
	if(argc == 2){
		for(pcf = 3; pcf >= 0; pcf--)
			if(strcmp(pcfval[pcf], argv[1]) == 0)
				break;
		if(pcf < 0)
			goto usage;
	} else
		pcf = 0;
	printf("modesense(id=%d,%s values):\n", s_id, pcfval[pcf]);
	if(er(pcf, cd->err))
		return(1);
	if(dr(pcf, cd->err))
		return(1);
	if(fp(pcf, cd->err))
		return(1);
	if(geom(pcf, cd->err))
		return(1);
	if(gcp(pcf, cd->err))
		return(1);
	if(vc(pcf, cd->err))
		return(1);
	return(0);
}

static Page pages[] =
{
	{ "er", 0x1, {
		{ "dcr", 2, 0, 1 },
		{ "dte", 2, 1, 1 },
		{ "per", 2, 2, 1 },
		{ "eer", 2, 3, 1 },
		{ "rc", 2, 4, 1 },
		{ "tb", 2, 5, 1 },
		{ "arre", 2, 6, 1 },
		{ "awre", 2, 7, 1 },
		{ "read retries", 3, 0, 8 },
		{ (char *)0 },
	}},
	{ "gc", 0x08, {
		{ "rcd", 2, 0, 1 },
		{ "rdrp", 3, 4, 4 },
		{ "minpref", 7, 0, 16 },
		{ "maxpref", 9, 0, 16 },
		{ (char *)0 },
	}},
	{ "vc", 0x38, {
		{ "csize", 2, 0, 4 },
		{ "ce", 2, 4, 1 },
		{ "wie", 2, 6, 1 },
		{ "zlr", 2, 7, 1 },
		{ (char *)0 },
	}},
	{ (char *)0 }
};

static int
mselect(ClientData cd, int argc, char **argv)
{
	int page, i;
	int pcf = 0;
	Field *f, *todo[64], **fp = todo;

#pragma ref argc

	argv++;
	if(*argv){
		for(i = 0; i < 4; i++)
			if(strcmp(pcfval[i], *argv) == 0){
				pcf = i;
				argv++;
			}
	}
	if(*argv == 0){
usage:
		printf("Usage: modeselect ");
		for(i = 0; i < 4; i++)
			printf("%c%s", i?'|':'[', pcfval[i]);
		printf("]");
		for(i = 0; pages[i].name; i++)
			printf("%c%s", i?'|':' ', pages[i].name);
		printf(" fields ...\n");
		return(TCL_OK);
	}
	for(i = 0; pages[i].name; i++)
		if(strcmp(pages[i].name, *argv) == 0)
			break;
	if(pages[i].name == 0)
		goto usage;
	page = i;
	if(*++argv == 0){
fusage:
		printf("fields for page %s:", pages[page].name);
		for(i = 0; pages[page].fields[i].name; i++)
			printf(" '%s'", pages[page].fields[i].name);
		printf("\n");
		return(TCL_OK);
	}
	while(*argv){
		for(f = pages[page].fields; f->name; f++)
			if(strcmp(f->name, *argv) == 0)
				break;
		if(f->name == 0)
			goto fusage;
		if(*++argv == 0){
			sprintf(cd->err, "expected val for field %s", f->name);
			return(-1);
		}
		f->nval = atol(*argv++);
		*fp++ = f;
	}
	*fp = 0;
	return(wr_mpage(pcf, pages[page].page, todo, cd->err));
}

static int
cs(int pc, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int n;

#define	DU(n)	((ret.data[n]&0x80)? "[DU]":"")

	GETLPAGE(0x30, 0/*ppc*/, pc, 0/*pp*/, 40)
	printf("cache statistics:\n");
	printf("\tblocks: %d read%s, %d written%s, %d read from cache%s\n", LONG(8), DU(6), LONG(16), DU(14), LONG(24), DU(22));
	printf("\trequests: %d in segment%s, %d out of segment%s\n", LONG(32), DU(30), LONG(40), DU(38));
	return(0);
}

static char *pcval[4] = { "current thresh", "current cum", "default thresh", "default cum" };

static int
lsense(ClientData cd, int argc, char **argv)
{
	int pcf;

/*	if(argc > 2){
usage:
		sprintf(cd->err, "usage: logsense [%s|%s|%s|%s]", pcfval[0], pcfval[1], pcfval[2], pcfval[3]);
		return(TCL_ERROR);
	}
	if(argc == 2){
		for(pcf = 3; pcf >= 0; pcf--)
			if(strcmp(pcval[pcf], argv[1]) == 0)
				break;
		if(pcf < 0)
			goto usage;
	} else
		pcf = 0;
*/
		pcf = 0;
	printf("logsense(id=%d,%s values):\n", s_id, pcval[pcf]);
	if(cs(pcf, cd->err))
		return(1);
	return(0);
}
0707070035050555201006660011710000040000010307620473371171400001600000004224wren/driver.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"
#include	"wren.h"

static Wren *types[] =
{
	&wr_elite,
	&wr_wren5,
	0
};

static Wren *curtype = 0;

static int
setwren(char *err)
{
	int n;
	char product[17];
	int found;
	struct scsi_cmd cmd;
	struct scsi_return ret;

	/* find drive type */
	set6(cmd, 0x12, 0, 0, 0, 32, 0);
	if(s_io(0, &cmd, 0, &ret, 32, err))
		return(-1);
	fixedstr(&ret.data[16], 16, product);
	for(n = 0, found = 0; types[n]; n++)
		if(strcmp(product, types[n]->ident) == 0){
			found = 1;
			break;
		}
	if(found){
		if(types[n] != curtype){
			curtype = types[n];
			printf("drive is a %s (%s)\n",
				curtype->desc, curtype->ident);
		}
	} else {
		curtype = types[0];
		printf("drive is '%s'; pretending it's a %s\n",
			product, curtype->desc);
	}
	return(0);
}

int wr_modesense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	if(setwren(cd->err))
		ERR_RETURN
	if(curtype->msense == 0){
		strcpy(cd->err, "modesense not implemented");
		ERR_RETURN
	}
	if((*curtype->msense)(cd, argc, argv))
		ERR_RETURN
	return(TCL_OK);
}

int wr_modeselect(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	if(setwren(cd->err))
		ERR_RETURN
	if(curtype->mselect == 0){
		strcpy(cd->err, "modeselect not implemented");
		ERR_RETURN
	}
	if((*curtype->mselect)(cd, argc, argv))
		ERR_RETURN
	return(TCL_OK);
}

int wr_diag(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	if(setwren(cd->err))
		ERR_RETURN
	if(curtype->diag == 0){
		strcpy(cd->err, "diagnostics not implemented");
		ERR_RETURN
	}
	if((*curtype->diag)(cd, argc, argv))
		ERR_RETURN
	return(TCL_OK);
}

int wr_logsense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	if(setwren(cd->err))
		ERR_RETURN
	if(curtype->lsense == 0){
		strcpy(cd->err, "logging not implemented");
		ERR_RETURN
	}
	if((*curtype->lsense)(cd, argc, argv))
		ERR_RETURN
	return(TCL_OK);
}

int wr_logselect(ClientData cd, Tcl_Interp *it, int argc, char **argv)
{
	if(setwren(cd->err))
		ERR_RETURN
	if(curtype->lselect == 0){
		strcpy(cd->err, "logging not implemented");
		ERR_RETURN
	}
	if((*curtype->lselect)(cd, argc, argv))
		ERR_RETURN
	return(TCL_OK);
}
0707070035050555131006660011710000040000010310030473371170700001400000000723wren/wren.htypedef int (*wfn)(ClientData, int, char **);

typedef struct
{
	char *ident;
	char *desc;
	wfn msense;
	wfn mselect;
	wfn diag;
	wfn lsense;
	wfn lselect;
} Wren;

extern Wren wr_elite;
extern Wren wr_wren5;

typedef struct
{
	char *name;
	int byteoff;
	int bitoff;
	int len;		/* in bits */
	long nval;		/* new value */
} Field;

extern int wr_mpage(int pcf, int page, Field **fields, char *err);

typedef struct
{
	char *name;
	int page;
	Field fields[10];
} Page;
0707070035050553121006660011710000040000010325470470271202300001500000003011wren/mpage.c#include	<stdio.h>
#include	"../scsi.h"
#include	"../scsish.h"
#include	"../tcl.h"
#include	"fns.h"
#include	"wren.h"

int
wr_mpage(int pcf, int page, Field **fields, char *err)
{
	struct scsi_cmd cmd;
	struct scsi_return ret;
	int ndata;
	int m, msk;
	Field *f, **fp;
	static int mask[8] = { 0x0, 0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F };

	set6(cmd, 0x1A, 0, (pcf<<6)|page, 0, 60, 0);
	if(s_io(0, &cmd, 0, &ret, -72, err))
		return(-1);
	ndata = ret.nread;
	if(((ret.data[12]&0x3F) != page) || (ret.data[13]+14!= ndata))
		printf("pg=#%x(#%x) data=#%x(#%x)\n", ret.data[12], page, ret.data[13], ndata);

	printf("setting");
	for(fp = fields; f = *fp; fp++)
		printf(" %s '%s'=%d", ((*fp)->len==1)? "bit":"count", (*fp)->name, (*fp)->nval);
	printf("; kill me if that's wrong\n");
	fflush(stdout);
	sleep(5);
	for(fp = fields; f = *fp; fp++)
		switch(f->len)
		{
		case 8:
			ret.data[f->byteoff+12] = f->nval;
			break;
		case 16:
			ret.data[f->byteoff+11] = f->nval>>8;
			ret.data[f->byteoff+12] = f->nval;
			break;
		case 1: case 2: case 3: case 4: case 5: case 6: case 7:
			msk = mask[f->len]<<f->bitoff;
			m = ret.data[f->byteoff+12]&~msk;
			ret.data[f->byteoff+12] = m|((f->nval<<f->bitoff) & msk);
			break;
		default:
			printf("unknown size %d for field %s\n", f->len, f->name);
			return(-1);
		}
	memcpy(cmd.data, ret.data, ndata);
	cmd.data[0] = cmd.data[2] = 0;
	cmd.data[12] &= 0x3F;	/* clear out top two bits */
	set6(cmd, 0x15, 0x11, 0, 0, ndata, 0);
	if(s_io(0, &cmd, ndata, &ret, 0, err))
		return(-1);
	return(TCL_OK);
}
0707070035050553121006660011710000040000010325470470271202300001300000000000TRAILER!!!		default:
			printf("unknown size %d for field %s\n", f->len, f->name);
			return(-1);
		}
	memcpy(

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.