%!%%BoundingBox: 15 712 321 775%%Title: cons-cell-diagram2%%CreationDate: Wed Mar 8 14:26:39 1995%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)%% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1%% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007% Free Software Foundation, Inc.%% This file is part of GNU Emacs.%% GNU Emacs is free software; you can redistribute it and/or modify% it under the terms of the GNU General Public License as published by% the Free Software Foundation; either version 3, or (at your option)% any later version.%% GNU Emacs is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the% GNU General Public License for more details.%% You should have received a copy of the GNU General Public License% along with GNU Emacs; see the file COPYING. If not, write to% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,% Boston, MA 02110-1301, USA./tgifdict 132 dict deftgifdict begin%% Using a zero value radius for an ellipse or an arc would result% in a non-invertible CTM matrix which causes problem when this% when this PostScript is wrapped inside other routines, such as% the multi.ps package from% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such% error by uncommenting the sole line of the procedure below:%/tgif_min_radius {% dup 0.01 lt { pop 0.01 } if } bind def/tgifellipsedict 6 dict deftgifellipsedict /mtrx matrix put/tgifellipse { tgifellipsedict begin /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 0 360 arc savematrix setmatrix end } def/tgifarrowtipdict 8 dict deftgifarrowtipdict /mtrx matrix put/tgifarrowtip { tgifarrowtipdict begin /dy exch def /dx exch def /h exch def /w exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate dy dx atan rotate 0 0 moveto w neg h lineto w neg h neg lineto savematrix setmatrix end } def/tgifarcdict 8 dict deftgifarcdict /mtrx matrix put/tgifarcn { tgifarcdict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix end } def/tgifarc { tgifarcdict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arcn savematrix setmatrix end } def/tgifsetuserscreendict 22 dict deftgifsetuserscreendict begin /tempctm matrix def /temprot matrix def /tempscale matrix def /concatprocs { /proc2 exch cvlit def /proc1 exch cvlit def /newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx } def /resmatrix matrix def /findresolution { 72 0 resmatrix defaultmatrix dtransform /yres exch def /xres exch def xres dup mul yres dup mul add sqrt } defend/tgifsetuserscreen { tgifsetuserscreendict begin /spotfunction exch def /screenangle exch def /cellsize exch def /m tempctm currentmatrix def /rm screenangle temprot rotate def /sm cellsize dup tempscale scale def sm rm m m concatmatrix m concatmatrix pop 1 0 m dtransform /y1 exch def /x1 exch def /veclength x1 dup mul y1 dup mul add sqrt def /frequency findresolution veclength div def /newscreenangle y1 x1 atan def m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt {{neg} /spotfunction load concatprocs /spotfunction exch def } if frequency newscreenangle /spotfunction load setscreen end } def/tgifsetpatterndict 18 dict deftgifsetpatterndict begin /bitison { /ybit exch def /xbit exch def /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def /mask 1 7 xbit 8 mod sub bitshift def bytevalue mask and 0 ne } defend/tgifbitpatternspotfunction { tgifsetpatterndict begin /y exch def /x exch def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def xindex yindex bitison { /onbits onbits 1 add def 1 } { /offbits offbits 1 add def 0 } ifelse end } def/tgifsetpattern { tgifsetpatterndict begin /cellsz exch def /angle exch def /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen {} settransfer offbits offbits onbits add div setgray end } def/tgifxpmdict 4 dict def/tgifbwpicstr 1 string def/tgifcolorpicstr 3 string def/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def/tgifbwspot { tgifxpmdict begin /index exch def tgifbwpicstr 0 pixels index 3 mul 3 getinterval aload pop 255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add cvi put tgifbwpicstr end } def/tgifcolorspot { tgifxpmdict begin /index exch def pixels index 3 mul 3 getinterval aload pop 255 mul cvi tgifcolorpicstr 2 3 -1 roll put 255 mul cvi tgifcolorpicstr 1 3 -1 roll put 255 mul cvi tgifcolorpicstr 0 3 -1 roll put tgifcolorpicstr end } def/tgifnewcolorspot { tgifxpmdict begin /index exch def pixels index 3 mul 3 getinterval aload pop setrgbcolor end } def/tgifcolordict 4 dict def/colorimage where { pop } { /colorimage { tgifcolordict begin pop pop pop pop pop /ih exch def /iw exch def /x 0 def /y 0 def 1 1 ih { pop 1 1 iw { pop currentfile tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto closepath fill /x x 1 add def } for /y y 1 add def /x 0 def } for end } def } ifelse/tgifpatdict 10 dict def/tgifpatbyte { currentdict /retstr get exch pat i cellsz mod get put } def/tgifpatproc { 0 1 widthlim {tgifpatbyte} for retstr /i i 1 add def } def/tgifpatfill { tgifpatdict begin /h exch def /w exch def /lty exch def /ltx exch def /cellsz exch def /pat exch def /widthlim w cellsz div cvi 1 sub def /retstr widthlim 1 add string def /i 0 def ltx lty translate w h true [1 0 0 1 0 0] {tgifpatproc} imagemask ltx neg lty neg translate end } def/pat1 <ffffffffffffffff> def/pat2 <0000000000000000> def/pat3 <8000000008000000> def/pat4 <8800000022000000> def/pat5 <8800220088002200> def/pat6 <8822882288228822> def/pat7 <aa55aa55aa55aa55> def/pat8 <77dd77dd77dd77dd> def/pat9 <77ffddff77ffddff> def/pat10 <77ffffff77ffffff> def/pat11 <7fffffff7fffffff> def/pat12 <8040200002040800> def/pat13 <40a00000040a0000> def/pat14 <ff888888ff888888> def/pat15 <ff808080ff080808> def/pat16 <f87422478f172271> def/pat17 <038448300c020101> def/pat18 <081c22c180010204> def/pat19 <8080413e080814e3> def/pat20 <8040201008040201> def/pat21 <8844221188442211> def/pat22 <77bbddee77bbddee> def/pat23 <c1e070381c0e0783> def/pat24 <7fbfdfeff7fbfdfe> def/pat25 <3e1f8fc7e3f1f87c> def/pat26 <0102040810204080> def/pat27 <1122448811224488> def/pat28 <eeddbb77eeddbb77> def/pat29 <83070e1c3870e0c1> def/pat30 <fefdfbf7efdfbf7f> def/pat31 <7cf8f1e3c78f1f3e> def/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def/tgifreencsmalldict 12 dict def/tgifReEncodeSmall { tgifreencsmalldict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put} repeat newfontname newfont definefont pop end } def/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def/tgifboxdict 6 dict def/tgifboxstroke { tgifboxdict begin /pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def 1.415 setmiterlimit w 1 eq { w setlinewidth } if pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse pat pat1 ne pat pat2 ne and { grestore } if w 1 eq { 1 setlinewidth } if 1 setmiterlimit end } def/tgifboxfill { tgifboxdict begin /pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse pat pat1 ne pat pat2 ne and { grestore } if end } defend%%PageBoundingBox: 15 712 321 775tgifdict begin/tgifsavedpage save def1 setmiterlimit1 setlinewidth0 setgray72 0 mul 72 11.00 mul translate72 128 div 100 mul 100 div dup neg scalegsave% TEXT0 setgray/Courier findfont [17 0 0 -17 0 0] makefont setfont gsave 32 47 moveto (bouquet) show grestore% BOXgsave 1.415 setmiterlimit newpath 122 65 moveto 186 65 lineto 186 97 lineto 122 97 lineto closepath stroke 1 setmiterlimitgrestore% POLY/OPEN-SPLINEgsave newpath 154 65 moveto 154 97 lineto strokegrestore% POLY/OPEN-SPLINEgsave newpath 170 81 moveto 0 80 atan dup cos 8 mul 250 exch sub exch sin 8 mul 81 exch sub lineto strokegrestoregsave newpath 250 81 8 3 80 0 tgifarrowtip closepath fillgrestore% TEXT0 setgray/Courier findfont [17 0 0 -17 0 0] makefont setfont gsave 202 135 moveto (rose) show grestore% POLY/OPEN-SPLINEgsave newpath 138 81 moveto 138 130 lineto 0 48 atan dup cos 8 mul 186 exch sub exch sin 8 mul 130 exch sub lineto strokegrestoregsave newpath 186 130 8 3 48 0 tgifarrowtip closepath fillgrestore% BOXgsave 1.415 setmiterlimit newpath 255 65 moveto 319 65 lineto 319 97 lineto 255 97 lineto closepath stroke 1 setmiterlimitgrestore% POLY/OPEN-SPLINEgsave newpath 287 65 moveto 287 97 lineto strokegrestore% POLY/OPEN-SPLINEgsave newpath 303 81 moveto 0 93 atan dup cos 8 mul 396 exch sub exch sin 8 mul 81 exch sub lineto strokegrestoregsave newpath 396 81 8 3 93 0 tgifarrowtip closepath fillgrestore% TEXT0 setgray/Courier findfont [17 0 0 -17 0 0] makefont setfont gsave 335 135 moveto (violet) show grestore% POLY/OPEN-SPLINEgsave newpath 271 81 moveto 271 130 lineto 0 48 atan dup cos 8 mul 319 exch sub exch sin 8 mul 130 exch sub lineto strokegrestoregsave newpath 319 130 8 3 48 0 tgifarrowtip closepath fillgrestore% BOXgsave 1.415 setmiterlimit newpath 398 63 moveto 462 63 lineto 462 95 lineto 398 95 lineto closepath stroke 1 setmiterlimitgrestore% POLY/OPEN-SPLINEgsave newpath 429 63 moveto 429 95 lineto strokegrestore% POLY/OPEN-SPLINEgsave newpath 445 80 moveto 0 48 atan dup cos 8 mul 493 exch sub exch sin 8 mul 80 exch sub lineto strokegrestoregsave newpath 493 80 8 3 48 0 tgifarrowtip closepath fillgrestore% TEXT0 setgray/Courier findfont [17 0 0 -17 0 0] makefont setfont gsave 477 134 moveto (buttercup) show grestore% POLY/OPEN-SPLINEgsave newpath 413 80 moveto 413 129 lineto 0 48 atan dup cos 8 mul 461 exch sub exch sin 8 mul 129 exch sub lineto strokegrestoregsave newpath 461 129 8 3 48 0 tgifarrowtip closepath fillgrestore% TEXT0 setgray/Courier findfont [17 0 0 -17 0 0] makefont setfont gsave 505 86 moveto (nil) show grestore% POLY/OPEN-SPLINEgsave newpath 66 53 moveto 66 81 lineto 0 46 atan dup cos 8 mul 112 exch sub exch sin 8 mul 81 exch sub lineto strokegrestoregsave newpath 112 81 8 3 46 0 tgifarrowtip closepath fillgrestoregrestoretgifsavedpage restoreend%MatchingCreationDate: Wed Mar 8 14:26:39 1995