Skip to content
Browse files

added NCS Grade 12 Physical Science

  • Loading branch information...
1 parent 6f025f6 commit 29135c0a87cb3cde3c31b926543184fb466a9104 Ewald Zietsman committed
Showing with 9,801 additions and 0 deletions.
  1. +199 −0 NCS/epsimages/00007.eps
  2. +154 −0 NCS/epsimages/00008.eps
  3. +188 −0 NCS/epsimages/00009.eps
  4. +162 −0 NCS/epsimages/00010.eps
  5. +209 −0 NCS/epsimages/00011.eps
  6. +255 −0 NCS/epsimages/00012.eps
  7. +167 −0 NCS/epsimages/00013.eps
  8. +167 −0 NCS/epsimages/00014.eps
  9. +211 −0 NCS/epsimages/00017.eps
  10. +186 −0 NCS/epsimages/00018.eps
  11. +270 −0 NCS/epsimages/00019.eps
  12. +203 −0 NCS/epsimages/00020.eps
  13. +178 −0 NCS/epsimages/00021.eps
  14. +235 −0 NCS/epsimages/00022.eps
  15. +272 −0 NCS/epsimages/00023.eps
  16. +213 −0 NCS/epsimages/00024.eps
  17. +189 −0 NCS/epsimages/00025.eps
  18. +189 −0 NCS/epsimages/00026.eps
  19. +236 −0 NCS/epsimages/00027.eps
  20. +219 −0 NCS/epsimages/00028.eps
  21. +240 −0 NCS/epsimages/00029.eps
  22. +239 −0 NCS/epsimages/00030.eps
  23. +237 −0 NCS/epsimages/00031.eps
  24. +236 −0 NCS/epsimages/00032.eps
  25. +239 −0 NCS/epsimages/00033.eps
  26. +239 −0 NCS/epsimages/00034.eps
  27. +239 −0 NCS/epsimages/00035.eps
  28. +239 −0 NCS/epsimages/00040.eps
  29. +239 −0 NCS/epsimages/00041.eps
  30. +172 −0 NCS/epsimages/00042.eps
  31. +183 −0 NCS/epsimages/00043.eps
  32. +161 −0 NCS/epsimages/00047.eps
  33. +212 −0 NCS/epsimages/00049.eps
  34. +202 −0 NCS/epsimages/00050.eps
  35. +231 −0 NCS/epsimages/00051.eps
  36. +230 −0 NCS/epsimages/00052.eps
  37. +204 −0 NCS/epsimages/00089.eps
  38. +236 −0 NCS/epsimages/00090.eps
  39. +227 −0 NCS/epsimages/00092.eps
  40. +256 −0 NCS/epsimages/00093.eps
  41. +173 −0 NCS/epsimages/00302.eps
  42. +169 −0 NCS/epsimages/00303.eps
  43. +202 −0 NCS/epsimages/00305.eps
  44. +206 −0 NCS/epsimages/00306.eps
  45. +262 −0 NCS/epsimages/00307.eps
  46. +226 −0 NCS/epsimages/00308.eps
