Article 13720 of alt.sources:
Path: nntpd.lkg.dec.com!crl.dec.com!news-ext.crl.dec.com!bloom-beacon.mit.edu!news-peer.gsl.net!news.gsl.net!news.mathworks.com!news.bbnplanet.com!cam-news-hub1.bbnplanet.com!uunet!in1.uu.net!news.iij.ad.jp!wnoc-tyo-news!waseda.ac.jp!cfi.waseda!wsdnws.cfi.waseda.ac.jp!seiichi
From: seiichi@muraoka.info.waseda.ac.jp (YOSHIDA Seiichi)
Newsgroups: alt.sources
Subject: pad2ps-3.1 (10/11)
Followup-To: alt.sources
Date: 03 Nov 1996 10:33:45 GMT
Organization: Centre for Infomatics, Waseda University
Lines: 3251
Distribution: world
Message-ID: <SEIICHI.96Nov3193345@muras5.muraoka.info.waseda.ac.jp>
NNTP-Posting-Host: unknown@muras5.muraoka.info.waseda.ac.jp
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Xref: nntpd.lkg.dec.com alt.sources:13720

#!/bin/sh
# This is `pad2ps-3.1.10' (part 10 of a multipart archive).
# Do not concatenate these parts, unpack them in order with `/bin/sh'.
# File `pad2ps-3.1/src/pad2ps/string.c' is being continued...
#
save_IFS="${IFS}"
IFS="${IFS}:"
gettext_dir=FAILED
locale_dir=FAILED
first_param="$1"
for dir in $PATH
do
  if test "$gettext_dir" = FAILED && test -f $dir/gettext \
     && ($dir/gettext --version >/dev/null 2>&1)
  then
    set `$dir/gettext --version 2>&1`
    if test "$3" = GNU
    then
      gettext_dir=$dir
    fi
  fi
  if test "$locale_dir" = FAILED && test -f $dir/shar \
     && ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
  then
    locale_dir=`$dir/shar --print-text-domain-dir`
  fi
done
IFS="$save_IFS"
if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
then
  echo=echo
else
  TEXTDOMAINDIR=$locale_dir
  export TEXTDOMAINDIR
  TEXTDOMAIN=sharutils
  export TEXTDOMAIN
  echo="$gettext_dir/gettext -s"
fi
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
  shar_touch=touch
else
  shar_touch=:
  echo
  $echo 'WARNING: not restoring timestamps.  Consider getting and'
  $echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 1231235999 $$.touch
#
if test ! -r _sh23946/seq; then
  $echo 'Please unpack part 1 first!'
  exit 1
fi
shar_sequence=`cat _sh23946/seq`
if test "$shar_sequence" != 10; then
  $echo 'Please unpack part' "$shar_sequence" 'next!'
  exit 1
fi
if test ! -f _sh23946/new; then
  $echo 'x -' 'STILL SKIPPING' 'pad2ps-3.1/src/pad2ps/string.c'
else
  $echo 'x -' 'continuing file' 'pad2ps-3.1/src/pad2ps/string.c'
  sed 's/^X//' << 'SHAR_EOF' >> pad2ps-3.1/src/pad2ps/string.c &&
#ifdef JAPANESE
X	if(is_euc(*(str + p1))){	/* Japanese */
X	    if(dx + jfontwidth > max  ||  jflag == Off){
X		if(s == NULL){
X		    s = get_string(str + p2,p1 - p2,x,y,jflag);
X		    s0 = s;
X		}else{	
X		    s->next = get_string(str + p2,p1 - p2,x,y,jflag);
X		    s = s->next;
X		}
X		p2 = p1;
X		if(dx + jfontwidth > max){
X		    y += fontsize; dx = 0;
X		}
X		x = x0 + dx;
X	    }
X	    dx += jfontwidth;
X	    jflag = On;
X	    p1++;		/* treat for 2 bytes characters */
X	}else{				/* alphabets and numerals */
X	    if(dx + fontwidth > max  ||  jflag == On  ||  p1 == l){
X		if(s == NULL){
X		    s = get_string(str + p2,p1 - p2,x,y,jflag);
X		    s0 = s;
X		}else{	
X		    s->next = get_string(str + p2,p1 - p2,x,y,jflag);
X		    s = s->next;
X		}
#endif
#ifdef ENGLISH
X	    if(dx + fontwidth > max  ||  p1 == l){
X		if(s == NULL){
X		    s = get_string(str + p2,p1 - p2,x,y);
X		    s0 = s;
X		}else{	
X		    s->next = get_string(str + p2,p1 - p2,x,y);
X		    s = s->next;
X		}
#endif
X		p2 = p1;
X		if(dx + fontwidth > max){
X		    y += fontsize; dx = 0;
X		}
X		x = x0 + dx;
X	    }
X	    dx += fontwidth;
#ifdef JAPANESE
X	    jflag = Off;
X	}
#endif
X    }
X
X    return s0;
}
X
#ifdef ENGLISH
STRING *get_string(char *p,int l,int x,int y)
#endif
#ifdef JAPANESE
STRING *get_string(char *p,int l,int x,int y,bool jflag)
#endif
/* convert string into STRING style */
{
X    STRING *s;
X    int i;
X
X    s = (STRING *)malloc(sizeof(STRING));
X
X    s->str = (char *)malloc((l+2) * sizeof(char));
X    for(i = 0 ; i < l ; i++)
X	*(s->str + i) = *(p + i);
X    *(s->str + l) = '\0';
X
X    s->x = x;
X    s->y = y;
#ifdef JAPANESE
X    s->jflag = jflag;
#endif
X    s->next = NULL;
X
X    return s;
}
X
int get_str_ww(char *s)
/* return the width of string */
{
X    int i,l,w = 0;
X
X    l = strlen(s);
X
X    for(i = 0 ; i < l ; i++){
#ifdef JAPANESE
X        if(is_euc(*(s+i))){
X            w += jfontwidth;
X	    i++;		/* treat for 2 bytes characters */
X	}else
#endif
X	    w += fontwidth;
X    }
X
X    return w;
}
X
int get_str_width(PAD *p)
/* return the width of string after folding */
{
X    int w,fw,i,l,width,lines;
X
X    if(p->str == NULL)
X	return 0;
X    else{
X	w = (get_str_ww(p->str) - 1) / p->lines + 1;
X
X	l = strlen(p->str);
X	fw = fontwidth;
#ifdef JAPANESE
X	if(include_euc(p->str))
X	    fw = greater(w,jfontwidth);
#endif
X
X	w -= fw;
X	do{
X	    w += fw;
X
X	    width = 0; lines = 1;
X	    for(i = 0 ; i < l ; i++){
#ifdef JAPANESE
X		if(is_euc(*(p->str + i))){	/* Japanese */
X		    i++;
X		    width += jfontwidth;
X		    if(width > w){
X			lines++;
X			width = jfontwidth;
X		    }
X		}else{				/* alphabets and numerals */
#endif
X		    width += fontwidth;
X		    if(width > w){
X			lines++;
X			width = fontwidth;
X		    }
#ifdef JAPANESE
X		}
#endif
X	    }
X	}while(lines > p->lines);		/* if sticks out a bit... */
X
X	return w;
X    }
}
X
int get_str_height(PAD *p)
/* return the height of string after folding */
{
X    if(p->str == NULL)
X	return 0;
X    else
X	return p->lines * fontsize;
}
X
int get_str_lines(PAD *p,int w)
/* return the line count after folding */
{
X    if(p->str == NULL)
X	return 1;
X    else
X	return (get_str_ww(p->str) - 1) / w + 1;
}
SHAR_EOF
  $echo 'File' 'pad2ps-3.1/src/pad2ps/string.c' 'is complete' &&
  $shar_touch -am 0820130496 'pad2ps-3.1/src/pad2ps/string.c' &&
  chmod 0644 'pad2ps-3.1/src/pad2ps/string.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/pad2ps/string.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/pad2ps/string.c:' 'MD5 check failed'
8190c60558beccb374590b7988fbb1a5  pad2ps-3.1/src/pad2ps/string.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/pad2ps/string.c'`"
    test 3798 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/pad2ps/string.c:' 'original size' '3798,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/pad2ps/sort.c ==============
if test -f 'pad2ps-3.1/src/pad2ps/sort.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/pad2ps/sort.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/pad2ps/sort.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/pad2ps/sort.c' &&
/*                         */
/*  sort.c -- sort         */
/*                         */
/*  pad2ps  by S. Yoshida  */
/*                         */
X
#include "config.h"
X
#include "pad2ps.h"
X
void sort(void)
/* sort data in BOX style */
{
X    BOX *ptr,*p1,*p2,*prev,*next;
X
X    ptr = first->next;
X
X    while(ptr != NULL){
X        p1 = ptr;
X	p2 = ptr->prev;
X	ptr = ptr->next;
X
X	while(p2 != NULL  &&  p1->y < p2->y){
X	    prev = p2->prev;
X	    next = p1->next;
X
X	    p1->prev = prev;
X	    if(prev == NULL)
X	        first = p1;
X	    else
X	        prev->next = p1;
X
X	    p2->next = next;
X	    if(next != NULL)
X	        next->prev = p2;
X
X	    p1->next = p2;
X	    p2->prev = p1;
X
X	    p2 = p1->prev;
X	}
X    }
}
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/pad2ps/sort.c' &&
  chmod 0644 'pad2ps-3.1/src/pad2ps/sort.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/pad2ps/sort.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/pad2ps/sort.c:' 'MD5 check failed'
41710aaf7e0078d95fb6945710243466  pad2ps-3.1/src/pad2ps/sort.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/pad2ps/sort.c'`"
    test 706 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/pad2ps/sort.c:' 'original size' '706,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/pad2ps/ps.c ==============