Sorry, we could not display the entire diff because it was too big.
View
199 NCS/epsimages/00007.eps
@@ -0,0 +1,199 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00007.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Fri Jul 6 06:32:02 2001
+%%Pages: 1
+%%BoundingBox: 68 68 348 107
+%%DocumentNeededResources: font Helvetica
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+/arrowhead {
+% -12 -32 24 36 bbox
+begingate
+8 -28 beginpath
+3 -18 3 -15 0 0 curveto
+-3 -15 -3 -18 -8 -28 curveto
+-2 -26 2 -26 8 -28 curveto
+249 1.00 endpath
+endgate
+} def
+
+/arrowhead90 {
+% -20 -12 36 24 bbox
+begingate
+1.00 90 -16 0 arrowhead
+endgate
+} def
+
+%%Page: 1 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 911 383 offsets
+0.6000 inchscale
+2.6000 setlinewidth
+
+1 2.00 495 415 1327 415 2 polygon
+1 2.00 495 351 1327 351 2 polygon
+241 1.00 1471 383 22 0.00 360.00 xcarc
+241 1.00 1311 383 22 0.00 360.00 xcarc
+241 1.00 1263 383 22 0.00 360.00 xcarc
+241 1.00 1215 383 22 0.00 360.00 xcarc
+241 1.00 1167 383 22 0.00 360.00 xcarc
+241 1.00 1119 383 22 0.00 360.00 xcarc
+241 1.00 1071 383 22 0.00 360.00 xcarc
+241 1.00 1023 383 22 0.00 360.00 xcarc
+241 1.00 975 383 22 0.00 360.00 xcarc
+241 1.00 927 383 22 0.00 360.00 xcarc
+241 1.00 879 383 22 0.00 360.00 xcarc
+241 1.00 831 383 22 0.00 360.00 xcarc
+241 1.00 783 383 22 0.00 360.00 xcarc
+241 1.00 735 383 22 0.00 360.00 xcarc
+241 1.00 687 383 22 0.00 360.00 xcarc
+241 1.00 639 383 22 0.00 360.00 xcarc
+241 1.00 591 383 22 0.00 360.00 xcarc
+241 1.00 543 383 22 0.00 360.00 xcarc
+241 1.00 383 383 22 0.00 360.00 xcarc
+1.00 -1 495 383 arrowhead90
+1.00 -1 1423 383 arrowhead90
+1 1.00 1423 383 1359 383 2 polygon
+(Tube) {/Helvetica 1.000 cf} 2 16 0 863 431 label
+1 1.00 495 383 431 383 2 polygon
+(Marble) {/Helvetica 1.000 cf} 2 16 0 319 319 label
+(Marble) {/Helvetica 1.000 cf} 2 16 0 1407 319 label
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
154 NCS/epsimages/00008.eps
@@ -0,0 +1,154 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00008.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Fri Jul 6 06:33:11 2001
+%%Pages: 1
+%%BoundingBox: 68 68 263 76
+%%DocumentNeededResources:
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+%%Page: 1 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 735 287 offsets
+0.6000 inchscale
+2.6000 setlinewidth
+
+1 1.00 319 319 1151 319 2 polygon
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
188 NCS/epsimages/00009.eps
@@ -0,0 +1,188 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00009.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Fri Jul 6 06:32:49 2001
+%%Pages: 1
+%%BoundingBox: 68 68 354 93
+%%DocumentNeededResources: font Helvetica
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+/arrowhead {
+% -12 -32 24 36 bbox
+begingate
+8 -28 beginpath
+3 -18 3 -15 0 0 curveto
+-3 -15 -3 -18 -8 -28 curveto
+-2 -26 2 -26 8 -28 curveto
+249 1.00 endpath
+endgate
+} def
+
+/arrowhead90 {
+% -20 -12 36 24 bbox
+begingate
+1.00 90 -16 0 arrowhead
+endgate
+} def
+
+%%Page: 00008 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 911 303 offsets
+0.6000 inchscale
+2.6000 setlinewidth
+
+1 1.00 495 335 1327 335 2 polygon
+(Electron) {/Helvetica 1.000 cf} 2 16 0 319 367 label
+(Electron) {/Helvetica 1.000 cf} 2 16 0 1391 367 label
+(Source) {/Helvetica 1.000 cf} 2 16 0 335 319 label
+(Destination) {/Helvetica 1.000 cf} 2 16 0 1359 319 label
+1.00 -1 687 367 arrowhead90
+1 1.00 671 367 591 367 2 polygon
+1 1.00 863 367 783 367 2 polygon
+1.00 -1 879 367 arrowhead90
+1 1.00 1055 367 975 367 2 polygon
+1.00 -1 1071 367 arrowhead90
+1 1.00 1247 367 1167 367 2 polygon
+1.00 -1 1263 367 arrowhead90
+1 1.00 671 367 687 367 2 polygon
+1 1.00 863 367 879 367 2 polygon
+1 1.00 1055 367 1071 367 2 polygon
+1 1.00 1247 367 1263 367 2 polygon
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
162 NCS/epsimages/00010.eps
@@ -0,0 +1,162 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00010.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Fri Jul 6 06:33:30 2001
+%%Pages: 1
+%%BoundingBox: 68 68 354 96
+%%DocumentNeededResources: font Helvetica
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+%%Page: 1 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 911 463 offsets
+0.6000 inchscale
+2.6000 setlinewidth
+
+(Electron) {/Helvetica 1.000 cf} 2 16 0 319 383 label
+(Electron) {/Helvetica 1.000 cf} 2 16 0 1391 383 label
+(Source) {/Helvetica 1.000 cf} 2 16 0 335 335 label
+(Destination) {/Helvetica 1.000 cf} 2 16 0 1359 335 label
+1 1.00 495 367 815 367 2 polygon
+1 1.00 959 367 1327 367 2 polygon
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 607 383 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 1087 383 label
+(\(break\)) {/Helvetica 1.000 cf} 2 16 0 831 319 label
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
209 NCS/epsimages/00011.eps
@@ -0,0 +1,209 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00011.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Fri Jul 6 06:33:54 2001
+%%Pages: 1
+%%BoundingBox: 68 68 354 131
+%%DocumentNeededResources: font Helvetica
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+/arrowhead {
+% -12 -32 24 36 bbox
+begingate
+8 -28 beginpath
+3 -18 3 -15 0 0 curveto
+-3 -15 -3 -18 -8 -28 curveto
+-2 -26 2 -26 8 -28 curveto
+249 1.00 endpath
+endgate
+} def
+
+/arrowhead90 {
+% -20 -12 36 24 bbox
+begingate
+1.00 90 -16 0 arrowhead
+endgate
+} def
+
+/dot {
+% -10 -10 20 20 bbox
+begingate
+248 1.00 0 0 6 0.00 360.00 xcarc
+endgate
+} def
+
+%%Page: 00010 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 911 619 offsets
+0.6000 inchscale
+2.6000 setlinewidth
+
+(Electron) {/Helvetica 1.000 cf} 2 16 0 319 539 label
+(Electron) {/Helvetica 1.000 cf} 2 16 0 1391 539 label
+(Source) {/Helvetica 1.000 cf} 2 16 0 335 491 label
+(Destination) {/Helvetica 1.000 cf} 2 16 0 1359 491 label
+1 1.00 495 523 815 523 2 polygon
+1 1.00 959 523 1327 523 2 polygon
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 975 539 label
+(\(break\)) {/Helvetica 1.000 cf} 2 16 0 831 475 label
+1.00 -1 655 555 arrowhead90
+1 1.00 639 555 559 555 2 polygon
+1.00 0 719 523 dot
+1 1.00 719 523 719 363 1231 363 3 polygon
+1 1.00 1231 363 1231 523 2 polygon
+1.00 0 1231 523 dot
+1.00 -181 687 395 arrowhead
+1 1.00 687 411 687 475 2 polygon
+1 1.00 831 331 751 331 2 polygon
+1.00 -1 847 331 arrowhead90
+1 1.00 991 331 911 331 2 polygon
+1.00 -1 1007 331 arrowhead90
+1 1.00 1151 331 1071 331 2 polygon
+1.00 -1 1167 331 arrowhead90
+1 1.00 1263 459 1263 395 2 polygon
+1.00 0 1263 475 arrowhead
+1 1.00 1311 555 1231 555 2 polygon
+1.00 -1 1327 555 arrowhead90
+1 1.00 639 555 655 555 2 polygon
+1 1.00 831 331 847 331 2 polygon
+1 1.00 991 331 1007 331 2 polygon
+1 1.00 1151 331 1167 331 2 polygon
+1 1.00 1311 555 1327 555 2 polygon
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
255 NCS/epsimages/00012.eps
@@ -0,0 +1,255 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00012.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Fri Jul 6 06:34:20 2001
+%%Pages: 1
+%%BoundingBox: 68 68 367 213
+%%DocumentNeededResources: font Helvetica font Helvetica-Oblique
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+/arrowhead {
+% -12 -32 24 36 bbox
+begingate
+8 -28 beginpath
+3 -18 3 -15 0 0 curveto
+-3 -15 -3 -18 -8 -28 curveto
+-2 -26 2 -26 8 -28 curveto
+249 1.00 endpath
+endgate
+} def
+
+/arrowhead90 {
+% -20 -12 36 24 bbox
+begingate
+1.00 90 -16 0 arrowhead
+endgate
+} def
+
+%%Page: 1 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 575 624 offsets
+0.6000 inchscale
+2.6000 setlinewidth
+
+1 1.00 319 880 831 880 831 368 319 368 319 880 5 polygon
+1.00 -1 463 848 arrowhead90
+1 1.00 463 848 383 848 2 polygon
+1.00 -1 607 848 arrowhead90
+1 1.00 607 848 527 848 2 polygon
+1.00 -1 751 848 arrowhead90
+1 1.00 751 848 671 848 2 polygon
+1 1.00 399 400 479 400 2 polygon
+1.00 -181 399 400 arrowhead90
+1 1.00 543 400 623 400 2 polygon
+1.00 -181 543 400 arrowhead90
+1 1.00 687 400 767 400 2 polygon
+1.00 -181 687 400 arrowhead90
+1.00 0 351 816 arrowhead
+1 1.00 351 800 351 720 2 polygon
+1 1.00 351 656 351 576 2 polygon
+1.00 0 351 672 arrowhead
+1 1.00 351 512 351 432 2 polygon
+1.00 0 351 528 arrowhead
+1 1.00 783 736 783 816 2 polygon
+1.00 -181 783 720 arrowhead
+1 1.00 783 736 783 816 2 polygon
+1.00 -181 783 720 arrowhead
+1 1.00 783 592 783 672 2 polygon
+1 1.00 783 592 783 672 2 polygon
+1.00 -181 783 576 arrowhead
+1.00 -181 783 576 arrowhead
+1 1.00 783 448 783 528 2 polygon
+1 1.00 783 448 783 528 2 polygon
+1.00 -181 783 432 arrowhead
+1.00 -181 783 432 arrowhead
+(electrons can flow) {/Helvetica-Oblique 1.000 cf} 2 16 0 399 752 label
+(in a path without) {/Helvetica-Oblique 1.000 cf} 2 16 0 415 672 label
+(beginning or end,) {/Helvetica-Oblique 1.000 cf} 2 16 0 415 592 label
+(continuing forever!) {/Helvetica-Oblique 1.000 cf} 2 16 0 399 512 label
+1 2.00 1311 624 305 0.00 360.00 xcarc
+241 1.00 1103 816 16 0.00 360.00 xcarc
+1 2.00 1311 624 260 0.00 360.00 xcarc
+241 1.00 1167 864 16 0.00 360.00 xcarc
+241 1.00 1199 880 16 0.00 360.00 xcarc
+241 1.00 1135 848 16 0.00 360.00 xcarc
+241 1.00 1087 784 16 0.00 360.00 xcarc
+241 1.00 1055 752 16 0.00 360.00 xcarc
+241 1.00 1039 720 16 0.00 360.00 xcarc
+241 1.00 1039 688 16 0.00 360.00 xcarc
+241 1.00 1023 656 16 0.00 360.00 xcarc
+241 1.00 1023 624 16 0.00 360.00 xcarc
+241 1.00 1023 592 16 0.00 360.00 xcarc
+241 1.00 1039 560 16 0.00 360.00 xcarc
+241 1.00 1039 528 16 0.00 360.00 xcarc
+241 1.00 1055 496 16 0.00 360.00 xcarc
+241 1.00 1071 464 16 0.00 360.00 xcarc
+241 1.00 1103 432 16 0.00 360.00 xcarc
+241 1.00 1135 400 16 0.00 360.00 xcarc
+241 1.00 1167 384 16 0.00 360.00 xcarc
+241 1.00 1199 368 16 0.00 360.00 xcarc
+241 1.00 1231 352 16 0.00 360.00 xcarc
+241 1.00 1391 352 16 0.00 360.00 xcarc
+241 1.00 1423 368 16 0.00 360.00 xcarc
+241 1.00 1455 384 16 0.00 360.00 xcarc
+241 1.00 1487 400 16 0.00 360.00 xcarc
+241 1.00 1519 432 16 0.00 360.00 xcarc
+241 1.00 1551 464 16 0.00 360.00 xcarc
+241 1.00 1567 496 16 0.00 360.00 xcarc
+241 1.00 1583 528 16 0.00 360.00 xcarc
+241 1.00 1583 560 16 0.00 360.00 xcarc
+241 1.00 1599 592 16 0.00 360.00 xcarc
+241 1.00 1599 624 16 0.00 360.00 xcarc
+241 1.00 1599 656 16 0.00 360.00 xcarc
+241 1.00 1583 688 16 0.00 360.00 xcarc
+241 1.00 1583 720 16 0.00 360.00 xcarc
+241 1.00 1567 752 16 0.00 360.00 xcarc
+241 1.00 1551 784 16 0.00 360.00 xcarc
+241 1.00 1519 816 16 0.00 360.00 xcarc
+241 1.00 1487 848 16 0.00 360.00 xcarc
+241 1.00 1455 864 16 0.00 360.00 xcarc
+1 1.00 1359 896 1279 896 2 polygon
+1.00 -1 1359 896 arrowhead90
+1 1.00 1279 352 1359 352 2 polygon
+1.00 0 1279 352 arrowhead90
+241 1.00 1423 880 16 0.00 360.00 xcarc
+241 1.00 1247 896 16 0.00 360.00 xcarc
+(A marble-and-) {/Helvetica 1.000 cf} 2 16 0 1183 656 label
+(hula-hoop "circuit") {/Helvetica 1.000 cf} 2 16 0 1167 608 label
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
167 NCS/epsimages/00013.eps
@@ -0,0 +1,167 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00013.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Sat May 26 21:10:13 2001
+%%Pages: 1
+%%BoundingBox: 68 68 281 245
+%%DocumentNeededResources: font Helvetica font Helvetica-Bold
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+%%Page: 00012 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 576 560 offsets
+% 32.00 8.00 gridspace
+0.7500 inchscale
+2.6000 setlinewidth
+
+1 1.00 320 816 832 816 2 polygon
+1 1.00 832 304 320 304 2 polygon
+1 1.00 832 816 832 304 2 polygon
+1 1.00 320 816 320 624 2 polygon
+1 1.00 320 496 320 304 2 polygon
+(\(break\)) {/Helvetica 1.000 cf} 2 16 0 256 544 label
+(electron flow cannot ) {/Helvetica 1.000 cf} 2 16 0 400 688 label
+(in a "broken" circuit!) {/Helvetica 1.000 cf} 2 16 0 408 608 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 496 832 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 496 256 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 848 560 label
+(anywhere) {/Helvetica-Bold 1.000 cf} (occur ) {/Helvetica 1.000 cf} 4 16 0 432 648 label
+(continuous) {/Helvetica 1.000 cf} 2 16 0 480 728 label
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
167 NCS/epsimages/00014.eps
@@ -0,0 +1,167 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00014.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Sat May 26 21:11:19 2001
+%%Pages: 1
+%%BoundingBox: 68 68 286 245
+%%DocumentNeededResources: font Helvetica font Helvetica-Bold
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+%%Page: 00012 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 672 560 offsets
+% 32.00 8.00 gridspace
+0.7500 inchscale
+2.6000 setlinewidth
+
+1 1.00 416 816 928 816 2 polygon
+1 1.00 928 304 416 304 2 polygon
+(electron flow cannot ) {/Helvetica 1.000 cf} 2 16 0 480 704 label
+(in a "broken" circuit!) {/Helvetica 1.000 cf} 2 16 0 488 624 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 592 832 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 592 256 label
+(no flow!) {/Helvetica 1.000 cf} 2 16 0 256 560 label
+1 1.00 416 816 416 304 2 polygon
+1 1.00 928 816 928 656 2 polygon
+1 1.00 928 464 928 304 2 polygon
+(\(break\)) {/Helvetica 1.000 cf} 2 16 0 880 544 label
+(anywhere) {/Helvetica-Bold 1.000 cf} (occur ) {/Helvetica 1.000 cf} 4 16 0 520 664 label
+(continuous) {/Helvetica 1.000 cf} 2 16 0 568 744 label
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
211 NCS/epsimages/00017.eps
@@ -0,0 +1,211 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00017.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Thu Jul 12 06:38:13 2001
+%%Pages: 1
+%%BoundingBox: 68 68 230 301
+%%DocumentNeededResources: font Helvetica font Helvetica-Oblique
+%%+ font Times-Roman
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle { texty 0.5 mul rmoveto } def
+/ttop { texty fspc sub rmoveto } def
+/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
+
+/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
+ {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
+ 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
+ dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
+ {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
+ {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
+ /glevel 0 def /showflag 0 def /fspc pspc def
+ just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
+ {fspc 0 rmoveto} ifelse
+ just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
+ {0 fspc rmoveto} ifelse
+ /showflag 1 def tshow grestore } def
+/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
+ { pop pop pop pop {pop} repeat } ifelse } def
+/pinglobal { pinlabel } def
+/infolabel { pinlabel } def
+
+/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
+ {neg 1 sub -1 1 scale} if rotate dup scale } bind def
+/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
+ 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
+/beginparm { -1 1 {makeparm exch def} for
+ dup type /arraytype eq { aload length -1 1 {makeparm exch def}
+ for } if begingate } bind def
+/endgate { /hlevel hlevel 1 sub def grestore } bind def
+
+/hlevel 0 def
+/tmpa [1 0 0 1 0 0] def
+/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
+{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
+{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
+{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
+{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
+{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
+{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
+/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
+ neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
+ gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
+ { 3 index exch 5 exch put dup -8 3 index { 3 index
+ exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
+/setstyles {
+ currentlinewidth mul setlinewidth /style exch def
+ style 1 and 0 gt not {closepath} if
+ style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
+ style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
+ style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
+ style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
+ {gar exch get ppaint} { pop eofill } ifelse grestore } if
+ style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
+/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
+
+/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
+/xcarc { gsave newpath arc setstyles } def
+/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
+ 3 index div 1 scale } def
+/ele { 0 4 1 roll 0 4 1 roll } bind def
+/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
+/pellip { elb ele arc setmatrix } def
+/nellip { elb ele arcn setmatrix } def
+/spline { gsave moveto curveto setstyles } def
+/polyc { {lineto} repeat } bind def
+/beginpath { gsave moveto } bind def
+/endpath { setstyles } bind def
+/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
+/insertion {/PSobj save def /showpage {} def bop translate} def
+/end_insert {PSobj restore} def
+/setpagemat {/pagemat matrix currentmatrix def} def
+/inchscale {setpagemat 0.375 mul dup scale} def
+/cmscale {setpagemat 0.35433071 mul dup scale} def
+
+%%EndResource
+%%EndProlog
+
+% XCircuit output starts here.
+
+/source {
+% -32 -64 64 128 bbox
+% hidden
+begingate
+1 1.00 0 0 32 0.00 360.00 xcarc
+1 1.00 0 32 0 64 2 polygon
+1 1.00 0 -32 0 -64 2 polygon
+endgate
+} def
+
+/arrowhead {
+% -12 -32 24 36 bbox
+begingate
+8 -28 beginpath
+3 -18 3 -15 0 0 curveto
+-3 -15 -3 -18 -8 -28 curveto
+-2 -26 2 -26 8 -28 curveto
+249 1.00 endpath
+endgate
+} def
+
+/isource {
+% -32 -64 64 128 bbox
+begingate
+% fundamental
+1.00 0 0 0 source
+1 0.75 0 20 0 -8 2 polygon
+0.80 180 0 -20 arrowhead
+1.000 0.000 0.000 scb
+(i.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
+(i.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
+sce
+endgate
+} def
+
+%%Page: 1 1
+%%PageOrientation: Portrait
+/pgsave save def bop
+% 544 416 offsets
+0.7500 inchscale
+2.6000 setlinewidth
+
+1.00 180 544 480 isource
+(Pump) {/Helvetica 1.000 cf} 2 16 0 592 464 label
+0.000 0.000 1.000 scb
+241 1.00 304 352 304 256 784 256 784 352 4 polygon
+sce
+(Pond) {/Helvetica 1.000 cf} 2 16 0 496 288 label
+0.000 0.000 1.000 scb
+241 1.00 256 1024 256 832 480 832 480 1024 256 1024 5 polygon
+sce
+1 1.00 288 832 256 640 320 832 3 polygon
+1 1.00 448 832 480 640 416 832 3 polygon
+(Reservoir) {/Helvetica 1.000 cf} 2 16 0 288 944 label
+1 1.00 544 544 544 896 448 896 3 polygon
+1 1.00 544 416 544 320 2 polygon
+1.00 0 576 832 arrowhead
+1 1.00 576 816 576 736 2 polygon
+1 1.00 576 640 576 560 2 polygon
+1.00 0 576 656 arrowhead
+(Energy stored) {/Helvetica 1.000 cf} 2 16 0 528 960 label
+(Water flow) {/Helvetica-Oblique 1.000 cf} ( ) {/Helvetica 1.000 cf} 4 16 0 560 688 label
+1 2.00 304 384 304 256 784 256 784 384 4 polygon
+0 2.00 256 1056 256 832 480 832 480 1056 4 polygon
+pgsave restore showpage
+
+%%Trailer
+XCIRCsave restore
+%%EOF
View
186 NCS/epsimages/00018.eps
@@ -0,0 +1,186 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: 00018.eps
+%%Creator: Xcircuit v2.0
+%%CreationDate: Thu Jul 12 06:38:39 2001
+%%Pages: 1
+%%BoundingBox: 68 68 252 301
+%%DocumentNeededResources: font Helvetica
+%%EndComments
+%%BeginProlog
+%
+% PostScript prolog for output from xcircuit
+% Version: 2.0
+%
+% Electrical circuit (and otherwise general) drawing program
+%
+% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
+% The Johns Hopkins University
+%
+%%BeginResource: procset XCIRCproc 2.0 2
+% supporting definitions --- these are the primary xcircuit types.
+
+/XCIRCsave save def
+/topmat matrix currentmatrix def
+
+/fontslant { /slant exch def [1 0 slant 1 0 0]
+ exch findfont exch makefont dup length dict /ndict exch def
+ { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
+ ndict definefont pop} def
+/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
+ findfont fscale scalefont setfont } def
+/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
+ glevel 1 add /glevel exch def } def
+/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
+ glevel 1 add /glevel exch def } def
+/ns { currentpoint transform % preserve x position!
+ glevel {grestore} repeat /glevel 0 def
+ itransform pop currentpoint pop sub 0 rmoveto } def
+/ul { showflag 1 eq { gsave
+ currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
+ false charpath flattenpath pathbbox grestore exch pop 1 index
+ sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
+ rlineto stroke moveto } if } def
+/ol { showflag 1 eq { gsave gsave
+ currentpoint topmat setmatrix 2 index stringwidth pop 3 index
+ true charpath flattenpath pathbbox grestore exch pop
+ exch pop topmat setmatrix (_) true charpath pathbbox grestore
+ exch pop 1 index sub setlinewidth exch pop currentpoint
+ exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
+ moveto } if } def
+/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
+ grestore } def
+/bs { stW 0 rmoveto } def
+/pspc 0 def
+/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
+/hS { qS qS } def
+/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
+ {stringwidth pop add}{exec} ifelse } repeat neg ns } def
+/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
+ pop exch sub exch pop neg grestore } def
+/texty { gsave 2 copy pop exec mty } def
+/tcenter { textx grestore 0.5 mul 0 rmoveto } def
+/tright { textx grestore fspc sub 0 rmoveto } def
+/tmiddle