if test -f 'pad2ps-3.1/src/pad2ps/ps.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/pad2ps/ps.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/pad2ps/ps.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/pad2ps/ps.c' &&
/*                               */
/*  ps.c -- output in PostScript */
/*                               */
/*  pad2ps  by S. Yoshida        */
/*                               */
X
#include "config.h"
X
#include "pad2ps.h"
X
#define X(x)	((x) + x_base + x0)
#define Y(y)	(- (y) + y_base)
X
static int x_base;
static int y_base;
static int x0 = 0;
static int line_w = 0;
static int page_height;
static BOX *back = NULL;
static bool draw_flag = Off;
static bool right_more = Off;
static bool left_more = Off;
static BOX *pagetop_pad;
static char *prev_f = NULL;
static int prev_fw = EOF, prev_fs = EOF;
X
static void init_ps(void);
static void draw_pad(void);
static void draw_box(void);
static void draw_label(void);
static void draw_if(void);
static void draw_line(int);
static void write(void);
static void draw_init(void);
static void draw_end(void);
static void begin_ps(void);
static void end_ps(void);
static void newpage(void);
static void begin_page(void);
X
void ps(void)
/* create PostScript */
{
X    char tmp[BUFSIZ];
X
#ifdef DEBUG
X    if(quiet == Off){
X	if(eps_flag == On)
X	    fprintf(stderr,"Making Encapsulated PostScript starts...\n");
X	else
X	    fprintf(stderr,"Making PostScript starts...\n");
X    }
#endif
X
X    if(eps_flag == On){
X	sprintf(tmp,"%s.%d.eps",outfile,page + 1);
X	fp = fopen(tmp,"w");
X    }else{
X	if(outfile[0] != '\0')
X	    fp = fopen(outfile,"w");
X    }
X
X    init_ps();
X
X    begin_ps();
X    draw_pad();
X    end_ps();
X
X    if(eps_flag == On)
X	fclose(fp);
X    else{
X	if(outfile[0] != '\0')
X	    fclose(fp);
X    }
X
X    if(quiet == Off  &&  print_warning == Off)
X        fputc('\n',stderr);
}
X
void init_ps(void)
/* initialize */
{
X    if(proper_hrate < hrate  &&  poster == Off){	/* adjust sideway magnification */
X        char tmp[BUFSIZ];
X        hrate = proper_hrate;
X	sprintf(tmp,"horizontal overflow -- compressed with hrate=%f.",proper_hrate);
X	warning(quiet == Off && print_warning == On ? tmp : NULL);
X    }
X
X    if(centering == On)
X        x_base = (int)((double)(X_CENTER / hrate));
X    else
X        x_base = page_left;
X    page_left = 0;
X    page_right = (int)((double)(X_MAX / hrate));
X
X    page_top = (int)((double)(page_top / vrate));
X    page_bottom = (int)((double)(page_bottom / vrate));
X    page_height = page_top - page_bottom;
X    y_base = page_top;
}
X
void draw_pad(void)
{
X    lp = first;
X
X    begin_page();
X
X    while(lp != NULL  ||  back != NULL  ||
X	  (poster == On  &&  (left_more == On  ||  right_more == On)))
X    {
X	if(lp == NULL  ||  (lp != NULL  &&  Y(lp->y) < page_bottom))
X	    /* carriage return if the PAD will be set completely on the next page */
X	    newpage();
X
X	if(Y(lp->y + lp->h) <= page_top)	/* skip the PAD if it is out of range */
X	{
X	    if(Y(lp->y + lp->h) < page_bottom  &&  back == NULL)
X		/* when the PAD is split over pages */
X	        back = lp;
X
X	    switch(lp->type){
X		case Box:
X		case Label:
X		case If:
X		case Line:
X		case Padframe:
X		    if(X(lp->x) < 0  &&  x0 >= 0)
X		        left_more = On;
X		    if(X(lp->x + lp->w) > page_right)
X		        right_more = On;
X
X		    switch(lp->type){
X		        case Box:
X		            draw_box();
X			    break;
X		        case Label:
X		            draw_label();
X			    break;
X			case If:
X			    draw_if();
X			    break;
X			case Line:
X			    draw_line(linewidth);
X			    break;
X			case Padframe:
X			    draw_line(framelinewidth);
X			    break;
X		    }
X	    }
X
X	    if(lp->str != NULL){
X	        if(draw_flag == On)
X		    draw_end();
X	        write();
X	    }
X	}
X
X	lp = lp->next;
X    }
}
X
void draw_box(void)
{
X    if(line_w != padlinewidth){		/* change thickness of line */
X        if(draw_flag == On)
X	    draw_end();
X	fprintf(fp,"%d setlinewidth\n",padlinewidth);
X	line_w = padlinewidth;
X    }
X
X    if(draw_flag == Off)
X        draw_init();
X
X    fprintf(fp,"  %d %d %d %d box\n",X(lp->x),Y(lp->y),lp->w,lp->h);
X
X    if(lp->flag1 == On)
X        fprintf(fp,"  %d %d %d %d line\n",X(lp->x + sideline_space),Y(lp->y),0,lp->h);
X    if(lp->flag2 == On)
X        fprintf(fp,"  %d %d %d %d line\n",X(lp->x + lp->w - sideline_space),Y(lp->y),0,lp->h);
}
X
void draw_label(void)
{
X    if(line_w != padlinewidth){		/* change thickness of line */
X        if(draw_flag == On)
X	    draw_end();
X	fprintf(fp,"%d setlinewidth\n",padlinewidth);
X	line_w = padlinewidth;
X    }
X
X    if(draw_flag == Off)
X        draw_init();
X
X    fprintf(fp,"  %d %d %d %d circle\n",X(lp->x),Y(lp->y),lp->w,lp->h);
}
X
void draw_if(void)
{
X    if(line_w != padlinewidth){		/* change thickness of line */
X        if(draw_flag == On)
X	    draw_end();
X	fprintf(fp,"%d setlinewidth\n",padlinewidth);
X	line_w = padlinewidth;
X    }
X
X    if(draw_flag == Off)
X        draw_init();
X
X    if(lp->flag1 == On){
X        if(lp->flag2 == On)		/* perfect if box */
X	    fprintf(fp,"  %d %d %d %d ifbox\n",X(lp->x),Y(lp->y),lp->w,lp->h);
X	else				/* if box without under-line */
X	    fprintf(fp,"  %d %d %d %d ifline\n",X(lp->x),Y(lp->y + lp->h),lp->w,-(lp->h));
X    }else{
X        if(lp->flag2 == On)		/* if box without upper-line */
X	    fprintf(fp,"  %d %d %d %d ifline\n",X(lp->x),Y(lp->y),lp->w,lp->h);
X	else{				/* if box without upper- and lower-line */
X	    fprintf(fp,"  %d %d %d %d line\n",X(lp->x),Y(lp->y),0,lp->h);
X	    fprintf(fp,"  %d %d %d %d line\n",X(lp->x + lp->w - if_rightspace),
X		    Y(lp->y + lp->h / 2),if_rightspace,-(lp->h / 2));
X	    fprintf(fp,"  %d %d %d %d line\n",X(lp->x + lp->w - if_rightspace),
X		    Y(lp->y + lp->h / 2),if_rightspace,lp->h / 2);
X	}
X    }
}
X
void draw_line(int w)
{
X    if(line_w != w){		/* change thickness of line */
X        if(draw_flag == On)
X	    draw_end();
X	fprintf(fp,"%d setlinewidth\n",w);
X	line_w = w;
X    }
X
X    if(draw_flag == Off)
X        draw_init();
X
X    fprintf(fp,"  %d %d %d %d line\n",X(lp->x),Y(lp->y),lp->w,lp->h);
}
X
void write(void)
/* print string */
{
X    STRING *s;
X    char *ptr,*f;
X    int fw,fs,baseup;
X
X    for(s = lp->str ; s != NULL ; s = s->next)
X    {
X        if(s->str != NULL){
#ifdef JAPANESE
X	    if(s->jflag == On)
X	        f = jfont;
X	    else
#endif
X	        f = font;
X
X	    switch(lp->type){
X		case Title:
X		    change_font(title_rate);
#ifdef JAPANESE
X		    if(s->jflag == On)
X		        f = title_jfont;
X		    else
#endif
X		        f = title_font;
X		    break;
X		case Padtitle:
X		    change_font(padtitle_rate);
X		    break;
X		case Figure:
X		    change_font(figure_rate);
X		    break;
X	    }
X
X	    fs = fontsize;
X	    fw = (int)((double)(fontwidth * 1.67));
X	    baseup = CHAR_BASEUP;
#ifdef JAPANESE
X	    if(s->jflag == On){
X	        fw = jfontwidth;
X		baseup = JCHAR_BASEUP;
X	    }
#endif
X
X	    if(f != prev_f  ||  fw != prev_fw  ||  fs != prev_fs){
X	        fprintf(fp,"/%s findfont [%d 0 0 %d 0 0] makefont setfont\n",f,fw,fs);
X		prev_f = f;
X		prev_fw = fw;
X		prev_fs = fs;
X	    }
X
X	    if(lp->type == Title  ||  lp->type == Padtitle  ||  lp->type == Figure)
X	        restore_font();
X
X	    putc('(',fp);
X	    for(ptr = s->str ; *ptr != '\0' ; ptr++){
X	        switch(*ptr){
X		    case '(':
X		    case ')':
X		    case '\\':
X			putc('\\',fp);
X			break;
X		}
X		putc(*ptr,fp);
X	    }
X	    fprintf(fp,") %d %d string\n",X(s->x),Y(s->y + fs - baseup));
X	}
X    }
}
X
void draw_init(void)
/* initialize for drawing PAD */
{
X    fputs("newpath\n",fp);
X    draw_flag = On;
}
X
void draw_end(void)
/* finish drawing PAD */
{
X    fputs("stroke\n",fp);
X    draw_flag = Off;
}
X
void begin_ps(void)
/* print the beginning portion of PostScript */
{
X    if(eps_flag == Off){
X	fputs("%!PS-Adobe-1.0\n",fp);
X	fputs("% pad2ps PostScript output\n",fp);
X	fprintf(fp,"%%   %s\n",AUTHOR);
X	fputs("%\n",fp);
X    }else{
X	fputs("%!PS-Adobe-1.0 EPSF-1.0\n",fp);
X	fputs("% pad2ps Encapsulated PostScript output\n",fp);
X	fprintf(fp,"%%   %s\n",AUTHOR);
X	fputs("%\n",fp);
X	fputs("%%BoundingBox: 0 49 540 637\n",fp);
X    }
X    fputs("%\n",fp);
X    fputs("clippath pathbbox\n",fp);
X    fputs("/page-height exch def\n",fp);
X    fputs("/page-width exch def\n",fp);
X    fputs("pop pop\n",fp);
X    fputs("%\n",fp);
X    fputs("/string {\n",fp);
X    fputs("   moveto show\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("% PAD line -- usage: x0 y0 w h line\n",fp);
X    fputs("/line {\n",fp);
X    fputs("   neg 4 -2 roll moveto rlineto\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("% PAD box -- usage: x0 y0 w h box\n",fp);
X    fputs("/box {\n",fp);
X    fputs("   4 -2 roll moveto\n",fp);
X    fputs("   dup neg 0 exch rlineto\n",fp);
X    fputs("   exch dup 0 rlineto\n",fp);
X    fputs("   exch dup 0 exch rlineto\n",fp);
X    fputs("   pop pop\n",fp);
X    fputs("   closepath\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("% PAD circle -- usage: x0 y0 w h circle\n",fp);
X    fputs("/circle {\n",fp);
X    fputs("   dup 3 -1 roll dup 3 -1 roll 6 -1 roll dup 7 -1 roll dup\n",fp);
X    fputs("   8 -1 roll 2 idiv sub 3 -1 roll 7 -1 roll add\n",fp);
X    fputs("   exch moveto\n",fp);
X    fputs("   4 -2 roll dup 3 -1 roll dup 3 1 roll\n",fp);
X    fputs("   div dup dup 7 2 roll 1 exch scale\n",fp);
X    fputs("   dup 5 1 roll\n",fp);
X    fputs("   3 1 roll 2 idiv sub 5 -1 roll div\n",fp);
X    fputs("   3 1 roll 2 idiv add\n",fp);
X    fputs("   exch 3 -1 roll 2 idiv 0 360 arc\n",fp);
X    fputs("   1 exch div 1 exch scale\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("% PAD ifline -- usage: x0 y0 w h ifline\n",fp);
X    fputs("/ifline {\n",fp);
X    fputs("   4 -2 roll moveto\n",fp);
X    fputs("   dup neg 0 exch rlineto\n",fp);
X    fputs("   exch dup 0 rlineto\n",fp);
X    fprintf(fp,"   exch dup 2 idiv dup -%d exch rlineto\n",if_rightspace);
X    fprintf(fp,"   sub %d exch rlineto\n",if_rightspace);
X    fputs("   pop\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("% PAD ifbox -- usage: x0 y0 w h ifbox\n",fp);
X    fputs("/ifbox {\n",fp);
X    fputs("   ifline closepath\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("/clippingpath {\n",fp);
X    fputs("   newpath\n",fp);
X    fprintf(fp,"   %d %d moveto\n",0,page_top);
X    fprintf(fp,"   %d %d lineto\n",0,page_bottom);
X    fprintf(fp,"   %d %d lineto\n",(int)((double)(X_MAX / hrate)),page_bottom);
X    fprintf(fp,"   %d %d lineto\n",(int)((double)(X_MAX / hrate)),page_top);
X    fputs("   closepath\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fputs("/pageframe {\n",fp);
X    fprintf(fp,"   %d setlinewidth\n",framelinewidth);
X    fputs("   newpath\n",fp);
X    fprintf(fp,"   %d %d moveto\n",0,page_top);
X    fprintf(fp,"   %d %d lineto\n",0,page_bottom);
X    fprintf(fp,"   %d %d lineto\n",(int)((double)(X_MAX / hrate)),page_bottom);
X    fprintf(fp,"   %d %d lineto\n",(int)((double)(X_MAX / hrate)),page_top);
X    fputs("   closepath stroke\n",fp);
X    fputs("} def\n",fp);
X    fputs("%\n",fp);
X    fprintf(fp,"/%s findfont %d scalefont setfont\n",font,fontsize);
}
X
void end_ps(void)
/* print the last portion of PostScript */
{
X    if(draw_flag == On)
X        draw_end();
X
X    fputs("showpage\n",fp);
X    fputs("clear\n",fp);
X    fputs("%%PageTrailer\n",fp);
X    fprintf(fp,"%%%%Pages: %d\n",page);
X    fputs("% End of pad2ps PostScript output\n",fp);
}
X
void newpage(void)
/* new page */
{
X    char tmp[BUFSIZ];
X
X    if(left_more == Off  &&  right_more == Off)
X        y_base += page_height;
X
X    if(draw_flag == On)
X	draw_end();
X
X    if(eps_flag == On){
X	end_ps();
X	fclose(fp);
X
X	sprintf(tmp,"%s.%d.eps",outfile,page + 1);
X	fp = fopen(tmp,"w");
X	begin_ps();
X    }else{
X	fputs("showpage\n",fp);
X	fputs("clear\n",fp);
X	fputs("%\n",fp);
X    }
X
X    if(back != NULL)
X        lp = back;
X    back = NULL;
X
X    begin_page();
X
X    prev_f = NULL;
X    prev_fw = EOF;
X    prev_fs = EOF;
}
X
void begin_page(void)
/* begin new page */
{
X    line_w = 0;
X    page++;
X
X    if(left_more == On){		/* shift to left */
X        x0 += page_right;
X	left_more = Off;
X	lp = pagetop_pad;
X    }else if(right_more == On){		/* shift to right */
X        if(x0 > 0)		/* if already shifted to left, return to the original position */
X	    x0 = - page_right;
X	else
X	    x0 -= page_right;
X	right_more = Off;
X	lp = pagetop_pad;
X    }else{
X        x0 = 0;
X	pagetop_pad = lp;
X    }
X
X    fputs("%\n",fp);
X    fputs("%%PageTrailer\n",fp);
X    fprintf(fp,"%%%%Page: %d %d\n",page,page);
X    if(quiet == Off)
X        fprintf(stderr,"[%d]",page);
X    fputs("%\n",fp);
X    fputs("%\n",fp);
X    fputs("% newpage\n",fp);
X    fputs("%\n",fp);
X    fputs("page-width 538.583 sub 2 div\n",fp);
X    fputs("page-height 538.583 sub 2 div\n",fp);
X    fputs("translate\n",fp);
X    fputs("%\n",fp);
X    fprintf(fp,"%g %g scale\n",SCALE * hrate,SCALE * vrate);
X    fputs("%\n",fp);
X    if(page_print == On){
X        fprintf(fp,"/Times-Roman findfont [%d 0 0 %d 0 0] makefont setfont\n",
X	       (int)((double)(FONTSIZE / hrate)),(int)((double)(FONTSIZE / vrate)));
X        fprintf(fp,"(%d) %d %d string\n",page,
X	        (int)((double)(X_CENTER - FONTSIZE) / hrate),
X	        (int)((double)(PAGENUMBER_Y + FONTSIZE) / vrate));
X	fputs("%\n",fp);
X	prev_f = NULL;
X	prev_fw = EOF;
X	prev_fs = EOF;
X    }
X    fputs("clippingpath clip\n",fp);
X    fputs("%\n",fp);
X    if(pageframe == On)
X        fputs("pageframe\n",fp);
}
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/pad2ps/ps.c' &&
  chmod 0644 'pad2ps-3.1/src/pad2ps/ps.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/pad2ps/ps.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/pad2ps/ps.c:' 'MD5 check failed'
eee0c110c2b64918fd2d8791d2049754  pad2ps-3.1/src/pad2ps/ps.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/pad2ps/ps.c'`"
    test 13054 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/pad2ps/ps.c:' 'original size' '13054,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/pad2ps/font.c ==============
if test -f 'pad2ps-3.1/src/pad2ps/font.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/pad2ps/font.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/pad2ps/font.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/pad2ps/font.c' &&
/*                         */
/*  font.c -- font         */
/*                         */
/*  pad2ps  by S. Yoshida  */
/*                         */
X
#include "config.h"
X
#include "pad2ps.h"
X
static keep_fontsize;
static keep_fontwidth;
#ifdef JAPANESE
static keep_jfontwidth;
#endif
X
void change_font(double rate)
/* change font */
{
X    keep_fontsize = fontsize;
X    keep_fontwidth = fontwidth;
#ifdef JAPANESE
X    keep_jfontwidth = jfontwidth;
#endif
X
X    fontsize = (int)((double)(fontsize * rate));
X    fontwidth = (int)((double)(fontwidth * rate));
#ifdef JAPANESE
X    jfontwidth = (int)((double)(jfontwidth * rate));
#endif
}
X
void restore_font(void)
/* resume font */
{
X    fontsize = keep_fontsize;
X    fontwidth = keep_fontwidth;
#ifdef JAPANESE
X    jfontwidth = keep_jfontwidth;
#endif
}
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/pad2ps/font.c' &&
  chmod 0644 'pad2ps-3.1/src/pad2ps/font.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/pad2ps/font.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/pad2ps/font.c:' 'MD5 check failed'
78839638a5f42bdfea74b5d10fa624ce  pad2ps-3.1/src/pad2ps/font.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/pad2ps/font.c'`"
    test 800 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/pad2ps/font.c:' 'original size' '800,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/pad2ps/tex.c ==============
if test -f 'pad2ps-3.1/src/pad2ps/tex.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/pad2ps/tex.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/pad2ps/tex.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/pad2ps/tex.c' &&
/*                               */
/*  tex.c -- print LaTeX code    */
/*                               */
/*  pad2ps  by S. Yoshida        */
/*                               */
X
#include "config.h"
X
#include <ctype.h>
#include "pad2ps.h"
X
static int tab;
static char *padtitle = NULL;
static bool case_flag = Off;
static bool nostack = Off;
X
static void make_tex(void);
static void begin_tex(void);
static void end_tex(void);
static void print(char *);
static void print_tab(void);
X
static void body(PAD *);
static void commands(PAD *);
static void command(PAD *);
static void block_statement(PAD *p);
static void refer_statement(PAD *p);
static void repeat_statement(PAD *p);
static void branch_statement(PAD *p);
static void if_statement(PAD *p);
static void switch_statement(PAD *p);
X
static int is_controlcode(TYPE);
X
void tex(void)
/* create LaTeX code */
{
#ifdef DEBUG
X    if(quiet == Off)
X        fprintf(stderr,"Making LaTeX code starts...");
#endif
X
X    if(figure_locate_flag == Off)	/* figure_locate default */
X	figure_locate = Bottom;
X
X    if(outfile[0] != '\0')
X	fp = fopen(outfile,"w");
X
X    begin_tex();
X    make_tex();
X    end_tex();
X
X    if(outfile[0] != '\0')
X	fclose(fp);
X
#ifdef DEBUG
X    if(quiet == Off)
X        fprintf(stderr,"done\n");
#endif
}
X
void make_tex(void)
{
X    PAD *ptr;
X
X    for(ptr = root->next ; ptr != NULL ; ptr = ptr->next){
X	if( ! is_controlcode(ptr->type))
X	    body(ptr);
X    }
}
X
void begin_tex(void)
{
X    fputs("%\n",fp);
X    fputs("% pad2ps LaTeX output\n",fp);
X    fprintf(fp,"%%   %s\n",AUTHOR);
X    fputs("%\n",fp);
X    putc('\n',fp);
#ifdef ENGLISH
X    fputs("\\documentstyle[pad]{article}\n",fp);
#endif
#ifdef JAPANESE
X    fputs("\\documentstyle[pad]{jarticle}\n",fp);
#endif
X
X    if(title != NULL){			/* when the overall tilte presents */
X	fprintf(fp,"\\title{");
X	nostack = On;
X	print(title);
X	nostack = Off;
X	fputs("}\n",fp);
X	fputs("\\author{}\n",fp);
X	fputs("\\date{}\n",fp);
X    }
X
X    fputs("\\fboxsep=10pt\n",fp);
X    putc('\n',fp);
X
X    fputs("\\begin{document}\n",fp);
X
X    if(title != NULL)			/* print the overall title */
X	fputs("\\maketitle\n",fp);
X
X    if(page_print == On)		/* initialize page number */
X	fprintf(fp,"\\setcounter{page}{%d}\n",page + 1);
X    else{
X	fputs("\\thispagestyle{empty}\n",fp);
X	fputs("\\pagestyle{empty}\n",fp);
X    }
X
X    if(figure != EOF)			/* initialize figure number */
X	fprintf(fp,"\\setcounter{figure}{%d}\n",figure - 1);
X
X    putc('\n',fp);
}
X
void end_tex(void)
{
X    fputs("\\end{document}\n",fp);
X    putc('\n',fp);
X    fputs("% End of pad2ps LaTeX output\n",fp);
}
X
void print(char *s)
/* print string */
{
X    char *p;
X
X    if(s == NULL){
X	fputs("\\rule{0mm}{2ex}",fp);
X	return;
X    }
X
X    if(nostack == Off)
X	fputs("\\shortstack[l]{\\rule{0mm}{2ex}",fp);
X
X    if(latex_command_flag == On){	/* LaTeX command */
X	fputs(s,fp);
X    }else{				/* simple string */
X	for(p = s ; *p != '\0' ; p++){
X	    switch(*p){
X		case '\\':
X		    fprintf(fp,"$\\backslash$");
X		    break;
X		case '|':
X		case '<':
X		case '>':
X		case '*':
X		case '-':
X		    fprintf(fp,"$%c$",*p);
X		    break;
X		case '^':
X		case '_':
X		case '~':
X		    fprintf(fp,"\\%c{}",*p);
X		    break;
X		case ':':
X		case ',':
X		    if(case_flag == On)
X			fprintf(fp,"{%c}",*p);
X		    else
X			putc(*p,fp);
X		    break;
X		case '{':
X		case '}':
X		case '$':
X		case '&':
X		case '#':
X		case '%':
X		case ' ':
X		    fprintf(fp,"\\%c",*p);
X		    break;
X		case '\t':
X		    fprintf(fp,"\\ ");
X		    break;
X		default:
X		    putc(*p,fp);
X	    }
X	}
X    }
X
X    if(nostack == Off)
X	fputs("}",fp);
}
X
void print_tab(void)
/* tab at head of line */
{
X    int i;
X    for(i = 0 ; i < tab ; i++)
X	putc(' ',fp);
}
X
void body(PAD *ptr)
/* PAD body */
{
X    tab = - tab_width;
X
X    if(titlebox == On)
X	padtitle = ptr->str;
X
X    fputs("\\begin{figure}[h]\n",fp);
X    if(figure_locate == Top){
X	if(figure != EOF  ||  (ptr->str != NULL  &&  titlebox == Off)){
X	    putc('\n',fp);
X	    fprintf(fp,"\\caption{");
X	    if(ptr->str != NULL  &&  titlebox == Off){
X		nostack = On;
X		print(ptr->str);
X		nostack = Off;
X	    }
X	    fputs("}\n",fp);
X	}
X    }
X    putc('\n',fp);
X
X    if(centering == On){		/* centerize */
X	fputs("\\begin{center}\n",fp);
X	putc('\n',fp);
X    }
X
X    if(padframe == On)			/* frame surrounding PAD */
X	fputs("\\fbox{%\n",fp);
X
X    if(ptr->child != NULL)
X	commands(ptr->child);
X
X    if(padframe == On){
X	fputs("%\n",fp);
X	fprintf(fp,"}");
X    }
X
X    putc('\n',fp);
X
X    if(centering == On){
X	putc('\n',fp);
X	fputs("\\end{center}\n",fp);
X    }
X
X    if(figure_locate == Bottom){
X	if(figure != EOF  ||  (ptr->str != NULL  &&  titlebox == Off)){
X	    putc('\n',fp);
X	    fprintf(fp,"\\caption{");
X	    if(ptr->str != NULL  &&  titlebox == Off){
X		nostack = On;
X		print(ptr->str);
X		nostack = Off;
X	    }
X	    fputs("}\n",fp);
X	}
X    }
X    putc('\n',fp);
X    fputs("\\end{figure}\n",fp);
X    putc('\n',fp);
}
X
void commands(PAD *ptr)
{
X    PAD *p;
X    int child = 0, count = 0;
X    bool seq_flag = Off;
X
X    for(p = ptr ; p != NULL ; p = p->next){
X	if( ! is_controlcode(p->type))
X	    child++;
X    }
X    if(child > 1  ||  (padtitle != NULL  &&  titlebox == On))
X	seq_flag = On;
X
X    tab += tab_width;
X
X    if(seq_flag == On){
X	print_tab();
X	fputs("\\padseq{%\n",fp);
X	tab += tab_width;
X    }
X
X    if(padtitle != NULL  &&  titlebox == On){	/* PAD title */
X	print_tab();
X	fprintf(fp,"\\padsub{");
X	print(padtitle);
X	fprintf(fp,"}");
X	padtitle = NULL;
X	count++;
X    }
X
X    for(p = ptr ; p != NULL ; p = p->next){
X	if( ! is_controlcode(p->type)){
X	    count++;
X	    if(count > 1)
X		fputs(" \\\\ %\n",fp);
X	    command(p);
X	}
X    }
X
X    if(seq_flag == On){
X	fputs("%\n",fp);
X	tab -= tab_width;
X	print_tab();
X	fprintf(fp,"}");
X    }
X
X    tab -= tab_width;
}
X
void command(PAD *ptr)
{
X    char *p;
X
X    switch(ptr->type){
X	case For:
X	case While:
X	case Do:
X	    repeat_statement(ptr);
X	    break;
X	case If:
X	case Switch:
X	    branch_statement(ptr);
X	    break;
X	case Block:
X	    block_statement(ptr);
X	    break;
X	case Message:
X	    print_tab();
X	    fprintf(fp,"\\padmessage{");
X	    print(ptr->str);
X	    fprintf(fp,"}");
X	    break;
X	case Label:
X	    print_tab();
X	    fprintf(fp,"\\padlabel{");
X	    print(ptr->str);
X	    fprintf(fp,"}");
X	    if(ptr->child != NULL){	/* comment */
X		fprintf(fp," \\padcomment{");
X		print(ptr->child->str);
X		putc('}',fp);
X	    }
X	    break;
X	case Refer:
X	    refer_statement(ptr);
X	    break;
X	default:
X	    print_tab();
X	    fprintf(fp,"\\padbox{");
X	    print(ptr->str);
X	    fprintf(fp,"}");
X	    if(ptr->child != NULL){	/* comment */
X		fprintf(fp," \\padcomment{");
X		print(ptr->child->str);
X		putc('}',fp);
X	    }
X    }
}
X
void block_statement(PAD *ptr)
/* block */
{
X    PAD *p;
X    int count = 0;
X
X    print_tab();
X    fputs("\\padboxss{%\n",fp);
X
X    tab += tab_width;
X
X    print_tab();
X
X    for(p = ptr->child ; p != NULL ; p = p->next){
X	count++;
X	if(count > 1){
X	    fputs(" \\\\ \n",fp);
X	    print_tab();
X	}
X	print(p->str);
X    }
X    fputs("%\n",fp);
X
X    tab -= tab_width;
X
X    print_tab();
X    fprintf(fp,"}");
X
X    if(ptr->depth != NULL){	/* comment */
X	fprintf(fp," \\padcomment{");
X	print(ptr->depth->str);
X	putc('}',fp);
X    }
}
X
void refer_statement(PAD *ptr)
/* reference */
{
X    PAD *p;
X    int count = 0;
X    int ref = 0;
X
X    for(p = ptr->child ; p != NULL ; p = p->next)
X	ref++;
X    ref = (ref + 1) / 2;
X
X    print_tab();
X    fputs("\\padboxss{%\n",fp);
X
X    tab += tab_width;
X
X    print_tab();
X
X    for(p = ptr->child ; p != NULL ; p = p->next){
X	count++;
X	if(count > 1){
X	    fputs(" \\\\ \n",fp);
X	    print_tab();
X	}
X	print(p->str);
X	if(count == ref){
X	    fputs(" \\padref{",fp);
X	    print(ptr->str);
X	    fputs("}",fp);
X	}
X    }
X    fputs("%\n",fp);
X
X    tab -= tab_width;
X
X    print_tab();
X    fprintf(fp,"}");
X
X    if(ptr->depth != NULL){	/* comment */
X	fprintf(fp," \\padcomment{");
X	print(ptr->depth->str);
X	putc('}',fp);
X    }
}
X
void repeat_statement(PAD *ptr)
/* for/while/do-while statement */
{
X    switch(ptr->type){
X	case For:
X	case While:
X	    print_tab();
X	    fprintf(fp,"\\padwhile{");
X	    break;
X	case Do:
X	    print_tab();
X	    fprintf(fp,"\\padrepeat{");
X	    break;
X    }
X    print(ptr->str);
X    fputs("}{%\n",fp);
X
X    commands(ptr->child);
X
X    fputs("%\n",fp);
X
X    print_tab();
X    fprintf(fp,"}");
}
X
void branch_statement(PAD *ptr)
/* if/switch statement */
{
X    PAD *p;
X    int count = 0;
X
X    for(p = ptr->child ; p != NULL ; p = p->next)
X	count++;
X
X    if(count == 1  ||  (count == 2  &&  ptr->child->next->str == NULL))
X	if_statement(ptr);
X    else
X	switch_statement(ptr);
}
X
void if_statement(PAD *ptr)
/* if statement */
{
X    PAD *p;
X
X    p = ptr->child;
X
X    print_tab();
X    fprintf(fp,"\\padcond{");
X    print(p->str);
X    fputs("}{%\n",fp);
X    commands(p->child);
X    fputs("%\n",fp);
X    print_tab();
X    if(p->next == NULL)			/* if only */
X	fprintf(fp,"}{}");
X    else{				/* else part presents */
X	fputs("}{%\n",fp);
X	commands(p->next->child);
X	fputs("%\n",fp);
X	print_tab();
X	fprintf(fp,"}");
X    }
}
X
void switch_statement(PAD *ptr)
/* switch statement */
{
X    PAD *p,*q;
X    int count = 0;
X
X    print_tab();
X    fputs("\\padcase{}{%\n",fp);
X
X    tab += tab_width;
X
X    for(p = ptr->child ; p != NULL ; p = p->next){
X	count++;
X	if(count > 1)
X	    fputs(",%\n",fp);
X
X	print_tab();
X
X	if(p->depth == NULL){		/* one branch label */
X	    case_flag = On;
X	    print(p->str);
X	    case_flag = Off;
X	}else{
X	    fputs("\\shortstack[l]{%\n",fp);
X	    tab += tab_width;
X	    for(q = p ; q != NULL ; q = q->depth){
X		print_tab();
X		print(q->str);
X		if(q->depth != NULL)
X		    fprintf(fp," \\\\ ");
X		fputs("%\n",fp);
X	    }
X	    tab -= tab_width;
X	    print_tab();
X	    fprintf(fp,"}");
X	}
X
X	fputs(":%\n",fp);
X
X	commands(p->child);
X    }
X
X    tab -= tab_width;
X
X    fputs("%\n",fp);
X    print_tab();
X    fprintf(fp,"}");
}
X
int is_controlcode(TYPE t)
/* true if it is control code */
{
X    switch(t){
X	case Empty:
X	case Newpage:
X	case Vsp:
X	    return 1;
X	default:
X	    return 0;
X    }
}
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/pad2ps/tex.c' &&
  chmod 0644 'pad2ps-3.1/src/pad2ps/tex.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/pad2ps/tex.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/pad2ps/tex.c:' 'MD5 check failed'
5a5eee3dc77b6468b7e4cc20e2dfbe85  pad2ps-3.1/src/pad2ps/tex.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/pad2ps/tex.c'`"
    test 9929 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/pad2ps/tex.c:' 'original size' '9929,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/pad2ps/Makefile.in ==============
if test -f 'pad2ps-3.1/src/pad2ps/Makefile.in' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/pad2ps/Makefile.in' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/pad2ps/Makefile.in' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/pad2ps/Makefile.in' &&
### Makefile of pad2ps  by S. Yoshida
X
### configuration by configure
X
prefix = @prefix@
exec_prefix = @exec_prefix@
LIBDIR = @libdir@/pad2ps
X
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
LN_S = @LN_S@
X
CC = @CC@
X
YACC = @YACC@
LEX = @LEX@
LEXLIB = @LEXLIB@
X
LIBS = @LIBS@ @LEXLIB@ -L../lib -lpublic -lm
X
### make commands
X
CFLAGS = -O2
LDFLAGS =
MFLAGS =
X
INCLUDES = -I.. -I../lib
X
HDRS = pad2ps.h
SRCS = fold.c font.c locate.c pad2ps.c ps.c sort.c string.c tex.c y.tab.c
OBJS = fold.o font.o locate.o pad2ps.o ps.o sort.o string.o tex.o y.tab.o
X
TARGS = pad2ps
X
LNFILE = pad2tex pad2eps
X
all: ${TARGS}
X
pad2ps: ${OBJS} ${HDRS}
X	$(CC) $(LDFLAGS) ${OBJS} -o $@ $(LIBS)
X
parser.l: parser.l.in
X	cp parser.l.in parser.l
X
lex.yy.c: parser.l
X	$(LEX) parser.l
X
y.tab.c: parser.y lex.yy.c
X	$(YACC) parser.y
X
%.o: %.c
X	$(CC) $(CFLAGS) $(INCLUDES) -c $<
X
install: ${TARGS}
X	$(INSTALL) -d $(LIBDIR)
X	if [ -f $(LIBDIR)/pad2ps ]; then rm -f $(LIBDIR)/pad2ps; fi
X	$(INSTALL_PROGRAM) pad2ps $(LIBDIR)
X	for i in $(LNFILE); do \
X		if [ -f $(LIBDIR)/$$i ]; then rm -f $(LIBDIR)/$$i; fi; \
X		$(LN_S) pad2ps $(LIBDIR)/$$i; \
X	done
X
clean:
X	rm -f ${OBJS} ${TARGS} a.out core *~ *.bak parser.l lex.yy.c y.tab.c y.output
X
distclean:
X	rm -f ${OBJS} ${TARGS} a.out core *~ *.bak parser.l lex.yy.c y.tab.c y.output
X	rm -f Makefile
SHAR_EOF
  $shar_touch -am 1102143396 'pad2ps-3.1/src/pad2ps/Makefile.in' &&
  chmod 0644 'pad2ps-3.1/src/pad2ps/Makefile.in' ||
  $echo 'restore of' 'pad2ps-3.1/src/pad2ps/Makefile.in' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/pad2ps/Makefile.in:' 'MD5 check failed'
8cb522144991eea56277b3cc01369adb  pad2ps-3.1/src/pad2ps/Makefile.in
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/pad2ps/Makefile.in'`"
    test 1347 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/pad2ps/Makefile.in:' 'original size' '1347,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/sh2pad/sh2pad.c ==============
if test ! -d 'pad2ps-3.1/src/sh2pad'; then
  $echo 'x -' 'creating directory' 'pad2ps-3.1/src/sh2pad'
  mkdir 'pad2ps-3.1/src/sh2pad'
fi
if test -f 'pad2ps-3.1/src/sh2pad/sh2pad.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/sh2pad/sh2pad.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/sh2pad/sh2pad.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/sh2pad/sh2pad.c' &&
/*                              */
/*  sh2pad.c -- main routine    */
/*                              */
/*  sh2pad  by S. Yoshida       */
/*                              */
X
#include "config.h"
X
#include <stdlib.h>
#include <string.h>
#include "sh2pad.h"
X
token_type token = None;	/* token */
char word[BUFSIZ] = {'\0'};	/* string just read */
X
bool no_print_comment_flag = Off;	/* does not print comment at this place */
X
int tab = 4;			/* tab width */
int global_count_paren = 0;	/* paranthesis */
X
char key[BUFSIZ] = {'\0'};	/* termination string of cat << EOF */
int cat_flag = 0;		/* whether in cat << EOF */
X
NEST *nest = NULL;		/* function declaration nesting */
NEST *child = NULL;		/* child function declaration */
X
bool debug = Off;		/* -debug option */
bool quiet = Off;		/* -quiet option */
bool print_warning = Off;	/* whether to print warning */
int line_count = 1;		/* line in process */
X
FILE *input_stream;		/* input file */
X
X
#ifdef JAPANESE
static char kconv[BUFSIZ] = "nkf -e";	/* KANJI converter */
static bool noconv = Off;		/* -noconv */
#endif
static bool nohelp = Off;		/* -nohelp */
static bool stdin_flag = Off;		/* -stdin */
X
static char filename[BUFSIZ] = {'\0'};		/* input file name */
static char command[BUFSIZ];			/* command */
X
static void option(int,char **);	/* handle options */
static void print_help(void);		/* print help messages */
X
int main(int argc,char **argv)
{
X    option(argc,argv);			/* handle options */
X
X    if(quiet == Off)
X	fprintf(stderr,"\nsh2pad %s  by %s\n\n",VERSION,AUTHOR);
X
X    if(stdin_flag == On)
X	filename[0] = '\0';
X
#ifdef JAPANESE
X    if(noconv == Off)
X	sprintf(command,"cat %s | %s",filename,kconv);
X    else
#endif
X	sprintf(command,"cat %s",filename);
X
X    input_stream = popen(command,"r");
X
X    parser();
X
X    fclose(input_stream);
X
X    if(quiet == Off)
X	fprintf(stderr,"\n%d errors, %d warnings.\n",error_count,warning_count);
X
X    return 0;
}
X
void option(int argc,char **argv)
/* handle options */
{
X    int i;
X
X    for(i = 1 ; i < argc ; i++){
X	if(argv[i][0] != '-'){		/* file name */
X	    if(filename[0] == '\0')
X		strcpy(filename,argv[i]);
X	    else if(nohelp == Off){
X		print_help();
X		exit(1);
X	    }
X	}else{				/* option */
X	    switch(argv[i][1]){
#ifdef DEBUG
X		case 'd':
X		    if(strcmp(argv[i],"-debug") == 0){
X			debug = On;
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
#endif
X		case 'h':
X		    if(strcmp(argv[i],"-help") == 0){
X			print_help();
X			exit(0);
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
#ifdef JAPANESE
X		case 'k':
X		    if(strcmp(argv[i],"-kconv") == 0  &&  i + 1 < argc){
X			strcpy(kconv,argv[++i]);
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
#endif
X		case 'n':
X		    if(strcmp(argv[i],"-nohelp") == 0){
X			nohelp = On;
#ifdef JAPANESE
X		    }else if(strcmp(argv[i],"-noconv") == 0){
X			noconv = On;
#endif
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
X		case 'q':
X		    if(strcmp(argv[i],"-quiet") == 0){
X			quiet = On;
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
X		case 's':
X		    if(strcmp(argv[i],"-stdin") == 0){
X			stdin_flag = On;
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
X		case 't':
X		    if(strcmp(argv[i],"-tab") == 0){
X			i++;
X			tab = atoi(argv[i]);
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
X		case 'w':
X		    if(strcmp(argv[i],"-warn") == 0){
X			print_warning = On;
X		    }else if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
X		default:
X		    if(nohelp == Off){
X			print_help();
X			exit(1);
X		    }
X		    break;
X	    }
X	}
X    }
}
X
void print_help(void)
{
X    fprintf(stderr,"\nsh2pad %s  by %s\n\n",VERSION,AUTHOR);
X    fputs("usage: sh2pad [filename] [options]\n",stderr);
#ifdef DEBUG
X    fputs("-debug                  Print parser debug message.\n",stderr);
#endif
X    fputs("-help                   Print help message.\n",stderr);
#ifdef JAPANESE
X    fputs("-kconv converter        Kanji code converter [default: \"nkf -e\"].\n",stderr);
X    fputs("-noconv                 Do not convert kanji code.\n",stderr);
#endif
X    fputs("-nohelp                 Do not print help message.\n",stderr);
X    fputs("-quiet                  Do not print messages.\n",stderr);
X    fputs("-stdin                  Input from stdin.\n",stderr);
X    fputs("-tab width              Set TAB width [default: 4].\n",stderr);
X    fputs("-warn                   Print warnings.\n",stderr);
}
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/sh2pad/sh2pad.c' &&
  chmod 0644 'pad2ps-3.1/src/sh2pad/sh2pad.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/sh2pad/sh2pad.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/sh2pad/sh2pad.c:' 'MD5 check failed'
b2cf739531777106f6d598f29e8c34bc  pad2ps-3.1/src/sh2pad/sh2pad.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/sh2pad/sh2pad.c'`"
    test 4572 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/sh2pad/sh2pad.c:' 'original size' '4572,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/sh2pad/sh2pad.h ==============
if test -f 'pad2ps-3.1/src/sh2pad/sh2pad.h' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/sh2pad/sh2pad.h' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/sh2pad/sh2pad.h' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/sh2pad/sh2pad.h' &&
/*                         */
/*  sh2pad.h               */
/*                         */
/*  sh2pad  by S. Yoshida  */
/*                         */
X
#ifndef _SH2PAD_H
#define _SH2PAD_H
X
#include "config.h"
X
#ifndef JAPANESE
#ifndef ENGLISH
#define ENGLISH		/* output in English by default */
#endif
#endif
X
#include <stdio.h>
#include "lib.h"
#include "version.h"
X
typedef enum {
X    Nontoken, Eof, Comment,
X    Ret, Sp,
X    Str, Name, Num, Function,
X    And2, Or2, LL,
X    Lpar, Rpar, Plbrace, Lbrace, Rbrace, Lbracket, Rbracket,
X    Semicolon, Wsemicolon,
X    If, Then, Else, Elif, Fi, For, While, Do, Done,
X    Case, In, Esac
} token_type;
X
typedef struct _NEST NEST;
typedef struct _STR STR;
X
struct _NEST {
X    NEST *parent;
X    NEST *child;
X    STR *strr;
X    STR *strl;
X    int nest_level;
};    
X
struct _STR {
X    char *str;
X    STR *next;
};
X
X
extern token_type token;	/* token */
extern char word[];		/* string just read */
X
extern bool no_print_comment_flag;	/* does not print comment at this place */
X
extern int tab;			/* tab width */
extern int global_count_paren;	/* paranthesis */
X
extern char key[];		/* termination string in cat << EOF */
extern int cat_flag;		/* whether in cat << EOF */
X
extern NEST *nest;		/* function declaration nesting */
extern NEST *child;		/* child function declaration */
X
extern bool debug;		/* -debug option */
extern bool quiet;		/* -quiet option */
extern bool print_warning;	/* whether to print warning */
extern int line_count;		/* line in process */
X
extern FILE *input_stream;	/* input file */
X
X
/* parser.c */
extern void parser(void);		/* output */
extern void print(const char *);	/* print string */
X
/* token.c */
extern void get_token(void);		/* get token */
X
#endif  /* ! _SH2PAD_H */
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/sh2pad/sh2pad.h' &&
  chmod 0644 'pad2ps-3.1/src/sh2pad/sh2pad.h' ||
  $echo 'restore of' 'pad2ps-3.1/src/sh2pad/sh2pad.h' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/sh2pad/sh2pad.h:' 'MD5 check failed'
02340c4618c274c1a6cebd2ed2275c85  pad2ps-3.1/src/sh2pad/sh2pad.h
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/sh2pad/sh2pad.h'`"
    test 1747 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/sh2pad/sh2pad.h:' 'original size' '1747,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/sh2pad/parser.c ==============
if test -f 'pad2ps-3.1/src/sh2pad/parser.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/sh2pad/parser.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/sh2pad/parser.c' '(binary)'
  sed 's/^X//' << 'SHAR_EOF' > _sh23946/uue &&
begin 600 pad2ps-3.1/src/sh2pad/parser.c
M+RH@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`J+PHO*B`@<&%R<V5R+F,@+2T@8V]N=F5R="!"
M;W5R;F4@<VAE;&P@<')O9W)A;2!T;R!0041%3"`@("`@("`@("HO"B\J("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@*B\*+RH@('-H,G!A9"`@8GD@4RX@66]S:&ED82`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`J+PHO*B`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("HO"@HC:6YC;'5D92`B8V]N9FEG+F@B"@HC:6YC;'5D92`\<W1R
M:6YG+F@^"B-I9F1E9B!(059%7TU!3$Q/0U]("B,@:6YC;'5D92`\;6%L;&]C
M+F@^"B-E;F1I9@HC:6YC;'5D92`\8W1Y<&4N:#X*(VEN8VQU9&4@(G-H,G!A
M9"YH(@HC:6YC;'5D92`B;&EB+F@B"@HC9&5F:6YE($U!2T5?4U1224Y'7U=(
M24Q%*%@I"7M<"@D)"0D@("`@8V]U;G1?<&%R96X@/2`P.UP*"0D)"2`@("!C
M871?9FQA9U]T;7`@/2`P.UP*"0D)"2`@("!K97E?=&UP6S!=(#T@)UPP)SM<
M"@D)"0D@("`@:68H=&]K96X@/3T@3$PI7`H)"0D)"6-A=%]F;&%G7W1M<"`]
M(#$[7`H)"0D)("`@(&EF*'1O:V5N(#T]($QP87(@('Q\("!T;VME;B`]/2!,
M8G)A8V4I7`H)"0D)"6-O=6YT7W!A<F5N+2T[7`H)"0D)("`@(&EF*'1O:V5N
M(#T](%)P87(@('Q\("!T;VME;B`]/2!28G)A8V4I7`H)"0D)"6-O=6YT7W!A
M<F5N*RL[7`H)"0D)("`@('-E=%]S='(H*3M<"@D)"0D@("`@9V5T7W1O:V5N
M*"D[7`H)"0D)("`@('=H:6QE*%@I>UP*"0D)"0EI9BAT;VME;B`]/2!2970I
M>UP*"0D)"0D@("`@87!P96YD*"(@(BD[7`H)"0D)"2`@("`J<W`@/2`G7#`G
M.UP*"0D)"0D@("`@9&][7`H)"0D)"0EG971?=&]K96XH*3M<"@D)"0D)("`@
M('UW:&EL92AT;VME;B`]/2!3<"D[7`H)"0D)"7UE;'-E>UP*"0D)"0D@("`@
M:68H=&]K96X@/3T@4W`I>UP*"0D)"0D)<W1R8V%T*'-P+'=O<F0I.UP*"0D)
M"0D):68H8V%T7V9L86=?=&UP(#T](#(I7`H)"0D)"0D@("`@8V%T7V9L86=?
M=&UP(#T@,#M<"@D)"0D)("`@('UE;'-E>UP*"0D)"0D):68H=&]K96X@/3T@
M3'!A<B`@?'P@('1O:V5N(#T]($QB<F%C92E<"@D)"0D)"2`@("`@8V]U;G1?
M<&%R96XM+3M<"@D)"0D)"6EF*'1O:V5N(#T](%)P87(@('Q\("!T;VME;B`]
M/2!28G)A8V4I7`H)"0D)"0D@("`@(&-O=6YT7W!A<F5N*RL[7`H)"0D)"0EI
M9BAC871?9FQA9U]T;7`@/3T@,2E<"@D)"0D)"2`@("!C871?9FQA9U]T;7`@
M/2`R.UP*"0D)"0D):68H8V%T7V9L86=?=&UP(#T](#(I7`H)"0D)"0D@("`@
M<W1R8V%T*&ME>5]T;7`L=V]R9"D[7`H)"0D)"0EI9BAT;VME;B`]/2!,3"E<
M"@D)"0D)"2`@("!C871?9FQA9U]T;7`@/2`Q.UP*"0D)"0D):68H*G-P("$]
M("=<,"<I7`H)"0D)"0D@("`@87!P96YD*'-P*3M<"@D)"0D)"2IS<"`]("=<
M,"<[7`H)"0D)"0EA<'!E;F1?<W1R*"D[7`H)"0D)"2`@("!]7`H)"0D)"2`@
M("!G971?=&]K96XH*3M<"@D)"0D)?5P*"0D)"2`@("!]7`H)"0D)("`@(&EF
M*"IS<"`A/2`G7#`G*5P*"0D)"0EA<'!E;F0H<W`I.UP*"0D)"2`@("`J<W`@
M/2`G7#`G.UP*"0D)"7T*"B-D969I;F4@14Y$7T]&7TQ)3D4H*0D)>UP*"0D)
M"2`@("!T="`]('1O:V5N.R!G971?=&]K96XH*3M<"@D)"0D@("`@:68H<W1R
M;&5N*&ME>2D]/3`I>UP*"0D)"0EW:&EL92AT;VME;B`]/2!3<"E<"@D)"0D)
M("`@(&=E=%]T;VME;B@I.UP*"0D)"0EI9BAT="`A/2!2970@("8F("!T;VME
M;B`]/2!2970I7`H)"0D)"2`@("!G971?=&]K96XH*3M<"@D)"0D@("`@?5P*
M"0D)"7T*"G-T871I8R!C:&%R("IS='(@/2!.54Q,.PIS=&%T:6,@:6YT(&YE
M<W1?;&5V96P@/2`P.PIS=&%T:6,@:6YT(&-O=6YT7W!A<F5N(#T@,#L*<W1A
M=&EC(&)O;VP@96QS96EF7V9L86<@/2!/9F8["G-T871I8R!T;VME;E]T>7!E
M('1T(#T@3F]N=&]K96X["G-T871I8R!C:&%R(&ME>5]T;7!;0E5&4TE:72`]
M('LG7#`G?3L*<W1A=&EC(&EN="!C871?9FQA9U]T;7`@/2`P.PH*<W1A=&EC
M('9O:60@8F]D>2AV;VED*3L*<W1A=&EC('9O:60@8V]M;6%N9"AV;VED*3L*
M<W1A=&EC('9O:60@9G5N8W1I;VY?<W1A=&5M96YT*'9O:60I.PIS=&%T:6,@
M=F]I9"!F;W)?<W1A=&5M96YT*'9O:60I.PIS=&%T:6,@=F]I9"!I9E]S=&%T
M96UE;G0H=F]I9"D["G-T871I8R!V;VED(&-A<V5?<W1A=&5M96YT*'9O:60I
M.PIS=&%T:6,@=F]I9"!C;VYD:71I;VXH=F]I9"D["@IS=&%T:6,@=F]I9"!S
M971?<W1R*'9O:60I.PIS=&%T:6,@=F]I9"!A<'!E;F1?<W1R*'9O:60I.PIS
M=&%T:6,@=F]I9"!A<'!E;F0H8VAA<B`J*3L*<W1A=&EC('9O:60@<')I;G1?
M<W1R*'9O:60I.PIS=&%T:6,@=F]I9"!P<FEN=%]H<W`H=F]I9"D["@IV;VED
M('!A<G-E<BAV;VED*0HO*B!O=71P=70@*B\*>PH@("`@4U12("IP+"IQ.PH*
M(VEF9&5F($1%0E5'"B`@("!I9BAQ=6EE="`]/2!/9F8I"@EF<')I;G1F*'-T
M9&5R<BPB5')A;G-L871I;F<@0F]U<FYE('-H96QL('!R;V=R86T@:6YT;R!0
M041%3"!S=&%R=',N+BXB*3L*(V5N9&EF"@H@("`@<'5T<R@B>R(I.PH@("`@
M9V5T7W1O:V5N*"D["B`@("!B;V1Y*"D["B`@("!P=71S*")](BD["@H@("`@
M:68@*&-H:6QD("$]($Y53$PI('L)+RH@=VAE;B!C:&EL9"!F=6YC=&EO;B!D
M96-L87)A=&EO;B!I<R!P<F5S96YT("HO"@EF;W(@*'`@/2!C:&EL9"T^<W1R
M<B`[('`@(3T@3E5,3"`[('`@/2!Q*2!["@D@("`@<2`]('`M/FYE>'0["@D@
M("`@9G!U=',H<"T^<W1R+'-T9&]U="D["@D@("`@9G)E92AP+3YS='(I.PH)
M("`@(&9R964H<"D["@E]"@EF<F5E*&-H:6QD*3L*("`@('T*"B-I9F1E9B!$
M14)51PH@("`@:68H<75I970@/3T@3V9F*0H)9G!R:6YT9BAS=&1E<G(L(F1O
M;F5<;B(I.PHC96YD:68*?0H*=F]I9"!B;V1Y*'9O:60I"GL*("`@(&-H87(@
M<W!;0E5&4TE:72`]('LG7#`G?3L*"B`@("!W:&EL92AT;VME;B`A/2!%;V8I
M>PH):68@*&-A=%]F;&%G(#X@,"D@>PDO*B!C870@/#P@14]&("`J+PH)("`@
M('!R:6YT*")[7&XB*3L*"2`@("!W:&EL92`H8V%T7V9L86<@/B`P("`F)B`@
M=&]K96X@(3T@16]F*2!["@D)34%+15]35%))3D=?5TA)3$4H=&]K96X@(3T@
M4F5T("`F)B`@=&]K96X@(3T@16]F*3L*"0EI9B`H<W1R8VUP*'-T<BQK97DI
M(#T](#`I('L*"0D@("`@:V5Y6S!=(#T@)UPP)SL*"0D@("`@8V%T7V9L86<@
M/2`P.PH)"2`@("!F<F5E*'-T<BD["@D)("`@('-T<B`]($Y53$P["@D)?2!E
M;'-E('L*"0D@("`@<')I;G0H(CX@(BD["@D)("`@('!R:6YT7W-T<B@I.PH)
M"2`@("!P<FEN="@B7&XB*3L*"0E]"@D)9V5T7W1O:V5N*"D["@D@("`@?0H)
M("`@('!R:6YT*")]7&XB*3L*"7T*"@EW:&EL92AT;VME;B`]/2!3<"D*"2`@
M("!G971?=&]K96XH*3L*"@EI9B`H=&]K96X@/3T@16QS92`@?'P@('1O:V5N
M(#T]($5L:68@('Q\("!T;VME;B`]/2!&:2`@?'P@('1O:V5N(#T]($1O;F4@
M('Q\("!T;VME;B`]/2!%<V%C("!\?"`@=&]K96X@/3T@5W-E;6EC;VQO;B`@
M?'P@('1O:V5N(#T](%)B<F%C92D*"2`@("!R971U<FX["@H)8V]M;6%N9"@I
M.PH@("`@?0I]"@IV;VED(&-O;6UA;F0H=F]I9"D*>PH@("`@8VAA<B!S<%M"
M549325I=(#T@>R=<,"=].PH@("`@8VAA<B!B=69;0E5&4TE:73L*"B`@("!S
M=VET8V@H=&]K96XI>PH)8V%S92!&;W(Z"@EC87-E(%=H:6QE.@H)("`@(&9O
M<E]S=&%T96UE;G0H*3L*"2`@("!B<F5A:SL*"6-A<V4@268Z"@D@("`@:69?
M<W1A=&5M96YT*"D["@D@("`@8G)E86L["@EC87-E($-A<V4Z"@D@("`@8V%S
M95]S=&%T96UE;G0H*3L*"2`@("!B<F5A:SL*"6-A<V4@4F5T.@H)("`@('!R
M:6YT*")<;B(I.PH)("`@(&=E=%]T;VME;B@I.PH)("`@(&)R96%K.PH)8V%S
M92!396UI8V]L;VXZ"@D@("`@9V5T7W1O:V5N*"D["@D@("`@:68H=&]K96X@
M(3T@5W-E;6EC;VQO;BE["@D)<')I;G1?:'-P*"D["@D)<')I;G0H(GL@("`@
M?5QN(BD["@D)=VAI;&4H=&]K96X@/3T@4W`I"@D)("`@(&=E=%]T;VME;B@I
M.PH)"6EF*'1O:V5N(#T](%)E="D*"0D@("`@9V5T7W1O:V5N*"D["@D@("`@
M?0H)("`@(&)R96%K.PH)8V%S92!0;&)R86-E.@H)("`@('!R:6YT*")<;B(I
M.PH)("`@($5.1%]/1E],24Y%*"D["@D@("`@;F5S=%]L979E;"LK.PH)("`@
M(&)O9'DH*3L)"2\J(')E<&5T:71I;VX@8F]D>2`J+PH)("`@(&YE<W1?;&5V
M96PM+3L*"2`@("!%3D1?3T9?3$E.12@I.PH)("`@(&)R96%K.PH)8V%S92!&
M=6YC=&EO;CH*"2`@("!G971?=&]K96XH*3L*"2`@("!W:&EL92AT;VME;B`]
M/2!3<"`@?'P@('1O:V5N(#T](%)E="D*"0EG971?=&]K96XH*3L*"2`@("!-
M04M%7U-44DE.1U]72$E,12AT;VME;B`A/2!0;&)R86-E*3L*"2`@("!F=6YC
M=&EO;E]S=&%T96UE;G0H*3L*"2`@("!B<F5A:SL*"61E9F%U;'0Z"@D@("`@
M34%+15]35%))3D=?5TA)3$4H*"AT;VME;B`A/2!396UI8V]L;VX@("8F("!T
M;VME;B`A/2!2970@("8F("!T;VME;B`A/2!2<&%R("`F)B`@=&]K96X@(3T@
M4F)R86-E("`F)B`@=&]K96X@(3T@4&QB<F%C92`@)B8@('1O:V5N("$]($%N
M9#(@("8F("!T;VME;B`A/2!/<C(I("!\?"`@8V]U;G1?<&%R96X@/"`P*2`@
M)B8@('1O:V5N("$]($5O9BD["@D@("`@+RH@8V%T(#P\($5/1B`J+PH)("`@
M(&EF("AS=')L96XH:V5Y7W1M<"D@/B`P*2!["@D):68@*&ME>5]T;7!;,%T@
M/3T@)R(G("!\?"`@:V5Y7W1M<%LP72`]/2`G7"<G*2!["@D)("`@(&ME>5]T
M;7!;<W1R;&5N*&ME>5]T;7`I("T@,5T@/2`G7#`G.PH)"2`@("!S=')C<'DH
M:V5Y+&ME>5]T;7`K,2D["@D)?2!E;'-E('L*"0D@("`@<W1R8W!Y*&ME>2QK
M97E?=&UP*3L*"0E]"@D@("`@?0H)("`@(&EF("AT;VME;B`]/2!2970I"@D)
M8V%T7V9L86<@/2!S=')L96XH:V5Y*3L*"@D@("`@<')I;G1?:'-P*"D["@D@
M("`@:68H=&]K96X@/3T@4G!A<B`@?'P@('1O:V5N(#T](%)B<F%C92E["@D)
M:68H9VQO8F%L7V-O=6YT7W!A<F5N(#X@,"E["2\J(&-O;F1I=&EO;B!I;B!C
M87-E('-T871E;65N="`J+PH)"2`@("!P<FEN="@B8V%S92`B*3L*"0D@("`@
M<')I;G1?<W1R*"D["@D)("`@('!R:6YT*"(Z7&XB*3L*"0D@("`@9V5T7W1O
M:V5N*"D["@D)("`@('=H:6QE*'1O:V5N(#T](%-P("!\?"`@=&]K96X@/3T@
M4F5T*0H)"0EG971?=&]K96XH*3L*"0D@("`@9VQO8F%L7V-O=6YT7W!A<F5N
M+2T["@H)"2`@("!N97-T7VQE=F5L*RL["@D)("`@(&)O9'DH*3L)"2\J(')E
M<&5T:71I;F\@8F]D>2`J+PH)"2`@("!N97-T7VQE=F5L+2T["@H)"2`@("!I
M9B`H=&]K96X@/3T@17-A8RD*"0D)<F5T=7)N.PH)"7UE;'-E>PH)"2`@("!P
M<FEN=%]S='(H*3L*"0D@("`@<')I;G0H(EQN(BD["@D)("`@(')E='5R;CL*
M"0E]"@D@("`@?65L<V4@:68H=&]K96X@/3T@06YD,B`@?'P@('1O:V5N(#T]
M($]R,BE["2\J(&-O;F1I=&EO;B!E=F%L=6%T:6]N("HO"@D)<W!R:6YT9BAB
M=68L(B5S("DB+'=O<F0I.PH*"0EG971?=&]K96XH*3L*"0EW:&EL92`H=&]K
M96X@/3T@4W`@('Q\("!T;VME;B`]/2!2970I('L*"0D@("`@9V5T7W1O:V5N
M*"D["@D)?0H*"0EP<FEN="@B:68@*"`B*3L*"0EP<FEN=%]S='(H*3L*"0EP
M<FEN="AB=68I.PH*"0EI9B`H=&]K96X@/3T@4&QB<F%C92D@>PH)"2`@("!P
M<FEN="@B('M<;B(I.PH)"2`@("!%3D1?3T9?3$E.12@I.PH)"2`@("!N97-T
M7VQE=F5L*RL["@D)("`@(&)O9'DH*3L)"2\J(')E<&5T:71I;VX@8F]D>2`J
M+PH)"2`@("!N97-T7VQE=F5L+2T["@D)("`@('!R:6YT7VAS<"@I.PH)"2`@
M("!P<FEN="@B?5QN(BD["@D)?2!E;'-E('L*"0D@("`@<')I;G0H(EQN(BD[
M"@D)("`@(&YE<W1?;&5V96PK*SL*"0D@("`@8V]M;6%N9"@I.PD)+RH@<F5P
M971I=&EO;B!B;V1Y("HO"@D)("`@(&YE<W1?;&5V96PM+3L*"0D@("`@<F5T
M=7)N.PH)"7T*"2`@("!]96QS92!I9BAT;VME;B`]/2!0;&)R86-E*7L)"2\J
M(&9U;F-T:6]N(&1E8VQA<F%T:6]N("HO"@D)9G5N8W1I;VY?<W1A=&5M96YT
M*"D["@D@("`@?65L<V5["@D)<')I;G1?<W1R*"D["@D)<')I;G0H(EQN(BD[
M"@D@("`@?0H)("`@($5.1%]/1E],24Y%*"D["B`@("!]"GT*"G9O:60@9G5N
M8W1I;VY?<W1A=&5M96YT*'9O:60I"GL*("`@(%-44B`J<"PJ<3L*"B`@("!I
M9B`H;F5S="`]/2!.54Q,*2!["@EI9B`H8VAI;&0@/3T@3E5,3"D@>PH)("`@
M(&YE<W0@/2`H3D535"`J*6UA;&QO8RAS:7IE;V8H3D535"DI.PH)("`@(&-H
M:6QD(#T@;F5S=#L*"2`@("!N97-T+3YP87)E;G0@/2!N97-T+3YC:&EL9"`]
M($Y53$P["@D@("`@;F5S="T^<W1R<B`](&YE<W0M/G-T<FP@/2!.54Q,.PH)
M?2!E;'-E('L*"2`@("!N97-T(#T@8VAI;&0["@E]"B`@("!](&5L<V4@>PH)
M:68@*&YE<W0M/F-H:6QD(#T]($Y53$PI('L*"2`@("!N97-T+3YC:&EL9"`]
M("A.15-4("HI;6%L;&]C*'-I>F5O9BA.15-4*2D["@D@("`@;F5S="T^8VAI
M;&0M/G!A<F5N="`](&YE<W0["@D@("`@;F5S="`](&YE<W0M/F-H:6QD.PH)
M("`@(&YE<W0M/F-H:6QD(#T@3E5,3#L*"2`@("!N97-T+3YS=')R(#T@;F5S
M="T^<W1R;"`]($Y53$P["@E](&5L<V4@>PH)("`@(&YE<W0@/2!N97-T+3YC
M:&EL9#L*"7T*("`@('T*("`@(&YE<W0M/FYE<W1?;&5V96P@/2!N97-T7VQE
M=F5L.PH*("`@('!R:6YT*")<;B(I.PH@("`@<')I;G1?<W1R*"D["B`@("!P
M<FEN="@B7&Y[7&XB*3L*("`@($5.1%]/1E],24Y%*"D["B`@("!N97-T7VQE
M=F5L(#T@,3L*("`@(&)O9'DH*3L*("`@('!R:6YT*")]7&XB*3L*("`@($5.
M1%]/1E],24Y%*"D["@H@("`@:68@*&YE<W0M/F-H:6QD("$]($Y53$PI('L)
M+RH@=VAE;B!C:&EL9"!F=6YC=&EO;B!D96-L87)A=&EO;B!I<R!P<F5S96YT
M("HO"@EF;W(@*'`@/2!N97-T+3YC:&EL9"T^<W1R<B`[('`@(3T@3E5,3"`[
M('`@/2!Q*2!["@D@("`@<2`]('`M/FYE>'0["@D@("`@<')I;G0H<"T^<W1R
M*3L*"2`@("!F<F5E*'`M/G-T<BD["@D@("`@9G)E92AP*3L*"7T*"69R964H
M;F5S="T^8VAI;&0I.PH);F5S="T^8VAI;&0@/2!.54Q,.PH@("`@?0H@("`@
M;F5S=%]L979E;"`](&YE<W0M/FYE<W1?;&5V96P["B`@("!N97-T(#T@;F5S
M="T^<&%R96YT.PI]"@IV;VED(&9O<E]S=&%T96UE;G0H=F]I9"D*>PH@("`@
M:6YT(&D["B`@("!C:&%R('-P6T)51E-)6ET@/2![)UPP)WT["B`@("!T;VME
M;E]T>7!E('1Y<&4["@H@("`@='EP92`]('1O:V5N.PH*("`@('-E=%]S='(H
M*3L*("`@('!R:6YT7VAS<"@I.PH@("`@<')I;G1?<W1R*"D["@H@("`@9V5T
M7W1O:V5N*"D["B`@("!W:&EL92`H=&]K96X@/3T@4W`I('L*"7-T<F-A="AS
M<"QW;W)D*3L*"6=E=%]T;VME;B@I.PH@("`@?0H@("`@<')I;G0H<W`I.PH*
M("`@('!R:6YT*"(H(BD["B`@("!-04M%7U-44DE.1U]72$E,12AT;VME;B`A
M/2!396UI8V]L;VX@("8F("!T;VME;B`A/2!2970@("8F("!T;VME;B`A/2!$
M;R`@)B8@('1O:V5N("$]($5O9BD["B`@("!I(#T@<W1R;&5N*'-T<BD@+2`Q
M.PH@("`@=VAI;&4H:7-S<&%C92AS=');:5TI("`F)B`@:2`^/2`P*0H)<W1R
M6VDM+5T@/2`G7#`G.PH@("`@<')I;G1?<W1R*"D["B`@("!P<FEN="@B*2(I
M.PH*("`@('-P6S!=(#T@)UPP)SL*("`@('=H:6QE("AT;VME;B`A/2!$;R`@
M)B8@('1O:V5N("$]($5O9BD@>PH)<W1R8V%T*'-P+"@J=V]R9"`]/2`G7'0G
M(#\@(EQT(B`Z("(@(BDI.PH)9V5T7W1O:V5N*"D["B`@("!]"B`@("!P<FEN
M="AS<"D["B`@("!P<FEN="@B>UQN(BD["@H@("`@=VAI;&4@*'1O:V5N("$]
M(%)E="`@)B8@('1O:V5N("$](%-E;6EC;VQO;B`@)B8@('1O:V5N("$]($5O
M9BD*"6=E=%]T;VME;B@I.PH@("`@14Y$7T]&7TQ)3D4H*3L*"B`@("!N97-T
M7VQE=F5L*RL["B`@("!B;V1Y*"D["0D)"2\J(')E<&5T:71I;VX@8F]D>2`J
M+PH@("`@;F5S=%]L979E;"TM.PH*("`@('!R:6YT7VAS<"@I.PH@("`@<')I
M;G0H(GU<;B(I.PH*("`@('=H:6QE("AT;VME;B`A/2!2970@("8F("!T;VME
M;B`A/2!396UI8V]L;VX@("8F("!T;VME;B`A/2!%;V8I"@EG971?=&]K96XH
M*3L*("`@($5.1%]/1E],24Y%*"D["GT*"G9O:60@:69?<W1A=&5M96YT*'9O
M:60I"GL*("`@(&-H87(@<W!;0E5&4TE:72`]('LG7#`G?3L*("`@(&-H87(@
M8G5F6T)51E-)6ET["@H@("`@<V5T7W-T<B@I.PH*("`@(&EF*&5L<V5I9E]F
M;&%G(#T]($]N*0DO*B!O=71P=70@86QR96%D>2!P<FEN=&5D(&9O<B!E;&EF
M("HO"@EE;'-E:69?9FQA9R`]($]F9CL*("`@(&5L<V4@>PH)<')I;G1?:'-P
M*"D["@EP<FEN=%]S='(H*3L*("`@('T*"B`@("!G971?=&]K96XH*3L*("`@
M('=H:6QE("AT;VME;B`]/2!3<"D@>PH)<W1R8V%T*'-P+'=O<F0I.PH)9V5T
M7W1O:V5N*"D["B`@("!]"B`@("!P<FEN="AS<"D["@H@("`@:68@*'1O:V5N
M(#T]($QB<F%C:V5T*2!["@EP<FEN="@B*"(I.PH)8V]N9&ET:6]N*"D["@EP
M<FEN=%]S='(H*3L*("`@('T@96QS92!["@EP<FEN="@B*"(I.PH)34%+15]3
M5%))3D=?5TA)3$4H=&]K96X@(3T@4V5M:6-O;&]N("`F)B`@=&]K96X@(3T@
M4F5T("`F)B`@=&]K96X@(3T@16]F*3L*"7!R:6YT7W-T<B@I.PH@("`@?0H@
M("`@<')I;G0H(BDB*3L*("`@(&YO7W!R:6YT7V-O;6UE;G1?9FQA9R`]($]N
M.PH@("`@=VAI;&4@*'1O:V5N("$](%)E="`@)B8@('1O:V5N("$](%-E;6EC
M;VQO;B`@)B8@('1O:V5N("$]($-O;6UE;G0@("8F("!T;VME;B`A/2!%;V8I
M"@EG971?=&]K96XH*3L*("`@(&YO7W!R:6YT7V-O;6UE;G1?9FQA9R`]($]F
M9CL*"B`@("!I9B`H=&]K96X@/3T@4F5T("!\?"`@=&]K96X@/3T@0V]M;65N
M="D@>PH)<'5T8VAA<B@G7&XG*3L*"6EF("AT;VME;B`]/2!#;VUM96YT*0H)
M("`@('!U=',H=V]R9"D["@H)14Y$7T]&7TQ)3D4H*3L*"7=H:6QE("AT;VME
M;B`]/2!3<"D@>PH)("`@(&=E=%]T;VME;B@I.PH)?0H*"7!R:6YT7VAS<"@I
M.PH@("`@?2!E;'-E('L*"45.1%]/1E],24Y%*"D["@H)<W!;,%T@/2`G7#`G
M.PH)=VAI;&4@*'1O:V5N(#T](%-P*2!["@D@("`@<W1R8V%T*'-P+'=O<F0I
M.PH)("`@(&=E=%]T;VME;B@I.PH)?0H*"7!R:6YT*'-P*3L*("`@('T*("`@
M('!R:6YT*")[7&XB*3L*("`@($5.1%]/1E],24Y%*"D["@H@("`@;F5S=%]L
M979E;"LK.PH@("`@8F]D>2@I.PH@("`@;F5S=%]L979E;"TM.PH*("`@('!R
M:6YT7VAS<"@I.PH@("`@:68@*'1O:V5N(#T]($9I*2!["@EP<FEN="@B?5QN
M(BD["@EW:&EL92`H=&]K96X@(3T@4F5T("`F)B`@=&]K96X@(3T@4V5M:6-O
M;&]N("`F)B`@=&]K96X@(3T@16]F*0H)("`@(&=E=%]T;VME;B@I.PH)14Y$
M7T]&7TQ)3D4H*3L*("`@('T@96QS92!I9B`H=&]K96X@/3T@16QI9BD@>PH)
M<W!R:6YT9BAB=68L(GTE<V5L<V4@:68B+'-P*3L*"7!R:6YT*&)U9BD["@EE
M;'-E:69?9FQA9R`]($]N.PH):69?<W1A=&5M96YT*"D["B`@("!](&5L<V4@
M>PH)<W!R:6YT9BAB=68L(GTE<V5L<V4E<WM<;B(L<W`L<W`I.PH)<')I;G0H
M8G5F*3L*"4U!2T5?4U1224Y'7U=(24Q%*'1O:V5N("$](%-E;6EC;VQO;B`@
M)B8@('1O:V5N("$](%)E="`@)B8@('1O:V5N("$]($5O9BD["@E%3D1?3T9?
M3$E.12@I.PH*"6YE<W1?;&5V96PK*SL*"6)O9'DH*3L*"6YE<W1?;&5V96PM
M+3L*"@EP<FEN=%]H<W`H*3L*"7!R:6YT*")]7&XB*3L*"@EW:&EL92`H=&]K
M96X@(3T@4F5T("`F)B`@=&]K96X@(3T@4V5M:6-O;&]N("`F)B`@=&]K96X@
M(3T@16]F*0H)("`@(&=E=%]T;VME;B@I.PH)14Y$7T]&7TQ)3D4H*3L*("`@
M('T*?0H*=F]I9"!C87-E7W-T871E;65N="AV;VED*0I["B`@("!I;G0@:3L*
M("`@(&-H87(@<W!;0E5&4TE:72`]('LG7#`G?3L*"B`@("!P<FEN=%]H<W`H
M*3L*("`@('!R:6YT*")S=VET8V@B*3L*"B`@("!G971?=&]K96XH*3L*("`@
M('=H:6QE("AT;VME;B`]/2!3<"D@>PH)<W1R8V%T*'-P+'=O<F0I.PH)9V5T
M7W1O:V5N*"D["B`@("!]"B`@("!P<FEN="AS<"D["@H@("`@<')I;G0H(B@B
M*3L*("`@($U!2T5?4U1224Y'7U=(24Q%*'1O:V5N("$]($EN("`F)B`@=&]K
M96X@(3T@16]F*3L*("`@(&D@/2!S=')L96XH<W1R*2`M(#$["B`@("!W:&EL
M92AI<W-P86-E*'-T<EMI72D@("8F("!I(#X](#`I"@ES=');:2TM72`]("=<
M,"<["B`@("!P<FEN=%]S='(H*3L*("`@('!R:6YT*"(I(BD["@H@("`@<W!;
M,%T@/2`G7#`G.PH@("`@9V5T7W1O:V5N*"D["B`@("!W:&EL92`H=&]K96X@
M/3T@4W`@('Q\("!T;VME;B`]/2!2970I('L*"7-T<F-A="AS<"PH*G=O<F0@
M/3T@)UQT)R`_(")<="(@.B`B("(I*3L*"6=E=%]T;VME;B@I.PH@("`@?0H@
M("`@<')I;G0H<W`I.PH@("`@<')I;G0H(GM<;B(I.PH*("`@(&YE<W1?;&5V
M96PK*SL*("`@(&)O9'DH*3L)"0D)+RH@<F5P971I=&EN;R!B;V1Y("HO"B`@
M("!N97-T7VQE=F5L+2T["@H@("`@<')I;G1?:'-P*"D["B`@("!P<FEN="@B
M?5QN(BD["@H@("`@=VAI;&4@*'1O:V5N("$](%)E="`@)B8@('1O:V5N("$]
M(%-E;6EC;VQO;B`@)B8@('1O:V5N("$]($5O9BD*"6=E=%]T;VME;B@I.PH@
M("`@14Y$7T]&7TQ)3D4H*3L*?0H*=F]I9"!C;VYD:71I;VXH=F]I9"D*>PH@
M("`@8VAA<B!S<%M"549325I=(#T@>R=<,"=].PH*("`@(&%P<&5N9%]S='(H
M*3L*("`@(&=E=%]T;VME;B@I.PH*("`@('=H:6QE*'1O:V5N("$](%)B<F%C
M:V5T("`F)B`@=&]K96X@(3T@16]F*7L*"6EF*'1O:V5N(#T]($QB<F%C:V5T
M*0H)("`@(&-O;F1I=&EO;B@I.PH)96QS97L*"2`@("!I9BAT;VME;B`]/2!3
M<"D*"0ES=')C870H<W`L=V]R9"D["@D@("`@96QS97L*"0EI9B@J<W`@(3T@
M)UPP)RD*"0D@("`@87!P96YD*'-P*3L*"0DJ<W`@/2`G7#`G.PH)"6%P<&5N
M9%]S='(H*3L*"2`@("!]"@H)("`@(&=E=%]T;VME;B@I.PH)?0H@("`@?0H*
M("`@(&EF*"IS<"`A/2`G7#`G*0H)87!P96YD*'-P*3L*("`@(&%P<&5N9%]S
M='(H*3L*("`@(&=E=%]T;VME;B@I.PI]"@IV;VED('-E=%]S='(H=F]I9"D*
M>PH@("`@:6YT(&P["@H@("`@;"`]('-T<FQE;BAW;W)D*3L*("`@('-T<B`]
M("AC:&%R("HI;6%L;&]C*"AL*S(I("H@<VEZ96]F*&-H87(I*3L*("`@('-T
M<F-P>2AS='(L=V]R9"D["GT*"G9O:60@87!P96YD7W-T<BAV;VED*0I["B`@
M("!I;G0@;#L*("`@(&-H87(@*G,["@H@("`@;"`]('-T<FQE;BAW;W)D*3L*
M("`@(',@/2`H8VAA<B`J*6UA;&QO8R@H;"LR*2`J('-I>F5O9BAC:&%R*2D[
M"B`@("!S=')C<'DH<RQW;W)D*3L*("`@('-T<B`](&IO:6YT*#(L<W1R+',I
M.PI]"@IV;VED(&%P<&5N9"AC:&%R("IP*0I["B`@("!I;G0@;#L*("`@(&-H
M87(@*G,["@H@("`@;"`]('-T<FQE;BAP*3L*("`@(',@/2`H8VAA<B`J*6UA
M;&QO8R@H;"LR*2`J('-I>F5O9BAC:&%R*2D["B`@("!S=')C<'DH<RQP*3L*
M("`@('-T<B`](&IO:6YT*#(L<W1R+',I.PI]"@IV;VED('!R:6YT7W-T<BAV
M;VED*0I["B`@("!I9BAS='(@(3T@3E5,3"E["@EP<FEN="AS='(I.PH)9G)E
M92AS='(I.PH)<W1R(#T@3E5,3#L*("`@('T*?0H*=F]I9"!P<FEN=%]H<W`H
M=F]I9"D*>PH@("`@:6YT(&D["@H@("`@9F]R*&D@/2`P(#L@:2`\(&YE<W1?
M;&5V96P@*B!T86(@.R!I*RLI"@EP<FEN="@B("(I.PI]"@IV;VED('!R:6YT
M*&-O;G-T(&-H87(@*G,I"GL*("`@(&EF("AN97-T(#T]($Y53$PI('L*"69P
M=71S*',L<W1D;W5T*3L*("`@('T@96QS92!["@EI9B`H;F5S="T^<W1R;"`]
M/2!.54Q,*2!["@D@("`@;F5S="T^<W1R<B`]("A35%(@*BEM86QL;V,H<VEZ
M96]F*%-44BDI.PH)("`@(&YE<W0M/G-T<FP@/2!N97-T+3YS=')R.PH)?2!E
M;'-E('L*"2`@("!N97-T+3YS=')L+3YN97AT(#T@*%-44B`J*6UA;&QO8RAS
M:7IE;V8H4U12*2D["@D@("`@;F5S="T^<W1R;"`](&YE<W0M/G-T<FPM/FYE
M>'0["@E]"@EN97-T+3YS=')L+3YN97AT(#T@3E5,3#L*"6YE<W0M/G-T<FPM
M/G-T<B`]("AC:&%R("HI;6%L;&]C*'-T<FQE;BAS*2`K(#$I.PH)<W1R8W!Y
=*&YE<W0M/G-T<FPM/G-T<BQS*3L*("`@('T*?0IS
`
end
SHAR_EOF
  $echo 'uudecoding file' 'pad2ps-3.1/src/sh2pad/parser.c' &&
  uudecode _sh23946/uue < _sh23946/uue &&
  $shar_touch -am 0820130496 'pad2ps-3.1/src/sh2pad/parser.c' &&
  chmod 0644 'pad2ps-3.1/src/sh2pad/parser.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/sh2pad/parser.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/sh2pad/parser.c:' 'MD5 check failed'
f5351f4ff2d460ce2eb384fe9f2bac2a  pad2ps-3.1/src/sh2pad/parser.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/sh2pad/parser.c'`"
    test 11999 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/sh2pad/parser.c:' 'original size' '11999,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/sh2pad/token.c ==============
if test -f 'pad2ps-3.1/src/sh2pad/token.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/sh2pad/token.c' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/sh2pad/token.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/sh2pad/token.c' &&
/*                                 */
/*  token.c -- get token           */
/*                                 */
/*  sh2pad  by S. Yoshida          */
/*                                 */
X
#include "config.h"
X
#include <string.h>
#ifdef HAVE_MALLOC_H
# include <malloc.h>
#endif
#include <ctype.h>
#include "sh2pad.h"
#include "lib.h"
X
static int ch = 0;
static int pch = 0;		/* get one character in advance */
static int word_ptr = 0;	/* pointer to the tail of word */
static bool newline = On;	/* whether it is head of line */
static bool comm_flag = Off;	/* whether it is in comment */
X
static void set_ch(void);
static void append_ch(void);
static void get_ch(void);
static int p_getchar(FILE *);
X
void get_token(void)
/* get token */
{
X    if(token == Eof)
X	fatal_error("input file terminates unexpectedly.");
X
X    if(ch == 0)
X	get_ch();
X
X    if(cat_flag > 0){
X	if(ch == '\n')
X	    token = Ret;
X	else{
X	    token = Str;
X	    *word = ch;
X	    *(word+1) = '\0';
X	}
X	get_ch();
X	return;
X    }
X
X    switch(ch){
X	case EOF:
X	    token = Eof;
X	    *word = '\0';
X	    return;
X	case 1:
X	    token = Wsemicolon;
X	    *word = ';';
X	    *(word+1) = '\0';
X	    get_ch();
X	    return;
X	case '\n':
X	    newline = On;
X	    token = Ret;
X	    *word = ' ';
X	    *(word+1) = '\0';
X	    get_ch();
X	    cat_flag = strlen(key);
X	    return;
X	case ' ':
X	case '\t':
X	    token = Sp;
X	    set_ch();
X	    get_ch();
X	    while(ch == ' '  ||  ch == '\t'){
X		append_ch();
X		get_ch();
X	    }
X	    return;
X	case '#':
X	    comm_flag = On;
X	    set_ch();
X	    get_ch();
X	    while(ch != '\n'){
X		append_ch();
X		get_ch();
X	    }
X
X	    /* does not print at this place */
X	    if (no_print_comment_flag == On) {
X		char buf[BUFSIZ];
X		strcpy(buf,"// ");
X		strcat(buf,word);
X		comm_flag = Off;
X
X		if(word[strlen(word)-1] == '\\'  ||  newline == On){
X		    set_ch();
X		    get_ch();
X		}else{
X		    cat_flag = strlen(key);
X		}
X
X		newline = On;
X		strcpy(word,buf);
X		token = Comment;
X		return;
X	    }
X
X	    print("// ");
X	    print(word);
X	    print("\n");
X	    comm_flag = Off;
X	    set_ch();
X	    get_ch();
X	    if(word[strlen(word)-1] != '\\'  &&  newline != On){	/* carriage return if it is at head of line */
X		newline = On;
X		token = Ret;
X		cat_flag = strlen(key);
X	    }else{
X		newline = On;
X		get_token();
X	    }
X	    return;
X	case '"':
X	    newline = Off;
X	    set_ch();
X
X	    do{
X		get_ch();
X		if(ch == '\n'){
X		    ch = '\\'; append_ch();
X		    ch = 'n'; append_ch();
X		}else if(ch == '\\'){
X		    append_ch();
X		    get_ch(); append_ch();
X		    ch = ' ';
X		}else
X		    append_ch();
X	    }while(ch != '"');
X
X	    get_ch();
X
X	    token = Str;
X	    return;
X	case '\'':
X	    newline = Off;
X	    set_ch();
X
X	    do{
X		get_ch();
X		if(ch == '\n'){
X		    ch = '\\'; append_ch();
X		    ch = 'n'; append_ch();
X		}else if(ch == '\\'){
X		    append_ch();
X		    get_ch(); append_ch();
X		    ch = ' ';
X		}else
X		    append_ch();
X	    }while(ch != '\'');
X
X	    get_ch();
X
X	    token = Str;
X	    return;
X	case '`':
X	    newline = Off;
X	    set_ch();
X
X	    do{
X		get_ch();
X		if(ch == '\n'){
X		    ch = '\\'; append_ch();
X		    ch = 'n'; append_ch();
X		}else if(ch == '\\'){
X		    append_ch();
X		    get_ch(); append_ch();
X		    ch = ' ';
X		}else
X		    append_ch();
X	    }while(ch != '`');
X
X	    get_ch();
X
X	    token = Str;
X	    return;
X	case '&':
X	    newline = Off;
X	    set_ch();
X	    get_ch();
X	    if (ch == '&') {
X		token = And2;
X		append_ch();
X		get_ch();
X	    } else
X		token = Str;
X	    return;
X	case '|':
X	    newline = Off;
X	    set_ch();
X	    get_ch();
X	    if (ch == '|') {
X		token = Or2;
X		append_ch();
X		get_ch();
X	    } else
X		token = Str;
X	    return;
X	case '<':
X	    newline = Off;
X	    set_ch();
X	    get_ch();
X	    if (ch == '<') {
X		token = LL;
X		append_ch();
X		get_ch();
X	    } else
X		token = Str;
X	    return;
X	case '\\':
X	    newline = Off;
X	    token = Str;
X	    set_ch();
X	    get_ch();
X	    append_ch();
X	    get_ch();
X	    return;
X	case '$':
X	    newline = Off;
X	    token = Str;
X	    set_ch();
X	    get_ch();
X	    if(ch == '#'){
X		append_ch();
X		get_ch();
X	    } else if(ch == '{'){
X		append_ch();
X		get_ch();
X		token = Lbrace;
X	    }
X	    return;
X	case '(':
X	    newline = Off;
X	    global_count_paren--;
X	    token = Lpar;
X	    set_ch();
X	    get_ch();
X	    return;
X	case ')':
X	    newline = Off;
X	    global_count_paren++;
X	    token = Rpar;
X	    set_ch();
X	    get_ch();
X	    return;
X	case '{':
X	    newline = Off;
X	    token = Plbrace;
X	    set_ch();
X	    get_ch();
X	    return;
X	case '}':
X	    newline = Off;
X	    token = Rbrace;
X	    set_ch();
X	    get_ch();
X	    return;
X	case '[':
X	    newline = Off;
X	    token = Lbracket;
X	    set_ch();
X	    get_ch();
X	    return;
X	case ']':
X	    newline = Off;
X	    token = Rbracket;
X	    set_ch();
X	    get_ch();
X	    return;
X	case ';':
X	    newline = Off;
X	    token = Semicolon;
X	    set_ch();
X	    get_ch();
X	    if(ch == ';')
X		ch = 1;		/* ;; */
X	    return;
X	default:
X	    if(isdigit(ch)){
X		token = Num;
X		set_ch();
X		get_ch();
X		while(isdigit(ch)){
X		    append_ch();
X		    get_ch();
X		}
X		newline = Off;
X		return;
X	    }
X
X	    if(isalpha(ch)  ||  ch == '_'){
X		token = Name;
X		set_ch();
X		get_ch();
X		while(isalnum(ch)  ||  (char)ch == '_'){
X		    append_ch();
X		    get_ch();
X		}
X
X		if(strcmp(word,"if") == 0)
X		    token = If;
X		else if(strcmp(word,"then") == 0)
X		    token = Then;
X		else if(strcmp(word,"else") == 0)
X		    token = Else;
X		else if(strcmp(word,"elif") == 0)
X		    token = Elif;
X		else if(strcmp(word,"fi") == 0)
X		    token = Fi;
X		else if(strcmp(word,"for") == 0)
X		    token = For;
X		else if(strcmp(word,"while") == 0)
X		    token = While;
X		else if(strcmp(word,"do") == 0)
X		    token = Do;
X		else if(strcmp(word,"done") == 0)
X		    token = Done;
X		else if(strcmp(word,"case") == 0)
X		    token = Case;
X		else if(strcmp(word,"in") == 0)
X		    token = In;
X		else if(strcmp(word,"esac") == 0)
X		    token = Esac;
X		else if(strcmp(word,"function") == 0)
X		    token = Function;
X
X		newline = Off;
X		return;
X	    }
X
X	    token = Str;
X	    set_ch();
X	    get_ch();
X	    newline = Off;
X	    return;
X    }
}
X
void set_ch(void)
/* set character just read */
{
X    *word = ch;
X    *(word + 1) = '\0';
X    word_ptr = 1;
}
X
void append_ch(void)
/* append character just read */
{
X    *(word + word_ptr) = ch;
X    *(word + word_ptr + 1) = '\0';
X    word_ptr++;
}
X
void get_ch(void)
/* get one character */
{
X    if(ch == 0){
X	ch = p_getchar(input_stream);
X	pch = p_getchar(input_stream);
X    }else{
X	ch = pch;
X	pch = p_getchar(input_stream);
X    }
X
X    if(comm_flag == Off  &&  
X       ch == '\\'  &&  pch == '\n'){	/* discart '\' at end of line */
X	line_count++;
X	ch = p_getchar(input_stream);
X	pch = p_getchar(input_stream);
X    }
X
X    if(ch == '\n')
X	line_count++;
}
X
int p_getchar(FILE *fp)
/* read one character */
{
X    int c = 0;
X    while(((0 <= c  &&  c < ' '  &&  c != '\t'  &&  c != '\n')  ||  c == 0x7F)  &&  c != EOF){
X	c = getc(fp);
X    }
X    return c;
}
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/sh2pad/token.c' &&
  chmod 0644 'pad2ps-3.1/src/sh2pad/token.c' ||
  $echo 'restore of' 'pad2ps-3.1/src/sh2pad/token.c' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/sh2pad/token.c:' 'MD5 check failed'
16c928ece6d0cfe0c482e0c5e00ca498  pad2ps-3.1/src/sh2pad/token.c
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/sh2pad/token.c'`"
    test 6920 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/sh2pad/token.c:' 'original size' '6920,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/sh2pad/Makefile.in ==============
if test -f 'pad2ps-3.1/src/sh2pad/Makefile.in' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/sh2pad/Makefile.in' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/sh2pad/Makefile.in' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/sh2pad/Makefile.in' &&
### Makefile of sh2pad  by S. Yoshida
X
### configuration by configure
X
prefix = @prefix@
exec_prefix = @exec_prefix@
LIBDIR = @libdir@/pad2ps
X
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
X
CC = @CC@
X
LIBS = @LIBS@ -L../lib -lpublic
X
### make commands
X
CFLAGS = -O2
LDFLAGS =
MFLAGS =
X
INCLUDES = -I.. -I../lib
X
HDRS = sh2pad.h
SRCS = sh2pad.c parser.c token.c
OBJS = sh2pad.o parser.o token.o
X
TARGS = sh2pad
X
all: ${TARGS}
X
sh2pad: ${OBJS} ${HDRS}
X	$(CC) $(LDFLAGS) ${OBJS} -o $@ $(LIBS)
X
%.o: %.c
X	$(CC) $(CFLAGS) $(INCLUDES) -c $<
X
install: ${TARGS}
X	$(INSTALL) -d $(LIBDIR)
X	if [ -f $(LIBDIR)/sh2pad ]; then rm -f $(LIBDIR)/sh2pad; fi
X	$(INSTALL_PROGRAM) sh2pad $(LIBDIR)
X
clean:
X	rm -f ${OBJS} ${TARGS} a.out core *~ *.bak
X
distclean:
X	rm -f ${OBJS} ${TARGS} a.out core *~ *.bak
X	rm -f Makefile
SHAR_EOF
  $shar_touch -am 0820130496 'pad2ps-3.1/src/sh2pad/Makefile.in' &&
  chmod 0644 'pad2ps-3.1/src/sh2pad/Makefile.in' ||
  $echo 'restore of' 'pad2ps-3.1/src/sh2pad/Makefile.in' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/sh2pad/Makefile.in:' 'MD5 check failed'
179c559f407e3a1aa417c2affdfcca92  pad2ps-3.1/src/sh2pad/Makefile.in
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/sh2pad/Makefile.in'`"
    test 841 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/sh2pad/Makefile.in:' 'original size' '841,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/config.h.in ==============
if test -f 'pad2ps-3.1/src/config.h.in' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/config.h.in' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/config.h.in' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/config.h.in' &&
/* src/config.h.in.  Generated automatically from configure.in by autoheader.  */
X
#ifndef _CONFIG_H
#define _CONFIG_H
X
#include <stdio.h>
X
/* Define if you want to print debug messages. */
#undef DEBUG
X
/* Define one of these languages. */
#define ENGLISH
#undef  JAPANESE
X
/* Modules path. Defined automatically by 'make'. */
#define LPATH ""
X
/* Define temporary directory. */
#ifdef P_tmpdir
#define TMP P_tmpdir
#else
#define TMP "/tmp"
#endif
X
/* Define if yacc cannot treat void *, defined automatically by 'make'. */
#undef YACC_NO_VOID_PTR
X
/* Define if you have the atexit function.  */
#undef HAVE_ATEXIT
X
/* Define if you have the on_exit function.  */
#undef HAVE_ON_EXIT
X
/* Define if you have the <malloc.h> header file.  */
#undef HAVE_MALLOC_H
X
/* Define if you have the <unistd.h> header file.  */
#undef HAVE_UNISTD_H
X
#endif /* _CONFIG_H */
SHAR_EOF
  $shar_touch -am 1102142696 'pad2ps-3.1/src/config.h.in' &&
  chmod 0644 'pad2ps-3.1/src/config.h.in' ||
  $echo 'restore of' 'pad2ps-3.1/src/config.h.in' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/config.h.in:' 'MD5 check failed'
27bb64354207a59be3f1891d21344abf  pad2ps-3.1/src/config.h.in
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/config.h.in'`"
    test 861 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/config.h.in:' 'original size' '861,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/src/version.h ==============
if test -f 'pad2ps-3.1/src/version.h' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/src/version.h' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/src/version.h' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/src/version.h' &&
/*                         */
/*  version.h              */
/*                         */
/*  pad2ps  by S. Yoshida  */
/*                         */
X
#ifndef _VERSION_H
#define _VERSION_H
X
#define VERSION		"3.1  1996-11-02"
#define AUTHOR		"S. Yoshida (seiichi@muraoka.info.waseda.ac.jp)"
X
#endif  /* ! _VERSION_H */
SHAR_EOF
  $shar_touch -am 1102142796 'pad2ps-3.1/src/version.h' &&
  chmod 0644 'pad2ps-3.1/src/version.h' ||
  $echo 'restore of' 'pad2ps-3.1/src/version.h' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/src/version.h:' 'MD5 check failed'
2a65391ddb666fd33bbcdee23f318adf  pad2ps-3.1/src/version.h
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/src/version.h'`"
    test 318 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/src/version.h:' 'original size' '318,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/Makefile.in ==============
if test -f 'pad2ps-3.1/Makefile.in' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/Makefile.in' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/Makefile.in' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'pad2ps-3.1/Makefile.in' &&
### Makefile of pad2ps series  by S. Yoshida
X
### configuration by configure
X
prefix = @prefix@
exec_prefix = @exec_prefix@
BINDIR = @bindir@
LIBDIR = @libdir@/pad2ps
MANDIR = @mandir@/man1
STYDIR = @stydir@
X
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
SH = @SH@
LN_S = @LN_S@
MAKE = @make@
X
CC = @CC@
X
YACC = @YACC@
LEX = @LEX@
LEXLIB = @LEXLIB@
X
RANLIB = @RANLIB@
X
LIBS = @LIBS@
X
### make commands
X
CFLAGS = -O2
LDFLAGS =
MFLAGS =
X
SRCDIR = lib mkpad main pad2ps awk2pad c2pad csh2pad java2pad sh2pad
X
DOCFILE = manual.tex manual.ps manual.index ack.pad ack.1.eps ack.2.eps ack.3.eps
STYFILE = pad.sty
STYDOCFILE = guide-e.tex guide-e.dvi
MANFILE = pad2ps mkpad
LNFILE = pad2tex pad2eps
X
all: src/config.h
X	cat src/config.h | sed -e "s/^#define LPATH .*/#define LPATH \"`echo $(LIBDIR) | tr / @`\"/" > src/.config.h.tmp
X	cat src/.config.h.tmp | tr @ / > src/config.h
X	if test "$(YACC)" = "yacc"; then \
X		cat src/config.h | sed -e "s/^\/\* #undef YACC_NO_VOID_PTR .*/#define YACC_NO_VOID_PTR 1/" > src/.config.h.tmp; \
X		mv src/.config.h.tmp src/config.h; \
X	fi
X	rm -f src/.config.h.tmp
X	cd src/lib; for i in $(SRCDIR); do cd ../$$i; $(MAKE) $(MFLAGS); done
X	gzip -dc padsty-1.1.tar.gz | tar xfv -
X
install: padsty-1.1/pad.sty
X	cd src/lib; for i in $(SRCDIR); do cd ../$$i; $(MAKE) $(MFLAGS) install; done
X	$(INSTALL) -d $(STYDIR)
X	for i in $(STYFILE); do \
X		if [ -f $(STYDIR)/$$i ]; then rm -f $(STYDIR)/$$i; fi; \
X		$(INSTALL_DATA) padsty-1.1/$$i $(STYDIR); \
X	done
X
install.man:
X	$(INSTALL) -d $(MANDIR)
X	for i in $(MANFILE) ; do \
X		if [ -f $(MANDIR)/$$i.1 ]; then rm -f $(MANDIR)/$$i.1; fi; \
X		$(INSTALL_DATA) $$i.man $(MANDIR)/$$i.1; \
X	done
X	for i in $(LNFILE); do \
X		if [ -f $(MANDIR)/$$i.1 ]; then rm -f $(MANDIR)/$$i.1; fi; \
X		$(LN_S) pad2ps.1 $(MANDIR)/$$i.1; \
X	done
X
clean:
X	cd src/lib; for i in $(SRCDIR); do cd ../$$i; $(MAKE) $(MFLAGS) clean; done
X	rm -f core *~ *.bak
X	rm -f src/.config.h.tmp
X	rm -rf padsty-1.1
X
distclean:
X	cd src/lib; for i in $(SRCDIR); do cd ../$$i; $(MAKE) $(MFLAGS) distclean; done
X	rm -f core *~ *.bak
X	rm -f src/.config.h.tmp
X	rm -rf padsty-1.1
X	rm -f Makefile config.cache config.log config.status
X	rm -f src/config.h
SHAR_EOF
  $shar_touch -am 1102141296 'pad2ps-3.1/Makefile.in' &&
  chmod 0644 'pad2ps-3.1/Makefile.in' ||
  $echo 'restore of' 'pad2ps-3.1/Makefile.in' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'pad2ps-3.1/Makefile.in:' 'MD5 check failed'
51e7b94b5a13f9aeb130914530b722a0  pad2ps-3.1/Makefile.in
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'pad2ps-3.1/Makefile.in'`"
    test 2209 -eq "$shar_count" ||
    $echo 'pad2ps-3.1/Makefile.in:' 'original size' '2209,' 'current size' "$shar_count!"
  fi
fi
# ============= pad2ps-3.1/configure ==============
if test -f 'pad2ps-3.1/configure' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'pad2ps-3.1/configure' '(file already exists)'
  rm -f _sh23946/new
else
  > _sh23946/new
  $echo 'x -' extracting 'pad2ps-3.1/configure' '(binary)'
  sed 's/^X//' << 'SHAR_EOF' > _sh23946/uue &&
begin 600 pad2ps-3.1/configure
M(R$@+V)I;B]S:`H*(R!'=65S<R!V86QU97,@9F]R('-Y<W1E;2UD97!E;F1E
M;G0@=F%R:6%B;&5S(&%N9"!C<F5A=&4@36%K969I;&5S+@HC($=E;F5R871E
M9"!A=71O;6%T:6-A;&QY('5S:6YG(&%U=&]C;VYF('9E<G-I;VX@,BXQ,"`*
M(R!#;W!Y<FEG:'0@*$,I(#$Y.3(L(#DS+"`Y-"P@.34L(#DV($9R964@4V]F
M='=A<F4@1F]U;F1A=&EO;BP@26YC+@HC"B,@5&AI<R!C;VYF:6=U<F4@<V-R
M:7!T(&ES(&9R964@<V]F='=A<F4[('1H92!&<F5E(%-O9G1W87)E($9O=6YD
M871I;VX*(R!G:79E<R!U;FQI;6ET960@<&5R;6ES<VEO;B!T;R!C;W!Y+"!D
M:7-T<FEB=71E(&%N9"!M;V1I9GD@:70N"@HC($1E9F%U;'1S.@IA8U]H96QP
M/0IA8U]D969A=6QT7W!R969I>#TO=7-R+VQO8V%L"B,@06YY(&%D9&ET:6]N
M<R!F<F]M(&-O;F9I9W5R92YI;CH*"B,@26YI=&EA;&EZ92!S;VUE('9A<FEA
M8FQE<R!S970@8GD@;W!T:6]N<RX*(R!4:&4@=F%R:6%B;&5S(&AA=F4@=&AE
M('-A;64@;F%M97,@87,@=&AE(&]P=&EO;G,L('=I=&@*(R!D87-H97,@8VAA
M;F=E9"!T;R!U;F1E<FQI;F5S+@IB=6EL9#U.3TY%"F-A8VAE7V9I;&4]+B]C
M;VYF:6<N8V%C:&4*97AE8U]P<F5F:7@]3D].10IH;W-T/4Y/3D4*;F]?8W)E
M871E/0IN;VYO<'0]3D].10IN;U]R96-U<G-I;VX]"G!R969I>#U.3TY%"G!R
M;V=R86U?<')E9FEX/4Y/3D4*<')O9W)A;5]S=69F:7@]3D].10IP<F]G<F%M
M7W1R86YS9F]R;5]N86UE/7,L>"QX+`IS:6QE;G0]"G-I=&4]"G-R8V1I<CT*
M=&%R9V5T/4Y/3D4*=F5R8F]S93T*>%]I;F-L=61E<SU.3TY%"GA?;&EB<F%R
M:65S/4Y/3D4*8FEN9&ER/2<D>V5X96-?<')E9FEX?2]B:6XG"G-B:6YD:7(]
M)R1[97AE8U]P<F5F:7A]+W-B:6XG"FQI8F5X96-D:7(])R1[97AE8U]P<F5F
M:7A]+VQI8F5X96,G"F1A=&%D:7(])R1[<')E9FEX?2]S:&%R92<*<WES8V]N
M9F1I<CTG)'MP<F5F:7A]+V5T8R<*<VAA<F5D<W1A=&5D:7(])R1[<')E9FEX
M?2]C;VTG"FQO8V%L<W1A=&5D:7(])R1[<')E9FEX?2]V87(G"FQI8F1I<CTG
M)'ME>&5C7W!R969I>'TO;&EB)PII;F-L=61E9&ER/2<D>W!R969I>'TO:6YC
M;'5D92<*;VQD:6YC;'5D961I<CTG+W5S<B]I;F-L=61E)PII;F9O9&ER/2<D
M>W!R969I>'TO:6YF;R<*;6%N9&ER/2<D>W!R969I>'TO;6%N)PIS='ED:7(]
M"@HC($EN:71I86QI>F4@<V]M92!O=&AE<B!V87)I86)L97,N"G-U8F1I<G,]
M"DU&3$%'4ST@34%+149,04=3/0H*86-?<')E=CT*9F]R(&%C7V]P=&EO;@ID
M;PH*("`C($EF('1H92!P<F5V:6]U<R!O<'1I;VX@;F5E9',@86X@87)G=6UE
M;G0L(&%S<VEG;B!I="X*("!I9B!T97-T("UN("(D86-?<')E=B([('1H96X*
M("`@(&5V86P@(B1A8U]P<F5V/5PD86-?;W!T:6]N(@H@("`@86-?<')E=CT*
M("`@(&-O;G1I;G5E"B`@9FD*"B`@8V%S92`B)&%C7V]P=&EO;B(@:6X*("`M
M*CTJ*2!A8U]O<'1A<F<]8&5C:&\@(B1A8U]O<'1I;VXB('P@<V5D("=S+ULM
M7V$M>D$M6C`M.5TJ/2\O)V`@.SL*("`J*2!A8U]O<'1A<F<](#L["B`@97-A
M8PH*("`C($%C8V5P="!T:&4@:6UP;W)T86YT($-Y9VYU<R!C;VYF:6=U<F4@
M;W!T:6]N<RP@<V\@=V4@8V%N(&1I86=N;W-E('1Y<&]S+@H*("!C87-E("(D
M86-?;W!T:6]N(B!I;@H*("`M8FEN9&ER('P@+2UB:6YD:7(@?"`M+6)I;F1I
M('P@+2UB:6YD('P@+2UB:6X@?"`M+6)I*0H@("`@86-?<')E=CUB:6YD:7(@
M.SL*("`M8FEN9&ER/2H@?"`M+6)I;F1I<CTJ('P@+2UB:6YD:3TJ('P@+2UB
M:6YD/2H@?"`M+6)I;CTJ('P@+2UB:3TJ*0H@("`@8FEN9&ER/2(D86-?;W!T
M87)G(B`[.PH*("`M8G5I;&0@?"`M+6)U:6QD('P@+2UB=6EL('P@+2UB=6D@
M?"`M+6)U*0H@("`@86-?<')E=CUB=6EL9"`[.PH@("UB=6EL9#TJ('P@+2UB
M=6EL9#TJ('P@+2UB=6EL/2H@?"`M+6)U:3TJ('P@+2UB=3TJ*0H@("`@8G5I
M;&0](B1A8U]O<'1A<F<B(#L["@H@("UC86-H92UF:6QE('P@+2UC86-H92UF
M:6QE('P@+2UC86-H92UF:6P@?"`M+6-A8VAE+69I(%P*("!\("TM8V%C:&4M
M9B!\("TM8V%C:&4M('P@+2UC86-H92!\("TM8V%C:"!\("TM8V%C('P@+2UC
M82!\("TM8RD*("`@(&%C7W!R978]8V%C:&5?9FEL92`[.PH@("UC86-H92UF
M:6QE/2H@?"`M+6-A8VAE+69I;&4]*B!\("TM8V%C:&4M9FEL/2H@?"`M+6-A
M8VAE+69I/2H@7`H@('P@+2UC86-H92UF/2H@?"`M+6-A8VAE+3TJ('P@+2UC
M86-H93TJ('P@+2UC86-H/2H@?"`M+6-A8STJ('P@+2UC83TJ('P@+2UC/2HI
M"B`@("!C86-H95]F:6QE/2(D86-?;W!T87)G(B`[.PH*("`M9&%T861I<B!\
M("TM9&%T861I<B!\("TM9&%T861I('P@+2UD871A9"!\("TM9&%T82!\("TM
M9&%T('P@+2UD82D*("`@(&%C7W!R978]9&%T861I<B`[.PH@("UD871A9&ER
M/2H@?"`M+61A=&%D:7(]*B!\("TM9&%T861I/2H@?"`M+61A=&%D/2H@?"`M
M+61A=&$]*B!\("TM9&%T/2H@7`H@('P@+2UD83TJ*0H@("`@9&%T861I<CTB
M)&%C7V]P=&%R9R(@.SL*"B`@+61I<V%B;&4M*B!\("TM9&ES86)L92TJ*0H@
M("`@86-?9F5A='5R93U@96-H;R`D86-?;W!T:6]N?'-E9"`M92`G<R\M*F1I
M<V%B;&4M+R\G8`H@("`@(R!296IE8W0@;F%M97,@=&AA="!A<F4@;F]T('9A
M;&ED('-H96QL('9A<FEA8FQE(&YA;65S+@H@("`@:68@=&5S="`M;B`B8&5C
M:&\@)&%C7V9E871U<F5\('-E9"`G<R];+6$M>D$M6C`M.5]=+R]G)V`B.R!T
M:&5N"B`@("`@('L@96-H;R`B8V]N9FEG=7)E.B!E<G)O<CH@)&%C7V9E871U
M<F4Z(&EN=F%L:60@9F5A='5R92!N86UE(B`Q/B8R.R!E>&ET(#$[('T*("`@
M(&9I"B`@("!A8U]F96%T=7)E/6!E8VAO("1A8U]F96%T=7)E?"!S960@)W,O
M+2]?+V<G8`H@("`@979A;"`B96YA8FQE7R1[86-?9F5A='5R97T];F\B(#L[
M"@H@("UE;F%B;&4M*B!\("TM96YA8FQE+2HI"B`@("!A8U]F96%T=7)E/6!E
M8VAO("1A8U]O<'1I;VY\<V5D("UE("=S+RTJ96YA8FQE+2\O)R`M92`G<R\]
M+BHO+R=@"B`@("`C(%)E:F5C="!N86UE<R!T:&%T(&%R92!N;W0@=F%L:60@
M<VAE;&P@=F%R:6%B;&4@;F%M97,N"B`@("!I9B!T97-T("UN(")@96-H;R`D
M86-?9F5A='5R97P@<V5D("=S+ULM7V$M>D$M6C`M.5TO+V<G8"([('1H96X*
M("`@("`@>R!E8VAO(")C;VYF:6=U<F4Z(&5R<F]R.B`D86-?9F5A='5R93H@
M:6YV86QI9"!F96%T=7)E(&YA;64B(#$^)C([(&5X:70@,3L@?0H@("`@9FD*
M("`@(&%C7V9E871U<F4]8&5C:&\@)&%C7V9E871U<F5\('-E9"`G<R\M+U\O
M9R=@"B`@("!C87-E("(D86-?;W!T:6]N(B!I;@H@("`@("`J/2HI(#L["B`@
M("`@("HI(&%C7V]P=&%R9SUY97,@.SL*("`@(&5S86,*("`@(&5V86P@(F5N
M86)L95\D>V%C7V9E871U<F5]/2<D86-?;W!T87)G)R(@.SL*"B`@+65X96,M
M<')E9FEX('P@+2UE>&5C7W!R969I>"!\("TM97AE8RUP<F5F:7@@?"`M+65X
M96,M<')E9FD@7`H@('P@+2UE>&5C+7!R968@?"`M+65X96,M<')E('P@+2UE
M>&5C+7!R('P@+2UE>&5C+7`@?"`M+65X96,M(%P*("!\("TM97AE8R!\("TM
M97AE('P@+2UE>"D*("`@(&%C7W!R978]97AE8U]P<F5F:7@@.SL*("`M97AE
M8RUP<F5F:7@]*B!\("TM97AE8U]P<F5F:7@]*B!\("TM97AE8RUP<F5F:7@]
M*B!\("TM97AE8RUP<F5F:3TJ(%P*("!\("TM97AE8RUP<F5F/2H@?"`M+65X
M96,M<')E/2H@?"`M+65X96,M<'(]*B!\("TM97AE8RUP/2H@?"`M+65X96,M
M/2H@7`H@('P@+2UE>&5C/2H@?"`M+65X93TJ('P@+2UE>#TJ*0H@("`@97AE
M8U]P<F5F:7@](B1A8U]O<'1A<F<B(#L["@H@("UG87,@?"`M+6=A<R!\("TM
M9V$@?"`M+6<I"B`@("`C($]B<V]L971E.R!U<V4@+2UW:71H+6=A<RX*("`@
M('=I=&A?9V%S/7EE<R`[.PH*("`M:&5L<"!\("TM:&5L<"!\("TM:&5L('P@
M+2UH92D*("`@(",@3VUI="!S;VUE(&EN=&5R;F%L(&]R(&]B<V]L971E(&]P
M=&EO;G,@=&\@;6%K92!T:&4@;&ES="!L97-S(&EM<&]S:6YG+@H@("`@(R!4
M:&ES(&UE<W-A9V4@:7,@=&]O(&QO;F<@=&\@8F4@82!S=')I;F<@:6X@=&AE
M($$O55@@,RXQ('-H+@H@("`@8V%T(#P\($5/1@I5<V%G93H@8V]N9FEG=7)E
M(%MO<'1I;VYS72!;:&]S=%T*3W!T:6]N<SH@6V1E9F%U;'1S(&EN(&)R86-K
M971S(&%F=&5R(&1E<V-R:7!T:6]N<UT*0V]N9FEG=7)A=&EO;CH*("`M+6-A
M8VAE+69I;&4]1DE,12`@("`@("!C86-H92!T97-T(')E<W5L=',@:6X@1DE,
M10H@("TM:&5L<"`@("`@("`@("`@("`@("`@('!R:6YT('1H:7,@;65S<V%G
M90H@("TM;F\M8W)E871E("`@("`@("`@("`@(&1O(&YO="!C<F5A=&4@;W5T
M<'5T(&9I;&5S"B`@+2UQ=6EE="P@+2US:6QE;G0@("`@("`@9&\@;F]T('!R
M:6YT(%Q@8VAE8VMI;F<N+BXG(&UE<W-A9V5S"B`@+2UV97)S:6]N("`@("`@
M("`@("`@("`@<')I;G0@=&AE('9E<G-I;VX@;V8@875T;V-O;F8@=&AA="!C
M<F5A=&5D(&-O;F9I9W5R90I$:7)E8W1O<GD@86YD(&9I;&4@;F%M97,Z"B`@
M+2UP<F5F:7@]4%)%1DE8("`@("`@("`@:6YS=&%L;"!A<F-H:71E8W1U<F4M
M:6YD97!E;F1E;G0@9FEL97,@:6X@4%)%1DE8"B`@("`@("`@("`@("`@("`@
M("`@("`@("`@6R1A8U]D969A=6QT7W!R969I>%T*("`M+65X96,M<')E9FEX
M/4504D5&25@@("!I;G-T86QL(&%R8VAI=&5C='5R92UD97!E;F1E;G0@9FEL
M97,@:6X@15!2149)6`H@("`@("`@("`@("`@("`@("`@("`@("`@(%MS86UE
M(&%S('!R969I>%T*("`M+6)I;F1I<CU$25(@("`@("`@("`@("!U<V5R(&5X
M96-U=&%B;&5S(&EN($1)4B!;15!2149)6"]B:6Y="B`@+2US8FEN9&ER/41)
M4B`@("`@("`@("`@<WES=&5M(&%D;6EN(&5X96-U=&%B;&5S(&EN($1)4B!;
M15!2149)6"]S8FEN70H@("TM;&EB97AE8V1I<CU$25(@("`@("`@('!R;V=R
M86T@97AE8W5T86)L97,@:6X@1$E2(%M%4%)%1DE8+VQI8F5X96-="B`@+2UD
M871A9&ER/41)4B`@("`@("`@("`@<F5A9"UO;FQY(&%R8VAI=&5C='5R92UI
M;F1E<&5N9&5N="!D871A(&EN($1)4@H@("`@("`@("`@("`@("`@("`@("`@
M("`@(%M04D5&25@O<VAA<F5="B`@+2US>7-C;VYF9&ER/41)4B`@("`@("`@
M<F5A9"UO;FQY('-I;F=L92UM86-H:6YE(&1A=&$@:6X@1$E2(%M04D5&25@O
M971C70H@("TM<VAA<F5D<W1A=&5D:7(]1$E2("`@(&UO9&EF:6%B;&4@87)C
M:&ET96-T=7)E+6EN9&5P96YD96YT(&1A=&$@:6X@1$E2"B`@("`@("`@("`@
M("`@("`@("`@("`@("`@6U!2149)6"]C;VU="B`@+2UL;V-A;'-T871E9&ER
M/41)4B`@("`@;6]D:69I86)L92!S:6YG;&4M;6%C:&EN92!D871A(&EN($1)
M4B!;4%)%1DE8+W9A<ET*("`M+6QI8F1I<CU$25(@("`@("`@("`@("!O8FIE
M8W0@8V]D92!L:6)R87)I97,@:6X@1$E2(%M%4%)%1DE8+VQI8ET*("`M+6EN
M8VQU9&5D:7(]1$E2("`@("`@("!#(&AE861E<B!F:6QE<R!I;B!$25(@6U!2
M149)6"]I;F-L=61E70H@("TM;VQD:6YC;'5D961I<CU$25(@("`@($,@:&5A
M9&5R(&9I;&5S(&9O<B!N;VXM9V-C(&EN($1)4B!;+W5S<B]I;F-L=61E70H@
M("TM:6YF;V1I<CU$25(@("`@("`@("`@(&EN9F\@9&]C=6UE;G1A=&EO;B!I
M;B!$25(@6U!2149)6"]I;F9O70H@("TM;6%N9&ER/41)4B`@("`@("`@("`@
M(&UA;B!D;V-U;65N=&%T:6]N(&EN($1)4B!;4%)%1DE8+VUA;ET*("`M+7-T
M>61I<CU$25(@("`@("`@("`@("!495@@<W1Y;&4@9FEL92!I;B!$25(@6RY=
M"B`@+2US<F-D:7(]1$E2("`@("`@("`@("`@9FEN9"!T:&4@<V]U<F-E<R!I
M;B!$25(@6V-O;F9I9W5R92!D:7(@;W(@+BY="B`@+2UP<F]G<F%M+7!R969I
M>#U04D5&25@@<')E<&5N9"!04D5&25@@=&\@:6YS=&%L;&5D('!R;V=R86T@
M;F%M97,*("`M+7!R;V=R86TM<W5F9FEX/5-51D9)6"!A<'!E;F0@4U5&1DE8
M('1O(&EN<W1A;&QE9"!P<F]G<F%M(&YA;65S"B`@+2UP<F]G<F%M+71R86YS
M9F]R;2UN86UE/5!23T=204T*("`@("`@("`@("`@("`@("`@("`@("`@("!R
M=6X@<V5D(%!23T=204T@;VX@:6YS=&%L;&5D('!R;V=R86T@;F%M97,*14]&
M"B`@("!C870@/#P@14]&"DAO<W0@='EP93H*("`M+6)U:6QD/4)524Q$("`@
M("`@("`@("!C;VYF:6=U<F4@9F]R(&)U:6QD:6YG(&]N($)524Q$(%M"54E,
M1#U(3U-470H@("TM:&]S=#U(3U-4("`@("`@("`@("`@(&-O;F9I9W5R92!F
M;W(@2$]35"!;9W5E<W-E9%T*("`M+71A<F=E=#U405)'150@("`@("`@("!C
M;VYF:6=U<F4@9F]R(%1!4D=%5"!;5$%21T54/4A/4U1="D9E871U<F5S(&%N
M9"!P86-K86=E<SH*("`M+61I<V%B;&4M1D5!5%5212`@("`@("!D;R!N;W0@
M:6YC;'5D92!&14%455)%("AS86UE(&%S("TM96YA8FQE+49%05154D4];F\I
M"B`@+2UE;F%B;&4M1D5!5%5215L]05)'72`@:6YC;'5D92!&14%455)%(%M!
M4D<]>65S70H@("TM=VET:"U004-+04=%6SU!4D==("`@('5S92!004-+04=%
M(%M!4D<]>65S70H@("TM=VET:&]U="U004-+04=%("`@("`@(&1O(&YO="!U
M<V4@4$%#2T%'12`H<V%M92!A<R`M+7=I=&@M4$%#2T%'13UN;RD*("`M+7@M
M:6YC;'5D97,]1$E2("`@("`@("!8(&EN8VQU9&4@9FEL97,@87)E(&EN($1)
M4@H@("TM>"UL:6)R87)I97,]1$E2("`@("`@(%@@;&EB<F%R>2!F:6QE<R!A
M<F4@:6X@1$E2"D5/1@H@("`@:68@=&5S="`M;B`B)&%C7VAE;'`B.R!T:&5N
M"B`@("`@(&5C:&\@(BTM96YA8FQE(&%N9"`M+7=I=&@@;W!T:6]N<R!R96-O
M9VYI>F5D.B1A8U]H96QP(@H@("`@9FD*("`@(&5X:70@,"`[.PH*("`M:&]S
M="!\("TM:&]S="!\("TM:&]S('P@+2UH;RD*("`@(&%C7W!R978]:&]S="`[
M.PH@("UH;W-T/2H@?"`M+6AO<W0]*B!\("TM:&]S/2H@?"`M+6AO/2HI"B`@
M("!H;W-T/2(D86-?;W!T87)G(B`[.PH*("`M:6YC;'5D961I<B!\("TM:6YC
M;'5D961I<B!\("TM:6YC;'5D961I('P@+2UI;F-L=61E9"!\("TM:6YC;'5D
M92!<"B`@?"`M+6EN8VQU9"!\("TM:6YC;'4@?"`M+6EN8VP@?"`M+6EN8RD*
M("`@(&%C7W!R978]:6YC;'5D961I<B`[.PH@("UI;F-L=61E9&ER/2H@?"`M
M+6EN8VQU9&5D:7(]*B!\("TM:6YC;'5D961I/2H@?"`M+6EN8VQU9&5D/2H@
M?"`M+6EN8VQU9&4]*B!<"B`@?"`M+6EN8VQU9#TJ('P@+2UI;F-L=3TJ('P@
M+2UI;F-L/2H@?"`M+6EN8STJ*0H@("`@:6YC;'5D961I<CTB)&%C7V]P=&%R
M9R(@.SL*"B`@+6EN9F]D:7(@?"`M+6EN9F]D:7(@?"`M+6EN9F]D:2!\("TM
M:6YF;V0@?"`M+6EN9F\@?"`M+6EN9BD*("`@(&%C7W!R978]:6YF;V1I<B`[
M.PH@("UI;F9O9&ER/2H@?"`M+6EN9F]D:7(]*B!\("TM:6YF;V1I/2H@?"`M
M+6EN9F]D/2H@?"`M+6EN9F\]*B!\("TM:6YF/2HI"B`@("!I;F9O9&ER/2(D
M86-?;W!T87)G(B`[.PH*("`M;&EB9&ER('P@+2UL:6)D:7(@?"`M+6QI8F1I
M('P@+2UL:6)D*0H@("`@86-?<')E=CUL:6)D:7(@.SL*("`M;&EB9&ER/2H@
M?"`M+6QI8F1I<CTJ('P@+2UL:6)D:3TJ('P@+2UL:6)D/2HI"B`@("!L:6)D
M:7(](B1A8U]O<'1A<F<B(#L["@H@("UL:6)E>&5C9&ER('P@+2UL:6)E>&5C
M9&ER('P@+2UL:6)E>&5C9&D@?"`M+6QI8F5X96-D('P@+2UL:6)E>&5C(%P*
M("!\("TM;&EB97AE('P@+2UL:6)E>"!\("TM;&EB92D*("`@(&%C7W!R978]
M;&EB97AE8V1I<B`[.PH@("UL:6)E>&5C9&ER/2H@?"`M+6QI8F5X96-D:7(]
M*B!\("TM;&EB97AE8V1I/2H@?"`M+6QI8F5X96-D/2H@?"`M+6QI8F5X96,]
M*B!<"B`@?"`M+6QI8F5X93TJ('P@+2UL:6)E>#TJ('P@+2UL:6)E/2HI"B`@
M("!L:6)E>&5C9&ER/2(D86-?;W!T87)G(B`[.PH*("`M;&]C86QS=&%T961I
M<B!\("TM;&]C86QS=&%T961I<B!\("TM;&]C86QS=&%T961I('P@+2UL;V-A
M;'-T871E9"!<"B`@?"`M+6QO8V%L<W1A=&4@?"`M+6QO8V%L<W1A="!\("TM
M;&]C86QS=&$@?"`M+6QO8V%L<W0@7`H@('P@+2UL;V-A;',@?"`M+6QO8V%L
M('P@+2UL;V-A('P@+2UL;V,@?"`M+6QO*0H@("`@86-?<')E=CUL;V-A;'-T
M871E9&ER(#L["B`@+6QO8V%L<W1A=&5D:7(]*B!\("TM;&]C86QS=&%T961I
M<CTJ('P@+2UL;V-A;'-T871E9&D]*B!\("TM;&]C86QS=&%T960]*B!<"B`@
M?"`M+6QO8V%L<W1A=&4]*B!\("TM;&]C86QS=&%T/2H@?"`M+6QO8V%L<W1A
M/2H@?"`M+6QO8V%L<W0]*B!<"B`@?"`M+6QO8V%L<STJ('P@+2UL;V-A;#TJ
M('P@+2UL;V-A/2H@?"`M+6QO8STJ('P@+2UL;STJ*0H@("`@;&]C86QS=&%T
M961I<CTB)&%C7V]P=&%R9R(@.SL*"B`@+6UA;F1I<B!\("TM;6%N9&ER('P@
M+2UM86YD:2!\("TM;6%N9"!\("TM;6%N('P@+2UM82!\("TM;2D*("`@(&%C
M7W!R978];6%N9&ER(#L["B`@+6UA;F1I<CTJ('P@+2UM86YD:7(]*B!\("TM
M;6%N9&D]*B!\("TM;6%N9#TJ('P@+2UM86X]*B!\("TM;6$]*B!\("TM;3TJ
M*0H@("`@;6%N9&ER/2(D86-?;W!T87)G(B`[.PH*("`M;F9P('P@+2UN9G`@
M?"`M+6YF*0H@("`@(R!/8G-O;&5T93L@=7-E("TM=VET:&]U="UF<"X*("`@
M('=I=&A?9G`];F\@.SL*"B`@+6YO+6-R96%T92!\("TM;F\M8W)E871E('P@
M+2UN;RUC<F5A="!\("TM;F\M8W)E82!\("TM;F\M8W)E(%P*("!\("TM;F\M
M8W(@?"`M+6YO+6,I"B`@("!N;U]C<F5A=&4]>65S(#L["@H@("UN;RUR96-U
M<G-I;VX@?"`M+6YO+7)E8W5R<VEO;B!\("TM;F\M<F5C=7)S:6\@?"`M+6YO
M+7)E8W5R<VD@7`H@('P@+2UN;RUR96-U<G,@?"`M+6YO+7)E8W5R('P@+2UN
M;RUR96-U('P@+2UN;RUR96,@?"`M+6YO+7)E('P@+2UN;RUR*0H@("`@;F]?
M<F5C=7)S:6]N/7EE<R`[.PH*("`M;VQD:6YC;'5D961I<B!\("TM;VQD:6YC
M;'5D961I<B!\("TM;VQD:6YC;'5D961I('P@+2UO;&1I;F-L=61E9"!<"B`@
M?"`M+6]L9&EN8VQU9&4@?"`M+6]L9&EN8VQU9"!\("TM;VQD:6YC;'4@?"`M
M+6]L9&EN8VP@?"`M+6]L9&EN8R!<"B`@?"`M+6]L9&EN('P@+2UO;&1I('P@
M+2UO;&0@?"`M+6]L('P@+2UO*0H@("`@86-?<')E=CUO;&1I;F-L=61E9&ER
M(#L["B`@+6]L9&EN8VQU9&5D:7(]*B!\("TM;VQD:6YC;'5D961I<CTJ('P@
M+2UO;&1I;F-L=61E9&D]*B!\("TM;VQD:6YC;'5D960]*B!<"B`@?"`M+6]L
M9&EN8VQU9&4]*B!\("TM;VQD:6YC;'5D/2H@?"`M+6]L9&EN8VQU/2H@?"`M
M+6]L9&EN8VP]*B!\("TM;VQD:6YC/2H@7`H@('P@+2UO;&1I;CTJ('P@+2UO
M;&1I/2H@?"`M+6]L9#TJ('P@+2UO;#TJ('P@+2UO/2HI"B`@("!O;&1I;F-L
M=61E9&ER/2(D86-?;W!T87)G(B`[.PH*("`M<')E9FEX('P@+2UP<F5F:7@@
M?"`M+7!R969I('P@+2UP<F5F('P@+2UP<F4@?"`M+7!R('P@+2UP*0H@("`@
M86-?<')E=CUP<F5F:7@@.SL*("`M<')E9FEX/2H@?"`M+7!R969I>#TJ('P@
M+2UP<F5F:3TJ('P@+2UP<F5F/2H@?"`M+7!R93TJ('P@+2UP<CTJ('P@+2UP
M/2HI"B`@("!P<F5F:7@](B1A8U]O<'1A<F<B(#L["@H@("UP<F]G<F%M+7!R
M969I>"!\("TM<')O9W)A;2UP<F5F:7@@?"`M+7!R;V=R86TM<')E9FD@?"`M
M+7!R;V=R86TM<')E9B!<"B`@?"`M+7!R;V=R86TM<')E('P@+2UP<F]G<F%M
M+7!R('P@+2UP<F]G<F%M+7`I"B`@("!A8U]P<F5V/7!R;V=R86U?<')E9FEX
M(#L["B`@+7!R;V=R86TM<')E9FEX/2H@?"`M+7!R;V=R86TM<')E9FEX/2H@
M?"`M+7!R;V=R86TM<')E9FD]*B!<"B`@?"`M+7!R;V=R86TM<')E9CTJ('P@
M+2UP<F]G<F%M+7!R93TJ('P@+2UP<F]G<F%M+7!R/2H@?"`M+7!R;V=R86TM
M<#TJ*0H@("`@<')O9W)A;5]P<F5F:7@](B1A8U]O<'1A<F<B(#L["@H@("UP
M<F]G<F%M+7-U9F9I>"!\("TM<')O9W)A;2US=69F:7@@?"`M+7!R;V=R86TM
M<W5F9FD@?"`M+7!R;V=R86TM<W5F9B!<"B`@?"`M+7!R;V=R86TM<W5F('P@
M+2UP<F]G<F%M+7-U('P@+2UP<F]G<F%M+7,I"B`@("!A8U]P<F5V/7!R;V=R
M86U?<W5F9FEX(#L["B`@+7!R;V=R86TM<W5F9FEX/2H@?"`M+7!R;V=R86TM
M<W5F9FEX/2H@?"`M+7!R;V=R86TM<W5F9FD]*B!<"B`@?"`M+7!R;V=R86TM
M<W5F9CTJ('P@+2UP<F]G<F%M+7-U9CTJ('P@+2UP<F]G<F%M+7-U/2H@?"`M
M+7!R;V=R86TM<STJ*0H@("`@<')O9W)A;5]S=69F:7@](B1A8U]O<'1A<F<B
M(#L["@H@("UP<F]G<F%M+71R86YS9F]R;2UN86UE('P@+2UP<F]G<F%M+71R
M86YS9F]R;2UN86UE(%P*("!\("TM<')O9W)A;2UT<F%N<V9O<FTM;F%M('P@
M+2UP<F]G<F%M+71R86YS9F]R;2UN82!<"B`@?"`M+7!R;V=R86TM=')A;G-F
M;W)M+6X@?"`M+7!R;V=R86TM=')A;G-F;W)M+2!<"B`@?"`M+7!R;V=R86TM
M=')A;G-F;W)M('P@+2UP<F]G<F%M+71R86YS9F]R(%P*("!\("TM<')O9W)A
M;2UT<F%N<V9O('P@+2UP<F]G<F%M+71R86YS9B!<"B`@?"`M+7!R;V=R86TM
M=')A;G,@?"`M+7!R;V=R86TM=')A;B!<"B`@?"`M+7!R;V=R+71R82!\("TM
M<')O9W)A;2UT<B!\("TM<')O9W)A;2UT*0H@("`@86-?<')E=CUP<F]G<F%M
M7W1R86YS9F]R;5]N86UE(#L["B`@+7!R;V=R86TM=')A;G-F;W)M+6YA;64]
M*B!\("TM<')O9W)A;2UT<F%N<V9O<FTM;F%M93TJ(%P*("!\("TM<')O9W)A
M;2UT<F%N<V9O<FTM;F%M/2H@?"`M+7!R;V=R86TM=')A;G-F;W)M+6YA/2H@
M7`H@('P@+2UP<F]G<F%M+71R86YS9F]R;2UN/2H@?"`M+7!R;V=R86TM=')A
M;G-F;W)M+3TJ(%P*("!\("TM<')O9W)A;2UT<F%N<V9O<FT]*B!\("TM<')O
M9W)A;2UT<F%N<V9O<CTJ(%P*("!\("TM<')O9W)A;2UT<F%N<V9O/2H@?"`M
M+7!R;V=R86TM=')A;G-F/2H@7`H@('P@+2UP<F]G<F%M+71R86YS/2H@?"`M
M+7!R;V=R86TM=')A;CTJ(%P*("!\("TM<')O9W(M=')A/2H@?"`M+7!R;V=R
M86TM='(]*B!\("TM<')O9W)A;2UT/2HI"B`@("!P<F]G<F%M7W1R86YS9F]R
M;5]N86UE/2(D86-?;W!T87)G(B`[.PH*("`M<2!\("UQ=6EE="!\("TM<75I
M970@?"`M+7%U:64@?"`M+7%U:2!\("TM<74@?"`M+7$@7`H@('P@+7-I;&5N
M="!\("TM<VEL96YT('P@+2US:6QE;B!\("TM<VEL92!\("TM<VEL*0H@("`@
M<VEL96YT/7EE<R`[.PH*("`M<V)I;F1I<B!\("TM<V)I;F1I<B!\("TM<V)I
M;F1I('P@+2US8FEN9"!\("TM<V)I;B!\("TM<V)I('P@+2US8BD*("`@(&%C
M7W!R978]<V)I;F1I<B`[.PH@("US8FEN9&ER/2H@?"`M+7-B:6YD:7(]*B!\
M("TM<V)I;F1I/2H@?"`M+7-B:6YD/2H@?"`M+7-B:6X]*B!<"B`@?"`M+7-B
M:3TJ('P@+2US8CTJ*0H@("`@<V)I;F1I<CTB)&%C7V]P=&%R9R(@.SL*"B`@
M+7-H87)E9'-T871E9&ER('P@+2US:&%R961S=&%T961I<B!\("TM<VAA<F5D
M<W1A=&5D:2!<"B`@?"`M+7-H87)E9'-T871E9"!\("TM<VAA<F5D<W1A=&4@
M?"`M+7-H87)E9'-T870@?"`M+7-H87)E9'-T82!<"B`@?"`M+7-H87)E9'-T
M('P@+2US:&%R961S('P@+2US:&%R960@?"`M+7-H87)E('P@+2US:&%R(%P*
M("!\("TM<VAA('P@+2US:"D*("`@(&%C7W!R978]<VAA<F5D<W1A=&5D:7(@
M.SL*("`M<VAA<F5D<W1A=&5D:7(]*B!\("TM<VAA<F5D<W1A=&5D:7(]*B!\
M("TM<VAA<F5D<W1A=&5D:3TJ(%P*("!\("TM<VAA<F5D<W1A=&5D/2H@?"`M
M+7-H87)E9'-T871E/2H@?"`M+7-H87)E9'-T870]*B!\("TM<VAA<F5D<W1A
M/2H@7`H@('P@+2US:&%R961S=#TJ('P@+2US:&%R961S/2H@?"`M+7-H87)E
M9#TJ('P@+2US:&%R93TJ('P@+2US:&%R/2H@7`H@('P@+2US:&$]*B!\("TM
M<V@]*BD*("`@('-H87)E9'-T871E9&ER/2(D86-?;W!T87)G(B`[.PH*("`M
M<VET92!\("TM<VET92!\("TM<VET*0H@("`@86-?<')E=CUS:71E(#L["B`@
M+7-I=&4]*B!\("TM<VET93TJ('P@+2US:70]*BD*("`@('-I=&4](B1A8U]O
M<'1A<F<B(#L["@H@("US<F-D:7(@?"`M+7-R8V1I<B!\("TM<W)C9&D@?"`M
M+7-R8V0@?"`M+7-R8R!\("TM<W(I"B`@("!A8U]P<F5V/7-R8V1I<B`[.PH@
M("US<F-D:7(]*B!\("TM<W)C9&ER/2H@?"`M+7-R8V1I/2H@?"`M+7-R8V0]
M*B!\("TM<W)C/2H@?"`M+7-R/2HI"B`@("!S<F-D:7(](B1A8U]O<'1A<F<B
M(#L["@H@("US='ED:7(@?"`M+7-T>61I<B!\("TM<W1Y9&D@?"`M+7-T>60@
M?"`M+7-T>2!\("TM<W0I"B`@("!A8U]P<F5V/7-T>61I<B`[.PH@("US='ED
M:7(]*B!\("TM<W1Y9&ER/2H@?"`M+7-T>61I/2H@?"`M+7-T>60]*B!\("TM
M<W1Y/2H@?"`M+7-T/2HI"B`@("!S='ED:7(](B1A8U]O<'1A<F<B(#L["@H@
M("US>7-C;VYF9&ER('P@+2US>7-C;VYF9&ER('P@+2US>7-C;VYF9&D@?"`M
M+7-Y<V-O;F9D('P@+2US>7-C;VYF(%P*("!\("TM<WES8V]N('P@+2US>7-C
M;R!\("TM<WES8R!\("TM<WES('P@+2US>2D*("`@(&%C7W!R978]<WES8V]N
M9F1I<B`[.PH@("US>7-C;VYF9&ER/2H@?"`M+7-Y<V-O;F9D:7(]*B!\("TM
M<WES8V]N9F1I/2H@?"`M+7-Y<V-O;F9D/2H@?"`M+7-Y<V-O;F8]*B!<"B`@
M?"`M+7-Y<V-O;CTJ('P@+2US>7-C;STJ('P@+2US>7-C/2H@?"`M+7-Y<STJ
M('P@+2US>3TJ*0H@("`@<WES8V]N9F1I<CTB)&%C7V]P=&%R9R(@.SL*"B`@
M+71A<F=E="!\("TM=&%R9V5T('P@+2UT87)G92!\("TM=&%R9R!\("TM=&%R
M('P@+2UT82!\("TM="D*("`@(&%C7W!R978]=&%R9V5T(#L["B`@+71A<F=E
M=#TJ('P@+2UT87)G970]*B!\("TM=&%R9V4]*B!\("TM=&%R9STJ('P@+2UT
M87(]*B!\("TM=&$]*B!\("TM=#TJ*0H@("`@=&%R9V5T/2(D86-?;W!T87)G
M(B`[.PH*("`M=B!\("UV97)B;W-E('P@+2UV97)B;W-E('P@+2UV97)B;W,@
M?"`M+79E<F)O('P@+2UV97)B*0H@("`@=F5R8F]S93UY97,@.SL*"B`@+79E
M<G-I;VX@?"`M+79E<G-I;VX@?"`M+79E<G-I;R!\("TM=F5R<VD@?"`M+79E
M<G,I"B`@("!E8VAO(")C;VYF:6=U<F4@9V5N97)A=&5D(&)Y(&%U=&]C;VYF
M('9E<G-I;VX@,BXQ,"(*("`@(&5X:70@,"`[.PH*("`M=VET:"TJ('P@+2UW
M:71H+2HI"B`@("!A8U]P86-K86=E/6!E8VAO("1A8U]O<'1I;VY\<V5D("UE
M("=S+RTJ=VET:"TO+R<@+64@)W,O/2XJ+R\G8`H@("`@(R!296IE8W0@;F%M
M97,@=&AA="!A<F4@;F]T('9A;&ED('-H96QL('9A<FEA8FQE(&YA;65S+@H@
M("`@:68@=&5S="`M;B`B8&5C:&\@)&%C7W!A8VMA9V5\('-E9"`G<R];+5]A
M+7I!+5HP+3E=+R]G)V`B.R!T:&5N"B`@("`@('L@96-H;R`B8V]N9FEG=7)E
M.B!E<G)O<CH@)&%C7W!A8VMA9V4Z(&EN=F%L:60@<&%C:V%G92!N86UE(B`Q
M/B8R.R!E>&ET(#$[('T*("`@(&9I"B`@("!A8U]P86-K86=E/6!E8VAO("1A
M8U]P86-K86=E?"!S960@)W,O+2]?+V<G8`H@("`@8V%S92`B)&%C7V]P=&EO
M;B(@:6X*("`@("`@*CTJ*2`[.PH@("`@("`J*2!A8U]O<'1A<F<]>65S(#L[
M"B`@("!E<V%C"B`@("!E=F%L(")W:71H7R1[86-?<&%C:V%G97T])R1A8U]O
M<'1A<F<G(B`[.PH*("`M=VET:&]U="TJ('P@+2UW:71H;W5T+2HI"B`@("!A
M8U]P86-K86=E/6!E8VAO("1A8U]O<'1I;VY\<V5D("UE("=S+RTJ=VET:&]U
M="TO+R=@"B`@("`C(%)E:F5C="!N86UE<R!T:&%T(&%R92!N;W0@=F%L:60@
M<VAE;&P@=F%R:6%B;&4@;F%M97,N"B`@("!I9B!T97-T("UN(")@96-H;R`D
M86-?<&%C:V%G97P@<V5D("=S+ULM82UZ02U:,"TY7UTO+V<G8"([('1H96X*
M("`@("`@>R!E8VAO(")C;VYF:6=U<F4Z(&5R<F]R.B`D86-?<&%C:V%G93H@
M:6YV86QI9"!P86-K86=E(&YA;64B(#$^)C([(&5X:70@,3L@?0H@("`@9FD*
M("`@(&%C7W!A8VMA9V4]8&5C:&\@)&%C7W!A8VMA9V5\('-E9"`G<R\M+U\O
M9R=@"B`@("!E=F%L(")W:71H7R1[86-?<&%C:V%G97T];F\B(#L["@H@("TM
M>"D*("`@(",@3V)S;VQE=&4[('5S92`M+7=I=&@M>"X*("`@('=I=&A?>#UY
M97,@.SL*"B`@+7@M:6YC;'5D97,@?"`M+7@M:6YC;'5D97,@?"`M+7@M:6YC
M;'5D92!\("TM>"UI;F-L=60@?"`M+7@M:6YC;'4@7`H@('P@+2UX+6EN8VP@
M?"`M+7@M:6YC('P@+2UX+6EN('P@+2UX+6DI"B`@("!A8U]P<F5V/7A?:6YC
M;'5D97,@.SL*("`M>"UI;F-L=61E<STJ('P@+2UX+6EN8VQU9&5S/2H@?"`M
M+7@M:6YC;'5D93TJ('P@+2UX+6EN8VQU9#TJ('P@+2UX+6EN8VQU/2H@7`H@
M('P@+2UX+6EN8VP]*B!\("TM>"UI;F,]*B!\("TM>"UI;CTJ('P@+2UX+6D]
M*BD*("`@('A?:6YC;'5D97,](B1A8U]O<'1A<F<B(#L["@H@("UX+6QI8G)A
M<FEE<R!\("TM>"UL:6)R87)I97,@?"`M+7@M;&EB<F%R:64@?"`M+7@M;&EB
SHAR_EOF
  : || $echo 'restore of' 'pad2ps-3.1/configure' 'failed'
fi
$echo 'End of' 'archive' 'part' '10'
$echo 'File' 'pad2ps-3.1/configure' 'is continued in part' '11'
echo 11 > _sh23946/seq
exit 0


