From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/sistyle/README | 60 + macros/latex/contrib/sistyle/SIstyle-2.3a.pdf | Bin 0 -> 323567 bytes macros/latex/contrib/sistyle/figs/fig1.eps | 1902 +++++++++++++++++++++ macros/latex/contrib/sistyle/figs/fig1.mps | 257 +++ macros/latex/contrib/sistyle/figs/fig2.eps | 1888 +++++++++++++++++++++ macros/latex/contrib/sistyle/figs/fig2.mps | 239 +++ macros/latex/contrib/sistyle/sistyle.dtx | 2191 +++++++++++++++++++++++++ macros/latex/contrib/sistyle/sistyle.ins | 76 + macros/latex/contrib/sistyle/sistyle.sty | 373 +++++ 9 files changed, 6986 insertions(+) create mode 100644 macros/latex/contrib/sistyle/README create mode 100644 macros/latex/contrib/sistyle/SIstyle-2.3a.pdf create mode 100644 macros/latex/contrib/sistyle/figs/fig1.eps create mode 100644 macros/latex/contrib/sistyle/figs/fig1.mps create mode 100644 macros/latex/contrib/sistyle/figs/fig2.eps create mode 100644 macros/latex/contrib/sistyle/figs/fig2.mps create mode 100644 macros/latex/contrib/sistyle/sistyle.dtx create mode 100644 macros/latex/contrib/sistyle/sistyle.ins create mode 100644 macros/latex/contrib/sistyle/sistyle.sty (limited to 'macros/latex/contrib/sistyle') diff --git a/macros/latex/contrib/sistyle/README b/macros/latex/contrib/sistyle/README new file mode 100644 index 0000000000..ceeffcd35c --- /dev/null +++ b/macros/latex/contrib/sistyle/README @@ -0,0 +1,60 @@ + The SIstyle package + for SI units and number typesetting + + Author: Danie Els + Copyright (c) 2004-2008 Danie Els + Licence: LaTeX Project Public License + +DESCRIPTION +=========== + + The SIstyle package typeset SI units and numbers according + to the ISO requirements. Care is taken with font requirements. + The emphasis is on ease of use, but it is the users + responsibility to know the rules and how to use SI units. + + e.g.: \SI{1}{N}=\SI{1}{kg.m/s^2} + + + +INSTALLATION +============ + + The most basic installation is to copy sistyle.sty to your + working directory or to a directory where TeX can find it. + + For a full installation, copy the following files to you + (local) TEXMF tree and into the specified directories. + + -- STYLE FILES -- + + \tex\latex\SIstyle\sistyle.sty + + The style file was obtain by running "latex sistyle.ins" + + -- SOURCE FILES -- + + \source\latex\SIstyle\sistyle.dtx + sistyle.ins + fig1.(mps/eps) + fig2.(mps/eps) + + graphs_src\fig1.mp + graphs_src\fig1.mp + graphs_src\MPfig.bat + graphs_src\readme_figs.txt + graphs_src\unitstep.m + graphs_src\grphset.m + + -- USER DOCUMENTATION -- + + \doc\latex\SIstyle\SIstyle-2.3a.pdf + + The user manual for SIstyle package was produced by executing: + + pdflatex sistyle.dtx + pdflatex sistyle.dtx + makeindex -s gglo.ist -o sistyle.gls sistyle.glo + makeindex -s gind.ist -o sistyle.ind sistyle.idx + pdflatex sistyle.dtx + pdflatex sistyle.dtx diff --git a/macros/latex/contrib/sistyle/SIstyle-2.3a.pdf b/macros/latex/contrib/sistyle/SIstyle-2.3a.pdf new file mode 100644 index 0000000000..d03bb641ab Binary files /dev/null and b/macros/latex/contrib/sistyle/SIstyle-2.3a.pdf differ diff --git a/macros/latex/contrib/sistyle/figs/fig1.eps b/macros/latex/contrib/sistyle/figs/fig1.eps new file mode 100644 index 0000000000..5233edb692 --- /dev/null +++ b/macros/latex/contrib/sistyle/figs/fig1.eps @@ -0,0 +1,1902 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software +%%Title: fig1.dvi +%%CreationDate: Thu Dec 14 12:08:44 2006 +%%BoundingBox: 148 504 385 668 +%%DocumentFonts: LMRoman10-Regular CMMI10 CMR10 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS -Ppdf -G0 -E -o fig1.eps fig1.dvi +%DVIPSParameters: dpi=8000 +%DVIPSSource: TeX output 2006.12.14:1208 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: alt-rule.pro 0 0 +%! +% Patch by TVZ +% Makes dvips files draw rules with stroke rather than fill. +% Makes narrow rules more predictable at low resolutions +% after distilling to PDF. +% May have unknown consequences for very thick rules. +% Tested only with dvips 5.85(k). +TeXDict begin +/QV { + gsave newpath /ruleY X /ruleX X + Rx Ry gt + { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } + { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } + ifelse + setlinewidth 0 setlinecap stroke grestore +} bind def +end + +%%EndProcSet +%%BeginProcSet: lm-ec.enc 0 0 +% This file belongs to the Latin Modern package. The work is released under +% the GUST Font Source License. See the MANIFEST.txt and README.eng files +% for the details. For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or +% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt + +/enclmec[ +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/quotesinglbase +/guilsinglleft +/guilsinglright +/quotedblleft +/quotedblright +/quotedblbase +/guillemotleft +/guillemotright +/endash +/emdash +/cwm +/perthousandzero +/dotlessi +/dotlessj +/ff +/fi +/fl +/ffi +/ffl +/visiblespace +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/hyphen.alt +/Abreve +/Aogonek +/Cacute +/Ccaron +/Dcaron +/Ecaron +/Eogonek +/Gbreve +/Lacute +/Lcaron +/Lslash +/Nacute +/Ncaron +/Eng +/Ohungarumlaut +/Racute +/Rcaron +/Sacute +/Scaron +/Scedilla +/Tcaron +/Tcedilla +/Uhungarumlaut +/Uring +/Ydieresis +/Zacute +/Zcaron +/Zdotaccent +/IJ +/Idotaccent +/dcroat +/section +/abreve +/aogonek +/cacute +/ccaron +/dcaron +/ecaron +/eogonek +/gbreve +/lacute +/lcaron +/lslash +/nacute +/ncaron +/eng +/ohungarumlaut +/racute +/rcaron +/sacute +/scaron +/scedilla +/tcaron +/tcedilla +/uhungarumlaut +/uring +/ydieresis +/zacute +/zcaron +/zdotaccent +/ij +/exclamdown +/questiondown +/sterling +/Agrave +/Aacute +/Acircumflex +/Atilde +/Adieresis +/Aring +/AE +/Ccedilla +/Egrave +/Eacute +/Ecircumflex +/Edieresis +/Igrave +/Iacute +/Icircumflex +/Idieresis +/Eth +/Ntilde +/Ograve +/Oacute +/Ocircumflex +/Otilde +/Odieresis +/OE +/Oslash +/Ugrave +/Uacute +/Ucircumflex +/Udieresis +/Yacute +/Thorn +/Germandbls +/agrave +/aacute +/acircumflex +/atilde +/adieresis +/aring +/ae +/ccedilla +/egrave +/eacute +/ecircumflex +/edieresis +/igrave +/iacute +/icircumflex +/idieresis +/eth +/ntilde +/ograve +/oacute +/ocircumflex +/otilde +/odieresis +/oe +/oslash +/ugrave +/uacute +/ucircumflex +/udieresis +/yacute +/thorn +/germandbls +] def + +%%EndProcSet +%%BeginProcSet: lm-ts1.enc 0 0 +% This file belongs to the Latin Modern package. The work is released under +% the GUST Font Source License. See the MANIFEST.txt and README.eng files +% for the details. For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or +% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt + +/enclmts1[ +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/quotesinglbase.ts1 +/.notdef +/.notdef +/.notdef +/.notdef +/quotedblbase.ts1 +/.notdef +/.notdef +/twelveudash +/threequartersemdash +/cwmcapital +/arrowleft +/arrowright +/tieaccentlowercase +/tieaccentcapital +/tieaccentlowercase.new +/tieaccentcapital.new +/.notdef +/cwmascender +/blanksymbol +/.notdef +/.notdef +/.notdef +/dollar +/.notdef +/.notdef +/quotesingle.ts1 +/.notdef +/.notdef +/asteriskmath +/.notdef +/comma +/hyphendbl +/period +/fraction +/zero.oldstyle +/one.oldstyle +/two.oldstyle +/three.oldstyle +/four.oldstyle +/five.oldstyle +/six.oldstyle +/seven.oldstyle +/eight.oldstyle +/nine.oldstyle +/.notdef +/.notdef +/angleleft +/minus +/angleright +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/mho +/.notdef +/bigcircle +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/ohm +/.notdef +/.notdef +/.notdef +/dblbracketleft +/.notdef +/dblbracketright +/arrowup +/arrowdown +/grave.ts1 +/.notdef +/born +/divorced +/died +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/leaf +/married +/musicalnote +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/tildelow +/hyphendbl.alt +/breve.ts1 +/caron.ts1 +/hungarumlaut.ts1 +/dblgrave.ts1 +/dagger +/daggerdbl +/dblverticalbar +/perthousand +/bullet +/centigrade +/dollar.oldstyle +/cent.oldstyle +/florin +/colonmonetary +/won +/naira +/guarani +/peso +/lira +/recipe +/interrobang +/gnaborretni +/dong +/trademark +/permyriad +/paragraph.alt +/baht +/nomero +/discount +/estimated +/openbullet +/servicemark +/quillbracketleft +/quillbracketright +/cent +/sterling +/currency +/yen +/brokenbar +/section +/dieresis.ts1 +/copyright +/ordfeminine +/copyleft +/logicalnot +/published +/registered +/macron.ts1 +/degree +/plusminus +/twosuperior +/threesuperior +/acute.ts1 +/mu +/paragraph +/periodcentered +/referencemark +/onesuperior +/ordmasculine +/radical +/onequarter +/onehalf +/threequarters +/Euro +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/multiply +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/divide +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: finclude.pro 0 0 +%! +/fstore{dup dict exch{dup 4 2 roll put}repeat def}bind def/fshow{gsave +72 TeXDict/Resolution get div -72 TeXDict/VResolution get div scale 1 +DVImag div dup scale get cvx exec show grestore}bind def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +%%BeginFont: CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 109 /m put +dup 115 /s put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 +87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F +D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 +92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C +295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 +409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C +4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF +2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E +0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E +B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 +24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B +43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF +D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 +5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC +96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 +7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEE09555C11E6E295 +71B219B380EE9E5BB17AD84B4E8AED35880BD88E5AC7D9FE25C46889CD093396 +F0E34A62F93E64C8E7975CFD617121244AB09FF9A4F73F8166197D0CDE2EEBB3 +81AB9BD8329579C2122368F56DEB89BA6E42C5D9E20F2789CC4A89E4AD9B877F +8A0ACB84936F109D86211169257C19756A97E682601F4D1E7ED950A351C14DAC +4BEA7FB0E58FB5AEB55BC09B1253748B61B4E00C448F263458BF958D3986BF18 +9636037E95FB425AAC96FCED5B4C766F93041FAA0DBB196B0A220B8E3A9FCA6E +B4F5C0C775C25AFF4F5099CD3A2FA59ACA735718F8E90B351B015320794A89E8 +4C34F32B465E201008CCC0A15C2DEE572BDA14D8BDDFCF2743A15F8A93386861 +828F6251F206B9131C951D1ED4364A9CCE507E2959A1DA04A777B592888D38ED +E68FFB3EFE83870BA8E04B88C9EEEB2DB80D4D07B52CE914D9DADF825A5301AC +C64063909D6C1DC84C274C90004F41A1FAFD450805C5DD2A8E4F4C23E114246F +C103EB63B58F33E44DD04F6367E04C3CBB3400BA3C1943B874CFB7DBF6A3EB5A +3F665C5A98F578A03948821E40D1608FB70C5915CA0DE369A0D7112BFF6CAE56 +CB9BF699DAF3859F2B46DF97AE05915E791F1CE849154C53C4403EFD6F1A44EF +78C167190F3326BA35B2A0F95CD03492DBA2903489ABB6B2EB9F977F3F4D690B +31E8F6E32F83D91F721ABD116A40698F26610853E7FD075478979BEF42166C1B +312E8C20CB3F080B08A69416DA402D336C627BABC4737FC72F8F4F6BB7D73551 +EE33D3CEA901C3369B93301EEE2C3475A9F5B96239829EA2EE6A4F6A047A230D +44CE6210E275C4AAC7931329F161948073F4086B4FB7C98DE9FE8F04DAD394CB +6AF09FAEA10C3B9470D051054C65297A1E2DA99EB13C1BED09001F68B04377E9 +DAD87BCD6759B3DDBACBD0BB8FD64D2068C3DE2065A772019C474B0514299334 +55E6079A8BC565D2CEB7E3B896593D720DBF66CDB2697926FE4101CEE9D13430 +435E66EB92DB66EF26948040DC4B233A18AD9323E51DF9363D788F73419A8625 +7D9BA441C82B2E70BE926CCD72052D4F839274FFDA9116B4E8CBED2FB8719044 +CFAD402ABF220656062D8E062552AB41688EB7E6869190C0E77E0EF850479581 +DEF6C117C0FC3E2F617807E129EAF9B11C0E9AC14934B8C23B21A7AEF7373CD3 +296D97BAD6FA3AACCFC8102DD314B33A85ED022C64985DF1B3B448F4B1B1B69D +875F0423773C5701B5409F14B5DAC3B87293BCD94E0CBBC6FC3D0B0C3B0BDBF7 +538EACBD8AF0C21785BD38D4135E72507C09FD564CC83BF6A8B14A234E9E082A +0B9DA23ECFD02C961A58144BDF2FA72CC2764AEF0EA6EF384065950C69007F35 +EB1D9EA0AE6C95E38D1218A6F3B34D2A2AA54B7C0E75B0B2E421E9D1B9970A9D +FB1DDC015409B8E408683F204D768563208B3F70FBCBC87230EAE9C40236D2A8 +61672EBEB2D8E332816619AEFB139F9A6877F95D2D4C26F059E7E8E634B7933E +EF2B79F9C7E994B30A507C94E9DD8CC59EA7EF25865D24DFD3EE62BAF88E394E +565253A758BA3E4DDA76FA846BAF73FAB1899D40AAAD3E8A7B01795A035866C8 +796A18621FA015AFE95B076EBC274C69DD5D4E4B6658AC5EBC2A08531BA9355F +9688D7F9110F95243B880C7171157DDCC806684D16928487770B1A9BD9FDDB80 +3B325A1FBB05D047B05D1607B6C3E750BC4E5B9BDA764C362CB2C833105473AD +6FBA7C6CA9B293BCDBFBEE420979DAC7E3FB0CDF85840B7A002BC4C3FF2E2477 +B4156D6D305B45A03DB85FC8C33CF365B29153B5C6B8C24B3805469DB3FB1532 +F4E365A84D5A1966556A822E6A075044FF531835FD5ECE41A46CCA65994B64BE +9357D3391A3E0DAD0ECEED1FE4CB4B3F1BC1152C1DDEAABED93FAAA5C5343017 +6A7B3C34F97BB6A7C8EDB381562180F6983B8A98EFD47F1C43B46DC022F29FAB +FF05B002FEEFC5B5741C407B882FD17F31E9F134BDFD2F0E7AAA105B491353E6 +53824F42214A5F047D4B71596BA49AAE975C3D8B0A3926954399194BA3D2C57A +19B9F9D9065DE7E506F6F3E0EF2FD285 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: LMRoman10-Regular +%!PS-AdobeFont-1.0: LMRoman10-Regular 1.00 +%%CreationDate: 13th April 2006 +% Generated by MetaType1 (a MetaPost-based engine) +% Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS). +% Supported by CSTUG, DANTE eV, GUST, GUTenberg, NTG, and TUG. +% METATYPE1/Type 1 version by B. Jackowski & J. M. Nowacki +% from GUST (http://www.gust.org.pl). +% This work is released under the GUST Font Source License. +% For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or +% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt +% This work has the LPPL maintenance status "maintained". +% The Current Maintainer of this work is Bogus\l{}aw Jackowski and Janusz M. Nowacki. +% This work consists of the files listed in the MANIFEST.txt file. +% ADL: 806 194 0 +%%EndComments +FontDirectory/LMRoman10-Regular known{/LMRoman10-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +17 dict begin +/FontInfo 9 dict dup begin +/version(1.00)readonly def +/Notice(Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS).)readonly def +/FullName(LMRoman10-Regular)readonly def +/FamilyName(LMRoman10)readonly def +/Weight(Normal)readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -146 def +/UnderlineThickness 40 def +end readonly def +/FontName /LMRoman10-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /.notdef put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-220 -290 1417 1127}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF13E4018CA53FFC8B28E49B3AF8134528F971DEDA +55E9075B8973BD0B1C001D7F241CAA67472027935C0A16779AC34D17950388CF +0E0191A473BE7581A249D043279E83EA19B511D1D8FA3933F37C594054DB8297 +45ECDBC2E8976B243A996D477A529B8667BB3FB7783D0B773B952A4520909BA1 +EB4AB2FA4D38CD9B2CF575F8E0FDB2E85A6D59CB0AFEE208F8B5D960088A941E +6A5D13330AADAFA7D538980AF303C475BC59C6240759D913DFD615F18D7FB830 +118F7BE4A02E93EED65678B88EE5638D9F04CD6EA68B23AA18C95F0B8FC5437D +29F52672B551189CFC2DCF689C76B4529CC6483F7232EC7EEE93A3F6FB7CAF7E +918C305756FDADEE60B1EBBCCE2869AF9E02E405BAF381E1E5326B09167F69EF +5A052BBD6377D67FBBEEBF28F945EE53CF4122168C8547077AC0A7D557AA3DB7 +162AD512E149ACC5205743CAC9C2DC86A7A032EABFB00E5F0D4977BE2ADB4182 +217310FD4197B1001CF75C78D9C9D9265593B363C8D4627325B7E989B602B80E +98302ABC62C115ECAC3D2A9370B554CA8CFD2731D0C291F80EBEA1E7A5525D3C +60355A0EE95BB80A121AACF617D5C42290E2817D48337DEF0DAC4BB1D089A0BB +33C5D1E9A154672BA2C2AAF2AE92844C5F396DCE41EB8C8408A931385C7AEBFF +027E755D0630941A625F29201C718468A889CC711F55A5BB42A8073D51BEC52D +F50FE2890822E4A7DCB96A8D072F79EADDD624BFE5FA77C0203D09EC991F7C10 +B00093F89707E2A445AD033CC927663E5D5C6AC95FDBAFC504DDF506BC4610E5 +46381B076E926CA73F060B64060F302825290C4DA7DCEA32CF94A57F502C1512 +5768B7F270C4B32EAC5C784FA365DD5A61E508C9AF78EEC487BC525BB2B2E27F +8076275DD0E56F155370E0E415CA49122B7CB178F7BE2C45F43BD9D2826AAB84 +A11C60C8A784873862B47EF248585A72DD53DA7FA6306C5FD17F7A065D92847C +3C3F9B766F22717373D06A54D5BD47623E3BA269E1818F6F1CA03614CB504793 +522591E0052B708901CB4DD29EC6D54536E316D1600D7F622123847A31F2E6F7 +B83102B09B5FAF077B5C691FED64CF37920196E22FD45086F515FD5ABC49D4B2 +22DCF1755737BA53954971173E8A833359F48570AFB66310F41FD95821C03C40 +52442EB8974AB96FC19C2AB76B8D3187B6CCB4A57AC0CEA9F3215D3CD6DDCB1B +E272B237DC61765D9741A0CD5F871F03C22DA4FB0F4B3811E907177CA545CF4E +B0B7A6727F0884A95E1E790BEAFCC3113D5658ABD70FCE958A9AF541192ADB7F +A7A3F7D8CE6FF643375D7E96477DC4E6C0A09369D0C1EEFCB46E6DD65747A981 +438EAD81C85FA3CF7A58AE1E83C41C6AB175C3200BE7F1396F9CAF46C80BB063 +9CC4A9200AC342D2CD79E14C39DA6BE2D42186EAD7ACD77C30FB52A523A63E52 +94B8EAB30ADC515B6640DF30F4D117235385BD69D068F1BB3C6B565D24C963E6 +1EAE3FBA7645AB573A5E5EBF40C14681BAD1AC7489097EC382B0687A8D701D86 +BDA16B44FAC0B9F2EE8D2B2380848306F12A275DE016D08DF4EEA409ED1C1057 +846B76616532B79C929723445D51E55F2901DFB074E222B6426D8AF577A5B7F2 +B019500E8FBE4DDA2E708ACC998C1BB5EDE3A45AB78996EB94C76911139F6187 +7B66CD0DF79C3AE123796DEDAD425BDDCCC3913293D99529B8F9EAC85FE54840 +6DE5D90A0EC03425FD0B0E5186F6949A70C40B3E6AAB5B0440DC15229E8FF040 +BFD4CD3B9F79F1BF79818A68219E86BAEF2C97CBCEA2B828E6F56DB195EA47DA +1051E1EC1CB9B015F2CA593A2DD89199120346AB81E636CD886100498CA25084 +B8F3F8F2614882C88512C172900666F0F1C54F38D882DDE8DEE28A07A9E0A421 +43E0FD47E192338977159D77AC6BF76682B29B82D49241BBE072C730016968AA +3FCF6D4C15FC110A14C6B17D81FDFAD8EA305C71530FD9173A18E079156D9573 +0D300E07FB786ABB0F9A79907A37B4A5F808BDAA3699013C19D6934F2F8E0A5C +ADD280D5BD782A22718D4EEC9DDBC17E8CDAF6DD7B3F01AE728211B0CCB196A4 +60C5D529C5B2F5AA944765B7D49D7C68A5870CA8EF1CC0BF5D498496818C2444 +67171449C73BABBAB53F4A733712685E241C592703315E6CA03D39DCE4DE2125 +D8A79577580F5799C825BD4B9786473E2C20F6F8C83244EBC7FB4F3C9FFC8023 +DE1604FD41C754EA86877663ACE221E3BBF2A45CE39B80FB268D543A28FD4097 +9CDA6AD12BE81304B8910956B479E189047C61C200327257D9BEB1BC43CE6265 +86FD77921C79F575F855F4BE79651FE79FC065EC14246AE06156B8DFF94E835F +E70E091803D9D14037AC4AA8C4D17EBB62ACEAF93E6F861A0A32EE23534ECAB1 +259C875ED86B498B32D54D210461A17DF138F3D9F5C7AF9CED42432718A7678B +23A7EBCAF98097861710D733B5510790EB1507947AEAD6D9670DD996AA9FE4D4 +268A3FDBF8F1AA40E28BFF45165E55F75184B73917E43FF456B5C43410CFD976 +54CB959F9AB2CCB8752C341604BF43CC71919635B7CE630194962E4183C3838D +9401260A74300CCF70AB808FB5463133418C76C371F9FADA0222F6800D084673 +6F0649DCA8FCCCB124E1FADDFAF3D595E5376EE46E7E218A3868A1F35192B6A2 +9EBC2AAB1F1552CBA6B2046A89887F2C60A24A1694517F78471B3C99F6B78D81 +ABE86B754F6E599939B1432225CA439E0B3FE18721C03286E3A95529C1052361 +DE380EBCA14518248C6E80E617710006DC9620F12013C029B9CD88691D35FDF7 +B2A3B17C6456A86FF9C72B59ABF9CB2FDFDC9F3D23CA188DAC0F9ACBAE773FC5 +C3E2184FE3EF30AFC0D06BD5518758D36F783EC76D0124CC64D7F036B7A36FEB +D489C0E4B284FFA332B3D433EBE2C54C0555DF2D2D3ADB4C7ABE81EE545B39C0 +6FD8775EDD6395239B7C1CC552A6EC2A8A76E87AE3D012528A87444532769CDE +9A96856F620850D625FE73C2DBF79AC2200622A13BA8321863578E15C7B59E6B +DB866EB67AF788FDFF37ACDEA67110CE092C31968B92E3AF25260F2E92C7807C +74EFED2B132A2915E04548D615F31D64C36E7FC9BF48ADB04BEE66877A7912E1 +65909226DE954C56B5DFBE90C804C68A75B2C92CBA439BF079A64E39E02C98CF +BED9D1B87A8DC71DD685A2E7A942DBE072F2BD0DCF8346DE27FA98D21C0F6F56 +2F531D461A1FFA9FD3D5CCC64D6788FA447CA76FEE2D9C03B22996536F2532F2 +9BB6C55AF7087BA48FBCA5CD32D55AA3E61DCAE5E57A9D3AD3DED4F1EB870695 +5FD8B9DF74AA62D786A28F95223B0DC0A674409CD2875EE7E519052DA057ECE9 +E445A03C052D4A7128E6821291164B14DA11FB16C0E671A610408294D544C40F +9C260A53DBD3433E9BA4350E69BFF385EFD0B7AF9223BFFC63A514AF6BF4AE2B +867B9CF1B3A17CEC7CC51890A13715B7B5CCB828EB08D9A9538E1F4213953BFC +6CCA78DB0C094BC82EC4F0BC92833AEBC85E95137A61DB977EC7BDC3F755DB66 +93581C5B4EC95473A554034710B4A9DA4C7B3F15FECBC036634F69A0751C4084 +6188611E976891A2BDFC66EE858D35EF96A891BFF21A5669B73153DF85531821 +C23E4DE1DD4C0532420A41CF958B1DDE1BEAF9868F31824A89DC94B5C6DAA746 +81BE30C4E671CD96973F8D37C19E1C99B0F3DD668BDF76A5F474B850CE6400C5 +44CDB7094616F41B02982895820AB47D0BEB5D5BBE6577DA766734A59AE1DBB0 +0D7356FA17421E7259543464ADC1515926B7EE1D90B03C9F7F7634AD8337803D +11CF01D0E046E06C9E9FF99BC9B3B43313EBD812D550227C0665E7B5096FF965 +3BCEBC952F2AD0FAD8B198DD4BBC90179FE9329D97AFDB3F1E97C7101BABC80F +C6726396B20DFA40ED6AC6C13C593EDD00A965E58A75759041EF377B9C8FEE1D +BFD8B2F40A08BBEBADC84A7E00A389D5DB40B69F81A07B80046884B781D64B60 +75D35E411613E01A9961261DC3D90A35BB1AFFFDF087F0B4C62F58C1E729F224 +EC05FB4EC009EF48E7E56CAD56A297FF423AF24B9E1D2443EF397EE0AB134571 +C2917069E8F87271EBD508D02DF0D47145BF586978AF64E2E45D3CE6524CBF56 +223468C987C1883B80126A31ED27039B0EFA4F3DBBA7D50C464E3F297A0F2C1A +C23885124F9AE5827A5B89299EC09650AEAD8210F7AC1858ED0711E50E0EF6EF +D917EE28E980A062580B9FA11ECF82E0A16DB051E930FA7ECCA082ACB5CB8542 +AE65A90DA4E4EE222D4B369FC3919EE24B8CB02E12CFFC2AF1BD174BB1E4EFD2 +9ABDCA377484BE281D4412B860BD929B1F9A515FAE8AB259EB719E1F850331D5 +0EF2E7C281D7B7B4EDA6757BBFABA93EFAB83803A78F22D80EDA1C25201B9F8B +0F4C80FD9ED2073D21FF50B841774BC20AAD8F84CC2B509E9D70AA5F53D932C7 +1EA76AC75EE6B681AB6A4134BEA5C8986EF4AB4C97092A1D17169AE6FABF3A46 +11BF6D56A1F0B72D203A7C5FF3017508DF9821E563EF0DAA18A96E78E95F2D64 +DF693B5E51D15A9B58023B012956E4B83456C246AA84F284B5F4E57BFFFE3002 +DD98969A0D6C120A6621BD68991FD5593F3197223C9BCF490BC01C7FEB8A6BF1 +82467ACFE3B05FE61A64BF5DDA8492C5DC2E76D6E4580021301BFEA3CDA3FDE4 +A4BD2124C4F11DD771EFB1ED519E2252A8110547FD775353EA0A701A10570D63 +FA6FAE3C75627720146C67EE26A369D66FCE75148C516079A8DD6A1D6984C65E +12F2561D2B6A1C79BB3D11F2E85043560FF3ED1C64D62E796ABAD51FA0CA8E19 +2532476CD8EA1F5AF507CB853A32E8C1FE284659D3409002CAE1C90459BD2209 +3A222AF420A9AD8BE54DCF5364857EA20DB515C86F99D9F39C0C4E36878A218B +BA826D0881E6FB959DCBA34B5F5BEA5D456CEA78660C06E7682033B4376512D8 +5F65AD30E430DCA0C4A3C7A579B470A9E340A6985189FF8B6AF914A6B0ECF869 +99E8D38E95145F61A7C343605A2CE164FE263401D468D1E19C06F9E6851A64BE +C3F7869EE3181CE8AA1E1BD06DFD1D671C08E1E75F7795C33E885EDDC5A75360 +3297A894F5308780C78C427E8E051B99E95D205AD9D649606A904300CF179607 +A73EEFC602B26191B61BEC3EAE13C720B0CAF9C20C967E0EEB1C7C304449084A +11FD353EAD79429321A8F96E2E1F02AD70E2FDBEEE625BB7435BF7BFF995DC20 +E067EE6B3F7DFE0ABCEA24D63DBB3B266EC37BD89C5CF33F50F0BAF05732C17F +FB56DB5FA6FB1C22AC891A13A81C3D479855407B719AC4CFD53E32034252A18A +DD5626450A2914B9892E0147A245EE08401808D1BEA397E35C7F91ACC5982763 +EFA34A171A42891DEF931EBBFD8FEEC4E60F4D0691654349BB1B586B1ABEBD24 +0FB7E694DCFE132CC1F6E0EAE7BB26824CCDB9AFE856783857077CCD79A9DE2B +73A934084B0429E177EC6DFC9CFBED73EBD70DE13443F8CD56E8D3510D397B24 +39AB8E8E2C82F96700D866AD30BB0427BE89D480BFF5A0044C3BCE04556B6A6F +524CDA3E22965E2FA5A875AC7E5F142C781072CFAF2D3371632319B253DBB32A +718CBEBB427E01E60CCE30B0F2B691E3A8C1DD510CAEF4852A67033816D6BB0C +B3B1B5A5C3D0DCB573C959BD86A8715B00D1495B99CBA96ABA9147ECEF29D69B +D3081301ADCBADBC2933C1D0DAC1035A5A6B41BE612088E211EBD9E779009AAB +A3309476E9AC9103B3B7F0FF5CF8D48214AF3F36DF5FD7E3659796103F5B013D +89DC6BB3966D42FB35256D93962CEBB584381E580898746A333BF92ED09E8201 +2484AF7649C3FA87A3AE44D93FB7A0D1A41FF503119DC1D91DC405030D93365A +941D51720E5CD94895B78CCDDCBCB213F2702DD37EAB12B0EBAFFE521DBCEF22 +2CAC2C775B6964AEA57F562C969C92D66E143F2A006BCD91A3BB5F43BFB1535C +CD1672FBD40A3D1B156F032E94AA7E699152CA8A979DD0407F40E90051CAE73A +64AD63E04E8EBAC26CE3FE8DDE8F6C30A2362BC44492E91BFC10A5D5010758C6 +BEB975610A063D6DEE014BC3CCB9D463C6CE5579B4A0FB0E228A23BFBD557191 +686829FDF3DD6C73C55A1E990A07F8B008FCFEF55C2C4517D420CDFB43CD103E +D7A1B9C2E885C88F882E29F7545AD93625C5D2D7209315F9E358DC4BEB66160A +8FA01A823CFE0F9AF5A1E173349F287CBDAA4BBB6CDD4D9FB786B8DAB677BC1A +E4BBD043BA99CF39FDA56C856E0A28222A420EC9F149FD6A55F1A51A895E2858 +85972113C6702D1FDF88FA9735C944C04B919B7BB6A60DD4DDFC4138BADFA0C6 +E2C7FAE2B6477320DAF01FC329D22DDAB86A96DCEE3CBFD5DB2D469ECBDD4D11 +C29B962A65F8E3C73D66DCCF26D4DFBE5464B96C81A85C09163A6B5046F27B4E +039CFB556F43AEDEA439FBF139A16A55342EEE53E944D47992413B4D7D1EB9E0 +3780803A4FF311D78C4FE8540110BAE01E67A6F35ADBD95933B9929DB4DE28AA +D40AFFA292D1BA24E033458D3727ED4B961BF04CABD121E0B7682D0FB7097EC5 +DD812DC7AE3950B73A9166D375AB3D8F141B95F3251B6DABD584F17C7524786A +C1515F8DD5FC1640FCB2723544574BE6FE1505687BC3BC3A5BBEC50DF592E162 +946CDD5354700714659BE1E1119A07AE61797E86542E15D9A43C1B3AB84ACCE6 +EC12953861CD892B5DE3777908625E1A91DDE6077E98045B0584DB93E58BCB9B +E047B377F3A50872C1EBA2304FDD042C1D1AE7D3E07FA1D5584AC1051A3CA7F3 +4164660413E66E1FB5B051B7D6BAF6591C2B0912B5D9486B5C8F6CD5238CB94A +0C807F4BA98314759EE22D9F51DAEDF5873816653E5215E436CFC0C50B531653 +49CA83A68837067805FAB4B56970CD156EC61D17524DC09852F5B47B4FBF8156 +B78ABC9E6FC08892A24B28FF68957942DB5BD93FB36D52A5B2708D4DF27C14E2 +CDEE9BEE0507016F7651418558D452E7313749445764886D46FD31A07B390F3C +E60CCD246ED0E1CAD5509683F30843D1331FE27588D083CF577A6BEBD379D13D +5C4238EE4FF7811FD69BC4C78D51F0A7E2578EA61424F26F44A44A50D3E481E9 +74C31F1A8A7C9993B44C78892985C063B7700EFFAFBF71BEC6112447E98EC55B +DA4775EBF5BC24A892B0E55396D3BB6E8B7E28A1ED57CB36EC875339EB25DADA +A0E1A671E9ECD67D82340086FC36FAA3B8FADF3BA47E66E3B89327F889B0177E +6DC6B89FD204E5235E57CC6849A365F9AB482427E36BB6C87F39D0505579B2D0 +FF4DA9D4AA971DBC5A070A96D7EA238A39BCABCE3A344BA4B9BE1FD2FC5D972E +117BA5B6802B119B88B06E588651F5BFFAC431F0713DFD2C68CB4E6F0E2497DC +98C64AD1B5758927CDB6327E76A8D8C8454C7E9ABCDA29CC095BC98810F43B98 +66180F9D58D0497793CD79087D9F2E239BF77FCCB5ABDC0569B8D6D5611FB2E9 +ADFC46860BE8BF278B612A84F1B4B0FEDADF4E23A07F6C0E1387DD54F5C8BD07 +1C4E994575BA9C7A580D605929D6D790A340847DD751CF51F1457EC029FB2DA7 +C9803DD7A0DD88F0C6F1CD390F5DB88FC29D1328CCB4CE026622460A1EFD5A50 +F83C296A616481A16770B47D01CEA50E0D6555854323FE00320EE80A3119D35D +09615E225407058E642B3F3829CF75DF156C2DAA676AF73508E9704D6E01E3FC +943AA32D2E5C8BC49A385600773A0ACAE6D25FAA0A36D430519C2A613FCE5FD8 +DC1A188FE10A825C38395E5CBDCED6A7D376AD65614619A4EE1A5CA99AD4D51F +F975CD8ADBE47F6AB56C0BEB70F7261093F8A8E52BAA1E6DDBDBBB387CAE5403 +0476164D7B4054DD4FED1E8DB315795037F147ACA3D2D8E45BBB76C8EC67F713 +2885ED7689F4D0D4F5A7B12158B6CA9944962E09541FBB7A00956D1ACA7D8C23 +5652C6036D3FAB60D3E81A470BDDC46AA93CB8B89B768BA135986D70C6D02EBA +1FD4BF2EC6DCCB7B5F7ABCBA1F855E8A3A8F913D84D86273C5839A1220D9B2CC +A344FF3204E873FFCFEEE3F93284581CD708A692D0F738EBC0A49268020D41EA +A7F6C1A9B682B344B7DC94AAEDADFEC83E367894076F16EA2A629E87A1AF908C +49FC0FCBC63943DB00FE7A2187D2562E08382F94973EE4F7F6CB9038A00259A9 +ADBDD053FFE120C493DFF9FD4972DAE07A8CB577319C3433A852EB0B3E5A1B05 +28FA9F8BCF9EB3E0BF612A2097BB921884273804403A19B6A3A946C63191445A +0C143F7D89F5A7906D76138611002FE7E92828BB840F2A87F5A4D9DE2BF18489 +8D2E790305F97BFFD2E34C6FEA7C1D4EAD89507E04EFB96476A3B4A2511E2109 +77B6A97267F4C63D4093BEA8A34B315CEE932B40ABC9FEE76C57B6AA7F5B3BF9 +B315C9C46AA3B83C633E460DE4079A8BC565D2CEB7E3B896593D720DBF66CDB2 +684E8B31554F4EA2D4B57ED13A8A07C06F3A5AA580306734680D4DE107CCC21D +CE943E8B785DF3D782CC5EA81B9223C03818954DBD2C212D2C708E9C9661587C +8EA6D23DB9645BE24281BDC1FD61013AB7602079B3C763CEF4C3521960E5FB11 +FDD2174E1F9269DF8A84A1E7B30B6DB0E7444C6CDC7C6263B93715BDEFB35439 +8CAF586AA23B46EADCFA06318AAEAF9C26338369F6829987C0FB83953632A0F0 +8DC7B007337B680C9E0CF3E5440B37DFEDCAB7DA43267DA860345F4E5EE1A0E9 +9E8AB406FB94F1A668374A2272E6511BD0987B6E4A1FBAD528ADB4433BCDB078 +59B61CE89F8184AD6842FF56F27AA97073B3EC21845B235B64B1A23A802278ED +6635F3A42DEEE11D4769FE469301F9501BD996B8DD12FA1DE3618681CAA89E2B +67B424A262AE0E744AE5D60CD3A8379888E6847DF0344B61FDB2572E1DD4EE78 +D24DACF418B6AC1E4520E251A16C74018DA28222985FAED74687C2027300424A +97A392D8180E8013E922561CB95A6CCA15257938562B2203565F59EF517018D5 +C5CE419AEBE72FABF48DA20F1AD234E29CEF890F413F8D6DDC59C6DA3DB906DC +0E85E4F8D133208269330C24A4E0B3CB2FD7302A3EFF9E93534A6EF3A9B3D6D1 +70AF9B1F33A0377B8306B8463247F1E5412905D67A473BCBE4830AB55944F07D +E38907B58D17AC3FFB1027D141234E6CA6A30546260103133D05A388B0D91A7C +F33A7B5905412A63F288F85645B0DE47D1FF03B245E6D36223AB972791081FE5 +9397EF9D69415C6A4088D89AB8A2F81D9A9D3BAA712A0A56D9636B62813B81A1 +8E183D32A58D3C67AD87A413F6D9746B6BCFE2EA15B6A0E6DA6D26A37041D7DC +B8DA4571C709A9B2FC14ECF61496B5A04CC340DB897299C8D313270378D817B9 +892CFD36DE08A63AB714709C14EB85869A09552C199E3FABA32A4C5D3EF840B9 +639CB10B78508923FB4AF9CDB906C72AACDAAF2CF94A6DFE0713DB9B8CBDC0D1 +46C603AF99C30A5438CFA2F9D3270AD44DC4EB4988B9CDA3335634B8F7DCF916 +6B6CACB6D328D5AC5A070CC1EB3C8221173ECB2A2DBDBCE57EFF45E30DEB3091 +C42F7AC301DFE5EEAD68F99F8E35E5A8BA66C0F8D4A12FE6896505879EB480EB +559729BAFB508171FD33CD22FA7701FFA3E89936B8E7ECB5B20EBAC9B6FBC076 +C3056A22F8DE627B86AA9032575B2891FE7BB08E2B6EF58B741F6458E2618422 +8ACBA46F5DDF43D3CA439B4506CCFE90F24F8FD3A7C08ECDD2D12DC0BC5DF243 +3F9D5D1004E5B7FFF5B51BA78335CFAFB9E1AB382D2E56E5EFFB1B3DB781B525 +D76EE0D2C62329A19C7084F6844963608ED2BD587D35E995E273148590FBB65F +18CAB4A1A3A66A05004D2D3C68667D61D91219C131EE556BCC9C4374EA6B2CC9 +D46DB9A1F80A7662D4F231FD969C7AD4DAACB1EC98EBEA7E35C53DF6B0138A28 +4A29A37284134AB99755852C14281E8DA94598691F774407905226AC4AA63AFB +215329F858FD194A85A9C6F9FD68182F7348F5F6823C509D38539CEA7AE03F6F +7368F422D979AD3B768B7F6B8C3381BF4903A735B7746BB6812FE53AC7F90219 +48AC9FB8410A3DE22E0A01E367C524702A8F0CB05C2A504B014DCE8D922CA473 +ADFBFF85285CFE48EFF5C559ED8F7F8B7866E6D3AB07968275204BB347F7015B +37BE323E2DD2566059ECBFE65551927772803D96B3817848C9EC8D98FD54FA95 +EF36B456B0FA852538DEFA7234E0CF214C9C7494568BA189D2EBA4FBDB82C06A +AEBA407F1E7BB6D8AFFDC6C6849C9019819639E9CD00753BA5417368085E864B +29147A2253EBDEF475BD7A8CE7124D1C97A638B4620E485A996CC84306CDD2D6 +B4B54F07685D86F7A7BB423D1A7C21531E2C5151279BFF187E1FD15B8FB58275 +287714443015F3694580C475723709CE19B2B72268C40F772CFA2CD7A598A024 +222D41328DAD7B22B0C55EB698ADDBB0F8ED15C971AEF113C74D62D2904F3C5C +0D1D4B4F510F70351551583A0E4944DEE03BD513E6E1B82614FA1BA15276039A +09CE60CDB0103FE88580D8518F86D5368897BB038CF07FC21678FCBD3E13D037 +6CEDD099A0F9CF438E5DBCFF3FF93592A4D22D6B173BCDA83B45C36FD67DCB66 +F7FDDC8C9FA22A0DC3112E78036AD4A44F4A0A6906EDCE2DF801513DA89A38A4 +C935C8D025AB5C1D66866465AD9DFD2D25D7026D8483CADDD891B2A95767D181 +42144D77BAB2ED0A4447580C3A67A908C1D6B8CA4A70F9961A02B350A76F697E +285BFA294490E066EC82C0BA3D2AF8649CE5AADCD3CC336BC012FD2C4D07E10D +F0E9641DBB70577AE828DD3CAE98FA9E1A74F5D3932E15D629638EDE89741C64 +AB1DFFDAD7476498A1CBD0C64D459276BF2D8F25F13137C7F1CC459CB3B498F1 +49CFB1A8C60E56234CFD61340010CE1C184163D20E4AB39F9188EC6821B09BD0 +66FF5C0D2087231C4858B9DE5039CE4A1534233A0FBEC8AE57A7597F604B5C36 +465B70DB907B2A19150135B79C455291553EFA10D2AA6F638F184A66D911FDA9 +633767CC89A787F82D8BDC14ECC847E706C508835CB5ACF60BA71FF3419336AA +668E13B6C0EDB1A574BB7925D7A941014B105752CFDE450532BCC7D0902E5F8B +A2960305836E8B4BFB953AED79A3B7FDDBC9F587FA9AD60FF1DD01D820488450 +336225C141A9F47D149B38A0D7E4E4342CFDD22C780278D973C81EC52CA2782B +418578622E6A3313CB79B6746E856EDDAD386892C857A51A8D59DE97F8A01E89 +0DA5008479343C1D658E1B06DCA548D41AC58850911D4D3A68BFC49EA3A94D97 +F417492DAA7D861E3890863A249FCF4E88F59095B358F252BB5005EE6F47DE5D +892813AF0BA074FAFFE0BF35ADBFCF366596F5E3DC4BEC30136B8BBA284B8CA6 +C17AFD41A10B04A6B12B744AEB2A91C1D8993B422C56A2C2166A0E4EE6272EC1 +F39BB7E05C36CD0DE61B3D77DFD7561D55C9E03EBB587B340A358A65ADDBE9E8 +552EC9ABBC0323617AFE301047C9646BA848529E3D9614FA1DD1D68FAFF1AF62 +A48B92A023EC0FDA8B73C48F069545B188B00469201930BE3BAA9104DFEA7D36 +3CCC1E571326B7A7A5FE7216BCE081EF42F0846374B50FFF96215293EDC8320D +DD37D9C6D844D85BB710E508ABD1E4822A938FF436B01AB54EE1CE32BA926E34 +A8F8C31A75DEF46A74AC94A09D60E190C548172D2E1D8F21295A29F4BE0CBB44 +5E9DC99DE3BF32B95CA40F19FE0EEEAC83D083189F38A0A6C8F8F7A097889999 +67CF3BC505F1234CA710AEEE4E7A6AA128E365EC9C9B48CA6D6D9C5DB887330F +3CF3E6698EE25EF3C6D9BF8BC7619F7250204F12A0313F667360FF48673C8AF8 +EC7D3A808EEFEB8600E35CA1F3D3EE2B04DC4CBE12FC99DA94FB2648B84433B4 +B27DE9E8127325C87E3842D1ED01722E83609866F7751273DC120969CAAF54CD +5F89FD89D153C58F0D60B4B447627DB6DD020C5B28A5F5867F1D07E70480CDC5 +E134C9717D85D4C4E2E941026C25847C739B6EEAD71E6EB2C34E8AE8162B8FB4 +D09237C2396A5A7BD8631FB6ADC8C51CC2CF1FB9573924D8613BE48CC4826515 +D0226CC3757CF9FAD6765476339E4E87983023D5A21A2942F0C5AADA19797B2A +3AAC758995A7355F79D06964067CD00454EA2E91D9940D8CA147C1035893E2D1 +C6AD44491A7EFD530C5B437E27E5E435083606FC3B43F0240E006045A1D6ED04 +51C01DCC92B8A4010A5FB94633C8EA92916A5471C3ED727BE7E559B6E54B0C7A +64D4A2C86BEC7DD1F21A7676678D879ED994F9220B23631D60DD4F01749C944D +B5C206999107D67FF7C8989C512DA066D6DC62024C5C0694D0F15976CFF33899 +E6EC7F3B3E52F6644D44C0B5F7B1FF17874AA7CC620939F3BA8AA5ABC54778EC +FDAD510D721956F7200EAE8F93ED95AE429D7CCAA4497E56A90079CA7DA18D25 +F3681DD0131C46E14DC6055FA7FF5F8BF26006164709596C0E78321C9CB5060A +E6AAD011C03BFC4D497466C7F09105A287FB8C8D308155722F983D6B19A9B435 +B32E268C5C50DA95EF3F0F93CED893FDECF3CB07A25182E3F9AA50DD12801DD2 +9A7E27EFA2F26A639CF1C441BFA42B5EB6D2DC10C1B440B5B316FA8F6565B7C7 +220F23282E63CE45DF7361876A760A4D5A7D58A469526B3F99463EC5DA4EABBF +EBE23FAAC12BA68C2622BA308B7885B6F0D4D325D8F2CF7D6A8E7FFE556472E7 +DEB80450CC3D3CC3A173A7346B4A33C99BBA62EE86C30D08FACC67BA4BEDF859 +2C876A83CF48E4A2F7E92558E57B0A58D7F9E14B1DABCDA48C539701A25DB30E +22B0EE39F3B583825D1B428F0698672E8720A77B1E74ABF75AAB509C361AE04D +572FB04D48E69939FDF48DF49CBE4C7BF0F59F7E0D39884C8625CB19AC00356E +030FFD1FEABB6DE8214D8C12C157E9272C09D25038F29F5128D4644B4DF29BD5 +A8404282D7AF68279457739633DB5CBBA6E33F8011CD6EBF9453B2F632E36A15 +B373FF3FAE535328C580548DB7D37F18CA0AEEC4C4A57FC7997D3EC9C309D024 +68376FE7063FFFFEB8C51B57F75ECFE7238BDE6C637F6609D033D80A82CC481E +AD70AADE0E2676CAC466E07401BFD2FC1051E592D42311903407023C9720B782 +8207265AA60FD4998773A095A03EC1FDBE3250BCD22AF967CD40D03EF76649A6 +AC929DCD3FF06B9FBF62FB139A192C6D351853990FD81536DBBEE2ADCC6EA159 +97715D3EECA9329513ECA625CC1C5FC3AFB291A6B75A593939D1CC1A7DD25006 +5F3ECA5C4583845A6E0F89C9EDC01793D8CDFC66887FF3C563185662EEE213EC +8671211A732A32D92BD20A3E2112F44701EB6466C1DE8DF646DE1EC2E4FB1687 +A50867043566AC7938C812D690765D2163DFE6C3F4EC3510619779B08A737545 +2187D66B2A4445B4EF5FDF14155487DC65939F04DF25603E4E215533B6445008 +F1D4D2C9D54B1BCD10DD7958F06FC41A77CEA6A6E905277DAFB8BC1543CC1E8E +B8BDB43518BC2CD6033E3E4219E0EF172C72ADE99EA91ED60447A31981FE999D +79D906CCE3DD6D2642911FB5137597F9697B34F914DB5A8CE52E360EFB5E0ECF +810FFBA9BDE380B680E5F0D1B28ABA82980EAAC6131940026E3C2297E197FB8D +BD23E278CFCD460AA15777BFBE815955AEB9C37A06902CE60B8F95A399DFD3C6 +2C04AAB48F6BD8C8BD63D8461CD450695EA35917AA672E6D9215D742F7206D3F +2AB56F755DFB3BE539628048029307D8249FEAAB72F6E1CDD2F82FEF089A4789 +357324B3FD9B04D3B5FAD58C121FA3FDF2438217BA5121CC668458620DB3D381 +D567701C541CD15A0EBF2C8F288214125072AE15C467502382EAE4FFEBF2CC78 +49276A1AAA5F1598EC7A9A573A79CCD67EFBCD712EC46352ED1B976706A6AE56 +0AD6A82C3B0FF9775DF836C1C62F7C09A0AB81C8E8D447D5FF7EA0CE2999B8C4 +E12D9F9E97E5DBAA2871665E9B2C0C88320E31FA512BB3B7862EAE8E10393D19 +87095FCA5160EB07BA729B82A625B0F2987083E1BEC613BCCB763A23259813F2 +349BF23EBFD6F7D9D4618054064D0A6D0235ED4CFF9EF00F910ECD8C5D6D3D39 +4304194538BD8434FB04A2D68E969FB1F684291242494E52311C02C8A34C0A5B +398AD835221447A44807B5D89D0FE464663AF7A14D554D608E26E1676A8CC9AA +4B720B9068649C2FBC1FA4ED5AC2569E58941EC067EC4C03A2F8D4D19690C2AF +C60B60C0998C1290727A9E2960C608C0E9A1EE967B95EFB81109F7F3371CC1F3 +3591F2A81E947884D1E3DD1A8970E40EFF0AF48A56ABD34136479D929405FE67 +FE24FDF7FAB748F7712C064081A7EC21FD1F6781D44DC2D138829A9D3D0EDA0F +4F7211B5B5CC0A348F325F3E45531782248134362CA0C6A066ABEA6C1D3B8F40 +238DE24F302A6788013C8ABDCA62FA6E2F80DE35A2338CD8D5C4A23FE31C9E7A +09327BEB82BEC7BB8F1C1D8540FA065E4DE025161426C498D274ADC1D97A1035 +30EFB969DD821150DEEBCCB618A61188C03BAC8D65BB79B73DF988E4DF9D7A5B +294747AC9860D99A71E821D8F966478C97F5D32E66ACEFF7022D08BA44B97EBA +36863832373E5D5C3D5479812487F80F4DEE34DCE95E75ABA3A85139790DAC99 +266AFAE54A5D3FD3AB69E247AC2F1758689851A9537B1EB428255F11CFFB5B12 +FD40B33BDD959EAAA11CB03A69FA324CA6EEEEE7B4FA88BA66620BB08F65A08B +F76FEA69E8793F1C76C3A2577467242CC0BA47B411DF2A9CEB0512DE5D58BA93 +34E274E26C9B301BAAEE8A0237BD685B6A9BB3489FBF70088277714B8AE8CA8C +2BE32600C30A587EE5AE0B439EFC837C99B422FCEF96B5C7F91CD91D0FDFDF3F +6E03A90ED01EDD1A46782159CD55630127CAB4C9249E4FF166644F70925D7FBA +D1F5BEB2A178DBD6CB21E1D3D968967A1447E5C9D5156F2043E9B57232CD51B5 +2BE00F21532431D428B1076EF38DF09636DDF33F771DC0346FB0B2BE60F45ADB +075D21522955F05658E23FE5F40AC5A42258DC11796E8F834E7FCC4C523CE5DE +A7918073D89DA1A5EF78FCD1F235F32A62F24152014C0250B12E20239252CADD +4C97377315695C92C8F66FFCC77B2D7410BD44BAB276A22A7F706EA676E3B326 +8EEC5A38478C0F43CE39C9A9EB8F8FA55020FEB0FDA41F43DB0FE6EC50B444E7 +BE8F8EEAA651DCCEC032C7FD8C0B1EFEB789F812D0565F4BC740AEF26EFE447E +2C65DF37FCD49CE071C3737E44B9E00D437F3DDCFAF43196A7389BC28711ABCC +CB06EB5A36E90C1F95286B0C5DB893173A5780E71276C60EAB7E25C124964778 +296D06C85D109F58C78C3514CF2FB460C3623CA94748172F64695E5EFC356991 +1E100A036EF590EE09FFD84314D9394BFAA9FB9D679B921F0616F272F26E0BDB +8D5F6FA9E78387F3C3D217AB69A6E25B87D4414045A3317968C12BF719C4E2A2 +1F09F3A1B09E7962FA39BA2114DE79D2D8C304D53F1A0044B5A38537EA95461E +EA1A3CC7BC94693DEEC359CFCCD4D9D8EA663BB0FCA9AF7097C51628150B52F8 +2CD1C5811F86578F44E5BEB7F997758232B7EFE00D1CD51EE1D8B35EC2E6B2BB +0314FD0E2835FB97FF4E6A195041696C183D62872AA2923D802D94278A2835C9 +1E1AD8E481CFAB40DBAB63E602D113C81A461ED958FCE4B697269BF4593E30CF +027EF28C6B0553B63380AB39B9EFF0CC8AC64DAD8AB403005A838C298F8762C2 +E5F97D8A902C209BFF0F7D37498A6E2F8AC2E4CE7FF33F6FC55C5C21638900C3 +AF88825D444E3C0B1C0983B448D4C21544A1EABF0254FBF5D937372278CD8942 +5AC6A92C36E145DD1BE65EBB4F6F2AC454F58EDCC6B7AB68072FB6209F540767 +0A26DB1F7F5D67C4D22790BCD0F1E86976698115A2DEBF8CDAAF3BBEDB05DE5B +CB73C7BDB049F2D9AFFF0D1623C49F3A52C4EDA18B7B6BE5C494D3BF1A8022EB +E619598C6FB61C68169211790027B87A0F02EEEFC6A7FECBAAB4B15C12C70309 +D5E26382850017B448059DD5A6892643F78B7CD6D91DE5FD6796E198D7C30530 +73445ADC0F6EA36C6DA9CBD276DC4FAACAD5A172C123F51BA75F725249C5FD6F +D166C835E1CE79E47B2F76729AA8A46B6A7C759B64D7CFBDD25F22AA73784987 +728DA53B5D5FCE9161F188077CC0963A83396A250BA7A270371D5466B8FF9402 +9D622FF29E2C8B4244E4E16E85C9D0C4166E42246934DD00C08EF218B03254F3 +561F5E3E41DB2B2DB1BCD88F7FDE6F59961B6BE0AB7233364524268F6FC80A05 +E2CAD6D430204F12EE6C72352173DCD3C8170187CDF780CAF45A8E0C2D394A26 +B50F8BE7E44415CCEA5FE4C0CF761E921D7D2992EB24625547D3E5AACE78232A +361060B3AA3D532005EBE263002D398265C8AE6C99D80E14D8E02C1D3C4CD54D +CCA57CA4B5378B538D66103E6455B244B9BF9C400BC802A021411BFADAB77A90 +9E2842E0AC5D9D07D01A4BABBDE2AC70FE5265D00BF27D33F234424570C58327 +093E1BBFCA3FB51909984D98AF0C5B1C80F749FD6237A23144481761D0CAD86A +455B580A4BBE440839A54B385C9E4571C466AF1AA688CDBC0A6BFF8EF29877FA +13D418CAED879EBB382DA7F8B23C07EDE4EA5BEC2AA85224F7C29A671F032192 +B962B51E71CE4F9FA406446C3F30BDB2FCE712EB0B9A379645BDF78DA0213499 +02332707106BBB5D307960E9735ED5A2215F25778D228E428BBFDE658A8BAFF9 +2184EC4F491A182F4ECDED721EE35E33C0B69B8068D5D3E49D52BF0708D97515 +CB6CF112C2A89D2D44816E907410DDAEF58665A2B2A2399C57BE1BA0D45CDD15 +1E01EA0DF20D458F5319E19372F8A8F5DFE7CEA77826A5D0246EE9FC5A348681 +AA246047CA29CA6B442FEADE254C7587D4E7EEF44A34F5404C7F799FC22BD819 +7B11E1B0AAD491AF467D96C2EFA24E139633A0AFA816EC666651DB44341E7283 +CACA75B3E1991251AF9DDBCEC84F40FBD93CC8D361A136876F2FB93A5BDDCDE8 +08C7E66BE894C84600096B30AF73CA72C9EB2C7F36E27D00D4347DFBB8BF2E8A +23CC9AD1A901D6705C0B8ED3F0313696F1B71E644AC44EB4F81E8848CB5D53D7 +6AAE7582AA3AE49DF09617B21ED1D5903D85F35CBF7640218CBB724E745DA73B +4C8B5730D1EE3D88940F645CC893A8ABF5E1A2260C9BEB2E919298D7E8EC3D47 +A1B7110B8BE409368684A13A7C9ED9F62493B0CB7FEAFC9BAF90B7025D2E35EC +C22DA1F2904196A398C3FED62118BDA046C0DE4BFF9AA2F9772605D04C031216 +BABBF999D8532747C9160EE28352DCB95131565720F61FF5AC827C2A08537531 +3DCF0514149B7EF38084D649289E4600F5A67256788F406EFD37B13654F84888 +CA17948C9FB31CF86E555B4815AA6C858DBCECF2CB5C7C49D40D8F7CF28DC096 +0B055900D32516B39FEB7B66B0473396CC9E439029D8912AD08CC15B657490DB +00FB53FCFBA5AAD92F9492013D09D9DB48ED299C49744D7F48C9E39E6A99ADE7 +AE908D2D4339EF98819CC2F3E4EF7005FAA7AF98AFDF7500359B651D485FD03F +069395B41D5BB131FCDAFB5CB678DA317AA3082F03FCCADA7CA565352D8CA24A +715AD961790D552E9D7685497ACC5DE6C22DF58627399F63ECFF4FE661FD5B57 +F1F992CD5354D18730FCD42C30B95AA1BB44B6BDCB3F66C3CE2347CFF75FBA92 +ABD47A5E71EC269E52AF42C4CCBEBBB94A5BC3C2CA0CB73CC17E930B62C13466 +DEEE44B3F89EBF770924801E0E333EE9568673B2F52D1D58BCF447C5B61E5F66 +6815162CF27B89A4D29FE3251AC5830FDBC20927EECF2B3508E2EC1CA419B691 +A2784BDCB4504EF0AC1C00D5E1D21A7DFAEEAEFA9F72D5A603ED89EBB990D4AA +98F4A3FDCCF881D82CC875B1AAF3E7D136D5F64A21F7629A735214279CF668B9 +F5C990DE3196B84BE792F51E17583FD2C63BDCB47B5C404D62BF45C7F684E59B +9AA6628DE75F6388B109278BCECF4B659DBABB4AC20EB75E7EF41A4D598A439B +C8E1F55749C832D6FE26E1653DD01511DD562B227AE02B2539F6DACD88AD99A2 +B686FBEC34A6F9EAD22D41732EC66D4BB0A88B525B2DA2E5894BB6597DE4F24F +D96A27DC8A782878684E7FFA7C6EA84F44E072E2D1DCDF2C7817E9E1BF3011EE +34B5A69B095A883AEF275CE677BEC2F1F03C8B055DBFF479AFCAA7FFA8BBCA0C +BF20EE6A72E0B19837156D85598CAB7147F61DBDB7B4064C0266F3CB9021235E +56922D3FDE6C0328F4351CB09EB08DFD8593B1F549F66E4CDDAB90460EF5591E +E20CD2BF7A9DFEF4B00101DE772079478DBE76790278EEA746DFCE6559CD37C5 +479B0824B87C47EA56CF5C7FD74B5E4EF480988AA30EAC8CD07D10E5195C253F +2338CDFCE1F3CB0E7863E79AA792B335CB8D729023F4F605D78E5DA833999F9D +8865568D6D6F6F2E67F0A7174C707B8F0B73F975B17BBFB0CF89739AB0426E9A +F0F22D738C719920C770B166E1A5550FF046C82F37F0609209271F4CD93EDEEE +9F560561E5BB3B5FE9543C0C259B642DBA92F0A46A49DA660CEC3E7099B2CD07 +B8AAD1F5A167DAEE9FFB7959B5AB14698FB6BA165191DD7EF61055DD54C1DFC3 +E44012F8821FCF8039040F4DD94813A3403894775B2DF1F871924CE2C0479EA8 +C8C3375048C1A49CA02B5877B53747D33126D4E427FD7ABAFE5A706DC951E1C3 +12D6188D585FFA65F1B9EC81442B2266DC64586B2D41C54C50D263F6BE4E8478 +28EF874F28F29DD37974C072F84DC47B5496C03BF3DDFA1BF32D8F4B0815CE63 +E3B442ABB2794D20E516EF5F2D36C499301E82650E7E52BD3AD604072B3A0852 +AC1B0E36160BC30D7D79C90259D2E5453816A0AA0C07BB645BF6A308A869CF1E +87865BB4BD765AEB0C8459127B13F28AC3F8ADF10535E3C1C1748F8BFF336C2F +828328C0294940C433C92CE278185427F68098FB5941E03892943BD41ECACE4E +2E123AC89F962ED29973CE26568F78981B480F688646A5C8C563B8FAABC7414E +3E8B5854442C5FB9B7C287E2FA10D86AB5C6B078D3A83B5BDAD51725CE38479A +8CA61A5985F7D9A1C38C9617A4CEF30634C7107FF9847C634E68611C1C54AB15 +29C116D193A3BC7B6EC649B9923A92343BFEB7CC1F7D7EC4EC2DF9FF5831F242 +B8B5A0FB902F9B2355F42B53DF1DD94D3A6457369A57F0B9ECE37C79DEF7342F +870279979EB7850AB4020DE478A1737A36870CCB24CCCED271FD5F7B547B77F8 +1BAD985C73B05A79D3C8661A9E8E68C0468667C02B9DAB14A4120648C8937FA1 +BACEED127806EA9D61F8465CA31D883BC8D9BC6BBB5ACD78AE44AD97C493B6A7 +5D7BD09FFFB75ECD79644D1E630C968ECF06D7ED2A82BA4DC9CE787D2F09401C +79F1D5C66569028381FEDD8889F3BD611F8CC596F700150BDC4D233F105F079E +E6DBBABD310247B9BED3277F15D4F8BAC0544715156A99395CC93B6189189FDF +D3AB62C75EB26ED50908B89BA75466127A0DB5F4A5A1D91B228143A49D0E9976 +1E066F7FCA3E57C46F3F924AD3D83219C465A187E7C0F083740C18191F515E47 +FDD5BAFB1ACF90DAC3704166CD3DD128179D7720635059049FC2FE518793014A +D5E004FC3414502FD8BC997C6B5AB50B0F6062CD391CECA3DEBEB081964C6150 +ABBD5B3A4B88B8F21369AA59B9C795F62C5C29BB006DF099E1885CDF9DD6B876 +D38FD4EBB6F38FA41E805ABA69E62D6F82D4A44466747E846BA4365B3E03FD71 +0069E27741C44CE723969366BF8DFAE370DC04A694C5E5C3677CACB7D3ABF9D7 +C9D5BB053BA390154EC4B23F69A63BA054E109DA90DCEEB0091DD92F63279C4B +6483C249B654F1E695951C726032A58DB404A3B51AB7386DEC1D155329904388 +5CBFBFF18CBE592D192FA4ABF53BD1A28704B84939C7E339BA3F4037264F36A0 +1DFAC57E35F30F533077FDFA6DB83CBE3A67B226BFCBCD1624540A9E17FC3579 +42D126EA5B0D8048C39AB0CCEC832D418F137198942E87D4BC7ADA4DC8E73FDF +111B23918EF93CE8C1147B93A7EE8AAB6F15B42C0D0D2512D7931EBC886B0527 +17039570A75CB813B32A0D2F96C1AB2C7AFBFD69EB36665C7E12F29EC4BB75C9 +1EBF4DAA942280A326B0C4356B774DAE57D209909B8548AEB76731EE262D6846 +27DC8F839EECED8A0313F774F803A3C3D74B91EA0194689021B4AB52911C6170 +4C76571A411C06A05C51319B0B1F5603D01750BC683CD95D29E6321DA20C3D09 +2BE8CEC412D7448B318C421083026BB2002E68A7EC2AC67823AFEEA015219123 +08EE964241D8D1ABFDDAE449FE68185327170B046B27F59EF671A4C3E378E64B +4D449EFC540FF793F2F12357B7A661925440090876EFF1E89A9D4497CEEE9946 +E7B535CBAA4980A4A6CA18EF96572A03F1A79EA528049E7D123668E21339990C +BE9FD9DE57CC35175E78F1D4DBAAA13CBB93874433B04EB8D0AC3511A660F890 +19257B334B648E11C3659B24D8FA804D52164DEA4DA88D0AAE1F0B28330E00E9 +D210D7B972D494AFA5BEA06C7B86D91C9FA2FE4F84BD87FBB390B65362AD2B23 +E0ADBE4E27F6AE19EE8D7572AA6ABD408BD9C0E8653A8292AE93807490AE8F1F +598B619C5ED0F36B9D30ECB1BD00A429B1A39A6D5A637A28A1A9236744BC166B +91015CF80354A5FD2DA591F742DF0159CC8BA919398751D8E4D6F8C0C7B3D1CC +D423718AA4352155EE7C5B20A9A4C08855A1EE03A2CA61DE42D78AEF01674987 +35295CFFA3405507B7093D9CE3EB8C164A42676C4C753AFBE1C003A8E3801B59 +5AF117F9B54A53FBD5378E48DFFBC68DFC14A4E823B29DE32EA6B940596E0225 +1EEDA8600201A86F7CE1C67BDE0D385104C7C0730BEF94DF3D9BB2161F965FEA +BDD6EA2816A459C8B82D140344608E6AA9578B2CE81242B2A36DB0E19710EC27 +BBEDDD25AFFDE220C1625115D9521283139769F56B466B95CF4D412DF23AB1A9 +4600B4E36A89586CE50FC9C168281F59F45D49BE8338A8BFC707E48457134BD4 +E40FBF297E85C3F343EF97CFFBD941EF5C3B1C10287CB787EFF59E86B4A72A19 +98B936D21DE023EFEC3EAB42278DA9E391EA173B346DDDB948E7D211EB024576 +53F21CCCFBC9E1FFF4C3304223F906C325EC1CFDEF3AE91E163A19846B3BCE5D +3168251074A8B534173F947839FB3654757E4DFDCE1FC1024434D195964D1D20 +D0D4385F17600E1E43F5EA1F88493D1DAAEF40DC6A813F173B2FAC2CFF37D2FA +754CFF14256BC57F3A4929757B8FE19B61CEDD734624CEDF0FAD348095682BFF +0737C02739DB44C20B069105A287FB8C8D3084FBC681646E30ABD086CF9C09A6 +B0FEE7416646141CCF01188858FD994787FD2F1FD5B46B5FAC77CE35CF57356E +95D4090954392AF6E9F4038CE1ED6F82BB418528EC3E9BA9597ACE2FA8F5AAE9 +1606BC8FB9FE50103F0103CCC8CE5866A2B146A9A3B873938F7874C50D301871 +6E7DE31606AB2B516787BD4341B92479E72AACF9ACC43C0A5EEAEF9D3EE785E8 +63E59BFA94A109026D51F307DCABFC281CB7AD124FAD88841498F5BB3F6CEDAD +F04FE4590EB482F40362CEC29A918CCB798C30DA069C1E3F35AD6B673538755F +135C333B87D339E8C580C44EC9A7A4331DA5E3052A639AF351AD71750A793AF0 +49CDBACD75CBC6ECA33F35F17BC136551AB9E354C905FC9C5EC74726E14FA3DA +82088F2191103AD4C2D47E952C56DBC242A4E8AD0DE2514FB118396A7A9C3D50 +F45DA7B7AC84DFEEF47FDC2B9D64684E50A322FE625BC7D1AFB7A7ED9D2E31EC +9553C3EC0EE8DDC9546D4F64411F413D11D4F97437F7506D60017B4E5A7B06FF +E76B8FAAB57438215F35E66B6BC0638BEF00D6640F53F8F10E30C344664A53CD +B094413B74D18783BE6673B8F5EA4542CD4F39D0A5609F00AFA9B68B53A4058D +E7406C29AA6CD71CE5EC69F97CCF3F5D8A621A69BCC42ADF231AF58032B8A905 +FABBEB68A404961A7DBF1AB5613C04521104E0141075B747F4D4E3584D4712F4 +D39B6D5FC5E1BB8B4577EC7C6587DB9F671FAABEEBEFE1884B4E02BD2CBF5DD0 +075DDD3FF457643E9B7FA3D8A7F5A6FE5B7DA4A263813EE06ED5DB1DC80645A5 +DFBEDC32C58223FB032506BA80D412BC1371BF8A5B0B825DB940B2125C16F982 +248B4768202C789B363F4B77BB6F513F2D1CF82BE364B0469D7C5A98FD2B4B36 +2D9DDB163B01F60CFB6D04978EF48F9154286FBD511C388D8E5A1679DE7B5B44 +0C24318B21B898E18D4175AC6BE1B3456541FEB1FAEA78347962578458200466 +66AD30B65C11C377B8756144A925E5C1793CE99718EA4F30EEE3A578921580C7 +A2F06577BFFDDAF8CB59CD95FEDFB910B6371422CDD07263005CD5709DC4DB4C +7A578E3F27DF88EED64EC5AEAB6729DCDC2FF18C470C3767F14B0E835AE731BD +1CB199AA7081EBCE71ECC0A533F557AB1EC3653E23420B95476B498CCED07147 +F459F299DBB3A403B26056CCEDF294BF5042ADCDF0B0AF2F35E7B3325C9D97BC +1D32360ECFB378192605E726A3DDA7E5B78960BE89617CC9B46FBF2F7279FD6A +1A1A68C4191BBBC7830B83A62A0D2D3A7BB0659B58E3E4F021F638EAE0108AC6 +ED1F473C705AB25634F19770334684CD70084D755DE0EA0612B985AA1BB8A7F7 +09BDBA6705D80FBF0D30A38E19BE0B99F0EACAA52EC073331BABC2B016D4494B +919E49AA24CD46FC03CFA9F7FA4985EF3243D6377C8DB09782A8AED71723859A +F26AFBB736DA74068843214442B6CB1AF0CDE7B27ED2707252504B6C74D1B121 +593C161EF64D57F39DA7E5CA0A68D62BF6FC705468B2FBEDB082DBE4730B36A9 +B89006981089FFA13034B8CFFF37415CF6FB58654E826205926D24E166AA1BD7 +0D4F179DCBD9B37E0C4A117BBD21E6691069272A6AE455B139EDC65CDEB55E33 +E66A5461DE6CE070923A7263346180106CED1441166D7781D4D80C42DF15FA0C +223FEB058D8200D78A4D5A13A5294A43A57869D21A83C2C94DAC76445E612D95 +316D7B5C4F86F1DB7BD35DA951CC34EED499BA9B2A0BD76D2FE72FBCF8374E83 +32B98D6953FFDFA8A4FBC27D932CBB65408DEEBB298E1EA6E3E3EEAF3479A3FC +51887E252E8CA463340490CA6634BFA6F5B744042434F273E1C58A786564ABF1 +C6ECDA857DEF705119500FC326EFBE9E02C61D74DE137A8A0D6BBAC6FD78FA35 +974D652D776150D7BF0974F5981679567566BA4052AECB6F30ADCFD2D364E623 +338F48591719102119E94671DDBEC5D0C7C8B6147928A0CCDB842F2F84219987 +AF7B7D0A29D43472147FD04D8B9B9E40C1E604CDAAE140EAE9870B692CD09700 +5D1500BF926CBB9146855D0C7DE9ECB22525A6012729A4006203BC8A46C7A6A6 +0DA0F1647FE95F23639AF5C05AB13D5A1C28A17DDC8EFA3F3FFEDC64A46A32B0 +E9E51DCA922C9A5303228F6823D5B9BF10D3CDFF8645F0BE1E25404BF8131379 +A057266486B958F566C1B6345A9FD75F123B9D58A04D880971F6973CE66BDBDC +2FDC38E3993120E92684EDBCA030B5FE10E5D3EC16D4BDC35EC16E0A0F1C1991 +D0F3058956C0CDECCBF604E5F5FC71490ADD5DF4A0743E8296350CA438220012 +4B7C22AD75592BE8CE7D259DBFF1CF4487E0A932F474ED91EFDF386E7DB94B38 +5D93762A7A83FD2F1415C012F74E253D45C14DFEE37AA8C8698AE746147056CC +F2A0DCD7035A43FCF36671805F0BAE1E6F8B7F840771BB764DB8D1C842E89EB7 +742CFC5B2E565CFA592C54A42801A142883EBF015FA81E881D3A8A01E1FA253D +089243715F21EB9601217D77EEBB0D305A12A4E70A501393786FCDCC0A5CEB3F +C42CEA3EE91C47094617BB0EF98074CE6116ACEF6302E40AD25CDD4C780BB7B6 +AD8195784DE96BECF95B625F9BE81A434B2E6044F41E0A37951CF078F09A9616 +E5E09932E881E9AB6364E2FA747EE9A89161F93F178D7A24AB2C7783CC4F798B +2719D9BAF6807337B8BBE3F3002874511B22551808E50151C166892AA2415303 +D2ABD61EAD6A41F3F54F0E2EBBEC84C9D839CF9231D4DE942B7951DF1BA5A7D9 +809CCFB180F8017A84BA6BFC1BA5940ECA3071CFC7A49BBEB1B913570A51B2F9 +6D302EF8913C6BB60C0315DDC3B41D526D99AA5755841BA8D28860C3CC71E65E +54921FAB9ED7F964ED314D50CDC06341481153D90F4211BB8964D3312AFB9189 +8526FC628BD2AA4BE6827F36311CE0730E2148AD363D40FC75EB3F94FDF3A730 +7B1CDC5FD4B7B6E0580904A27FB07FF02D4882FEEC8C902751B664CFCFF3CC0B +052242C1533D2376DF3EE5C4D9E6CE9F3FD3A30F4F015CDE9893D5D66C804F03 +0B04DF3E63CCC959A59D93608E66A61B5B69129D74C011E17D29116942BAE47F +67EBB46550B21E66E656235F280A1EA57882058278B09BFF9FEF74B02066AA5A +0148B1C3DE08F019FC9090192F172D05BA3046172E87402DF3168B3765BCBDC4 +1758B4122E88E548D22E15A2087B61FD6EE87D4B60F6343B92F1B67E0B8B99DC +D7EBB4E08F06C1CCEE242DD9DFD4EA2DA553162A2DB3EFD07706D953C664D15B +E0E19437423672A26B560AA588C1F1CDEAF6F9797EA440F3987FBFC0689BE4C0 +407E9819FE68FC2C4FC53DB8575A607D19E71AF5CD302837BA49E58F8E0BF807 +385A4540A35CF347DAD4613F91AEE64B11F62A03FC714372E1FF727EDA4DB5C6 +87282A10D31D881F6C47B03DF8DD02C934EC6F25EBEDE4E7E701EE1DCC450CEC +A2832CEA18B2B166D045A17525FA1748F15FD5AF90B8D4563F3239990248171E +C037B8D0E4544BD0B9F026702E30198E883BA755643AB0BB89428A16AB106653 +0BA1C89585BE48BB8BDC382839AE8C789A6339F7D36DAFE163824896DC2A9F31 +39C772AB771A74EB93E3DAC78B1A952BCB3C63AD1BDB31260FB1758BAC67E142 +34D25747F1E68E0C36FB53A4A7ECBA85BAD11E560633221700A5D79FD0452BAD +2E9F25E46C51D541D23F9D2633D0ADDAF128E4E336E2BA5DB2A6B8B8195337FC +A53EE1174424C26B9F11A27299EE02E1EDA87B8C246F89A0EB22D1C6FDB17142 +AF029C3AB13D89860528B5728B7942163227EE715A2BE644EF49AD23F49087E3 +B4F7B2017CC4DAB7563CDD7BB8549B2C24B0727ED9A42949C0DB281F577FEB3F +A5D85CB3AD07FE1FCCCA6BC89C2B640350DA641882E8CF028D9AA9EEB26A165B +F75291EF6E74899AB3A9D824CE570B04A10F3045B175021256F3966F8C6973E4 +254B3E605D891686B26DCA26247A2D23E1068AA8DC7910808480E6921ABB2153 +29E8C329CD0EE5FD1938C3476C22F9DAA5081AB3221E95E5B7278B3AA17B2533 +A0F1B6CE3B19EA988238563F21B2AB6FA1AE122A3004B41BC98501FD21BEA832 +DA9F7D9260E89443A3941E74A7B6EAEF6F0AAE5F86D15292F55716550613A12A +08727F3D9A8D93A300D23554B72F830EEF021FA259BEEDB8E53DF62FC14593FB +1040C4B8000F5AD372CD4F290E84611217ECA70B2B6B818151C068CE7A4C9CDC +63226D68B6DF0E4167A1A8C656D9F4C784C1C89C0B70F7654DB9EDF8305228BA +8CC8209181E5F9EF398C700948FADE7A6E4B2335E903D3CCD64DA9C60FBFBCAA +75969712B8F49B644367248FBEF392A687C72148538F83E41AA6E52A13B5158A +C5667F8941D783611E1008B05E8F31B235ACA40C12BDD72980787CC86DE6B251 +7A10432575088796B78BB3C129F66885C49BC822603DAB6480C092C81F4C9AF8 +71A1A462A81BD4B4834041239220EFB97306A6B0B1DF3BF3AF690E1AD2E1C89A +662CD201FBEFD6DE3A2FD8163972726EEDD9A4F527AB12B9EA634D92189D2B65 +0E0B1FB2925BD613B78CEE8C67EB46729178CCCA5D312E8E0B4078AC80930080 +7CFE4BF7CAB2D45405C897B2DAF5748CC962C2E032AD6D106CAECCB7E2EFF2B4 +D90FFB8BE2F427D339D1EEBAAD58B0946C6AD5B8D1D335D2BE126B6AD9BDA8A4 +6FF9260E54AC35162AD89236BDDF5936B95A2DB43452C78FB25F02D3C223CAA4 +36E0CF740BE6D85F8F6F8631BDB1D0AC05ABE2E98F09BB22DD1B68A0A278E026 +84B907CEF368DD836DE3F8B9D043797EDC00F6DF91C9A02958EA01F55F00D570 +164575164E1697AAFCCF124AF3AEFA50A02990447C249FEC94EF94D9F2096E76 +F1C558F40812444C6F0F4DAC39A86BECFF82024F043B8A1F226BDB844639C5C1 +AAB3CC7383A85BEF5F37D69CC9C71C59A0D0F33022188CAF84326C26BF3F435E +6A6E9147BC1B68EA135225157DBAEF77E340AD3A923D8C7BCCBE3D2F962C2514 +671FBE40417C2EA0F236C7462C608A5F169BBC1FDDB8DCDDCE916D730C61CA24 +EFE8AF8F9056AC944D776AD1AB10289EF60D240F532087DBEF11B1FDB1281D97 +6A2120A6C46C22A26D8651341B0180318EA6F8F74453C82F5F25F7B5F12F8B51 +C5A80C5C7238AB883E083EA59959A3000F6100669790106065F2F956E07BB110 +F1D7FF4A5199B53909D691D0CF9CB9086D116D56152BCE329695FE8A830F5C21 +3E4499C14B7B552BDCEC37E745415462F2538DA07FCA272BE4D277E12829BC46 +E495118969616EE7776AA49801C9A84A76F6A2812AF0DEB6AAA7984479B2CDD4 +CB3D87952E5A701E0F825B35DBBF865F372CC051A9D010CFD6D02CBFF67018A5 +65B949A243A214842D16062151AAE13D9A8D6890F4E2E9F09632FDA612B34B33 +A9ABA74A55561D2C07AA0A48FA9399079C6104B24B8FA2F392F023B8A9F279B7 +DF18CD7C63EA3C15D4AF10098C3955706709BF990E9FB252D7C7806F1AA59FE7 +7425FE62C24ACF71C2701BEF1C215BB3F41BDACF4B2D094D0B4149A5E09C9015 +11F0F4FF29D43DE342018E67F6B116ECD19D0A6E00AB3917128DE2205D27D2ED +7271F16CE4826618615E56C87C30CAFCE21C74ED943A4EED0C1B3BD32479CB4E +886304D305815128532889B531170C4B10ECD0C976C18F6001A18D466E40C5FE +FE679B57DC9F4E79BE368D7C013F1C006B5BFAE924378845EFFE3E8BFF97F1B6 +024AF136572B623E3EDD7B4C069F185DE218554B7A51DDC1C0FA2E595E1EE2ED +F7BD08F2EFD59C7EA11F70FA5E66B488F2FF6A4C39417962E0DE97861AD72DEF +9AED159F92452F2792469D4BC8FF30DF62EC6EF7FF5542CE8F9921DBD3DF632A +9B2B3308C641EFC16613B8AD5D886B7BA368DEB5AE7DFBB73FD1A0039F86E848 +9003F84951D921901B7D738B10F304E91752899F9A3C1AA557285C8A9E937B47 +C02DA468E1B1405446D985B9E75A108B79353B3209C01DC47D2CA3D7E500C9BE +47338665F1538F2B21C0E5BCE6D4AF2E318F2058F294D236578CFFBE68A01267 +7CFC3848BB5760CBA1D313DC83B5E924BD35B37D5B0B305A12A4E70A50139378 +6FCDCC0A5CEB3FC42CEBE02476298D2A06C327B5710803A5212C8CDE88DB132B +45A97D18DE71422038125927A1E63836A1EC53E443C0AD70EAEDA71AD36A1E14 +22A76D86F602E1FA74D8AD1DB0D918F124929CAAF9701057B34D94BB8BC0A27D +0FD08B6C4DDD168E78817B72CDDF15B11F1F4383D669A5495EADC0D6D1559DE1 +6723BFEE1B4FBA65ABFF7C516F5C3042443E6C931F6CC6ED108E765C879314E5 +32D888A1F622AE3AD612DAD9059A3D7F3BD63827E28F17D57CE9A481B68DDE13 +F0F9671B2E7E4B03C30FD2970B441E285F741FA0C386F50D2C9FC7F252AD669B +B39A194929255FDAEFBF0B0679C941C32D841D4A55DECE2558496E6EA5991AEB +A592BABA2DB6F3D663808C2BB6B3BE5B62FEC3609DA59FB6E803A0A99CABA828 +2926A96C261ECA284FDF9EFDF3F9A86A36F79C2751E13EF76818DF4B04DDEFD8 +17355D4F877256023ADE33D6EE10BE2C79698115A2DEBF8CDAAF3BBEDB05DE5B +CB73C7BDB04AAB7F46B3F3001A3D0E8A24476C4AD49E132249D0F334797CFE7B +3C2F216F350BC6570BA60A15B635942EDA2F5B354E5E0D381F4C3F5A3DDB5381 +CFCC78F31123A59E84A773A3D8D6EB13077BABA4E019BE121E24F0B4BA11F6D5 +EE1BA38B76CD8FD94E2F8F2607FEE1B55382A62B35FA16C62D3C021BFF7D1D58 +076DF9DEE1C88F784545DE39EB9AAD915049FDDA2BA27F1274FEAA290215293D +B3556C05BBFB3BEB72E10BA808BC0FD76273E59F0822FC8F6D2CD80571E964DF +B2D573197D70F660851E71C8BDA874F3E2D1DE3A9C4D5F98EB75FFE015214E9C +FD6FFAB1BE62FD91C88AD7CE0DFBE01F693C28B2D58BEFF526ABC2504024C85A +5A0CCDC4B5776FB2064AD9ADFF13751459A43100BD792AC66456CB69D6839672 +419C798894BC1F4011928268564054DABD9EC00B403AD47A076896AF88CD71A6 +F9A2565C497B979CD122D36A2780C4953A2DE4FB007EACA9985BCBE259E5669E +ACE3B551EEC3CE13B1FEA2D88E1679901E8744DC215EFE417DBA1A7B4C1C64F0 +A2496CC56FA3D3124D025C2D6410C56F5878278646903FBB184E7917E6719BED +90A5AC3D26BE9618DC456B84D91A6C7B84D04CAEE53756F2D6370EF51DB674AF +26BD33895DA140B5DF4EBB34A266BA433841EE944935BCB8AC2CF68371A04B26 +24925C12C34A471C77EB2CE8EF6F006E6FD708ED39091E301F077FE7AE2463F4 +0DA83FD594F68D55F610196542E9274F2DBA8255D6C63A0B4688F425DBE5F28D +56BAEEFC0E0DB0CC1A1556F178DFEF912B921D440330492FCE24FA56717B7FC9 +FDD93F6E9C02980D753E431CA00C25B9F93AE20C066D24CDB7FB40299C56B388 +1B6F30FF54779FA02B8F777E295C8C73F227FD6AD12E25B1198FCA1434536C8E +38DEA96A9F9537DE2D79DDDFB2E80D58B526E64776C41B0C603420E5F2423C2B +0148AD264567FC44367C28A4106C4A482A647C8E2DB6AA0FA61D612B85773578 +30A0F27E935C97232CA97D98E7C1AFD1728773ABCF5095DF52827F92E209D0D5 +1EB056F44EC9CB1760961D62D7E6A47E9DAECDA2CB048C46A094A831CDB00F32 +3365D6BE6D90B9BD17FF9E052A0B3A18B20FC54FBF0524A61F98668745C48DA4 +AD6F0A46EF92547A8DE6565606336E6BC04B5CF02812D1337AA060FF82C5B18A +364954831522B714EB9B17C83AE0AF35989489779D050EC8E53897C3E6794A2B +3B231D5B7FF2BD6A1CBC3A17FF5DF62035287BCDF0332C546BF48C5C5ADC8820 +A6913088E942012938D2DA978DE082B818201E2078F23792CD4EAE6CD0D9EF3A +23B452ED77443D2E7102592E101C0F82A309B5AFA7D2F9188D12D9ECA1C93810 +B69C96759AA42C744FB85EF3D91F4B57AB6EB42ADD5650B463B162918D340FF4 +4300111EAA102FB4A472CFC427003D314642129B03E454B28821A8E7A593C3B6 +0490CA4B351AE075DECB67A202B131F55E12D5473BA0A1FE1124C99699FE9D04 +E79A7AAC4DAFA504BFCC28470D632ADE409C4FE6FFADFE670FCDDE4F4AA04B89 +0D2353ECC91122C559A126081CB9421DE1DD7BC57599C926D09EA6BB90A7E7C3 +D9906472DF11E519E5867FF4618DA0CE348EA9388C84A9360E83745D534B7841 +F83C126C22DC91997074CCF3526E58D17A3A1286E31285BD320CABDA36491A29 +D5D0056115A25CE175EEF7EE88EF4F3CD5F868A27A67439B4A68FF1DBB085086 +0612ACE414F3E98809B95E7AE149C993BA9DE108532115545FDD8E7A508FA857 +CCE2AA87F09476E3EBF0BE4E30453C54FC94A6A76AAEB8DEA6DD4B5F3110E0E0 +EA37DF8D06391B8450282DC16E8C1550BD87E033EC7E123B26366D3CE2011B25 +C5447209 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zerooldstyle put +dup 49 /oneoldstyle put +dup 50 /twooldstyle put +dup 52 /fouroldstyle put +dup 56 /eightoldstyle put +dup 58 /period put +dup 116 /t put +dup 120 /x put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 +990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E +6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB +DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 +59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 +D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF +8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 +6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 +1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE +03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 +95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 +74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 +3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 +47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 +AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 +42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 +40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 +B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 +956017667D1074FE5415F315CFC941447D57558E64B9C26DB3D1F046957DF72E +4BCE361A0F6CD2CFF2A35E09A39C60BE9C86648521318652B1E1375010DC199F +82ACCA5056AE0181F1B80604DE5F69B8A01FBD271E8EE9B1A446AACDB22B3805 +E72DD2F922164CEB64E1E610748B61BB5FF47CA5C2EBBA5E738613CC0DCA95B1 +7CC9332B7E57B9BC5082AB1CB05E4FA97EBE03F1B2CE5C1E4FF84CB26671F739 +FD4D3AAE03D605B0C4CD017605D6EF9BFDD4B00EB6343E2EE687F6F8D0BC4D44 +8BDB2126E85CA8CD95E3B93F56091DF374C4E4B4F3717C114E27DAB6179AD2C2 +26635D00BA66D409361D6240D753B2634C5E48FC07068EC9FE7F8306A5E4F34C +5AAD2E0B0A9AF5256F1076E2DC82A16424ADDBFE1BF66DED7BA10DE22A4919DF +86850EB2A10523B46C05C07804305FA0285320041C46F4B64622597638056428 +1C8D165195FBF9A36A948F75EEF7802D7AC9270C50768F0C81B078D2A656BF6E +68A0D2A79F58EAAEBFD6092DBCCD8B1658215EF0725006A21C00FF55C96EBB0E +D52EAE7B583BA19CE81CCC471C1B7FECD2CBCDFF9B33D49FBAD097227A9F7457 +418C90F9088290F10ABCC5970138C6368445059A2718B0A02E83BCBD9628E6A4 +64DC39B281167DC13E250330C573FA7FE63D82BEDD651EFC1F2D16A1893CEED1 +8BA316418F6D6D1480C33B5BE0BD8B297704B4187F1A0DA43B3C1C808E64403E +66E2B1523B5E15252D3CE6B615D5DD6715929D7ED26BEF4F069375F143E63B0C +D771313BFEEC31475E788A98D7CB3A8F1F1B74F399DC9CA398CB6CB43BD82476 +E692AFB0A60ED00C6E606A985B4C0B28CDB7CAE53A26512D441AB10CFA4F1B6D +D2C8734CA076FD332A94139085DB09D2E0228AFCF166EA834D29C1745D32C8E5 +EE15521563BC500CD9577620B9E8A887F3EEA6AC42DBBD9B21454CB736FCCE23 +947DDFE02DEB129B5D6B0B489FE292F7D2A8584255FD45AD3E751BA3AFE4A341 +CD8A2EC11F6FEE15B9780DABD282526636D7E22A68A4D94F8D18D69DF867CE8C +D55CFE2A5169578E303E08C3558B541911A2C6030AF2F683A1332565B7CE08AC +34A9B915A1CC506890E052C4B2EA9F90F3AA5967CB17F88635E045B552F377B6 +AD549500472DCED3D9E4F408CF6697A55A023FF97A83ACC74D09C9967CE33E99 +55AB255A4864C813191710A4B79CE8986F42B8CF77C577146B96BF3B4F454142 +DA6F4B18021D91B0361DEC3542F619DEBF2AA61E1382DB29ED1E267A144F2D79 +CA274C24B68AD70E34ACC83449D9E35D68A85F6FAC224BB839A68B7BAD83CF40 +E6503C52ABF298E1D53C934E63C082FBD84535FB1E323C172C528E1672D9FCB2 +8E2F4A5B337523E79AAF5C3335C57F63D5A4F855816E60DA934BE925DE10DE6D +46F6D8D587D755088CD6DA213209621BA3DD60FAB2A19FF02AE6E1B981198FD0 +1F462950BC0BC8824BE7172A091E0A85BF13DFBC0C4891F687676370A95ED746 +608096E52777E69FF89BB47CBBD68BE3CC2AE01A4F32312057B8FD589764E0EB +1E65FBE3FCC66462D74482A75B36DB0FCF93FA9B4055234F3F48063FC5799B84 +FBB10B09E1A69DD6E4860482C0F57DFED886E48F433C8C4662E62D3A88F9A709 +2991CB3B367C35CB419D95509423BAF86581B8E56A015EC420ED5EF29AAAD262 +A83351D633D7625762A3D8F388EFBE5733D71FBC0E3BBFEDFAFC9035B1144D86 +FC7665406970FE18CB2E0C5685DBFB64D57E68F214C3EC3862A16CA102AA4915 +ED40E22AE2EB32293955B535750941B48A5287D758EB5C406185785992F2BF5F +F7F89664395579F2D70142440C36158FA26B2A0B58D1549E82F13923D6E30569 +FE776E0A0BD95BC5A57B44F8216127F86B43DD272F93E668A8D4B189F8B47FCA +74DBF9AE62C6B6698AFB320FE30BF214EBF04B5C701F52B82220C92B32173565 +B7A20D7DEE0EEAF2FAEE60A63DAB1AA5FEA261480635FD807B35 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 40258437 52099154 1000 8000 8000 (fig1.dvi) +@start /Fa 140[437 5[922 109[{}2 1106.96 /CMR10 rf /Fb +74[667 181[{ enclmts1 ReEncodeFont }1 1106.96 /LMRoman10-Regular +rf /Fc 135[633 3[400 57[307 1[553 3[553 1[553 553 553 +48[{}8 1106.96 /CMMI10 rf /Fd 139[430 437 2[615 1[615 +922 307 2[307 3[492 1[492 1[553 12[799 15[846 23[307 +44[{ enclmec ReEncodeFont }13 1106.96 /LMRoman10-Regular +rf(ec-lmr10)cvn 9.96265 /Fd 1 fstore(cmmi10)cvn 9.96265 +/Fc 1 fstore(ts1-lmr10)cvn 9.96265 /Fb 1 fstore(cmr10)cvn +9.96265 /Fa 1 fstore end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 8000dpi +TeXDict begin + end +%%EndSetup +TeXDict begin 1 0 bop 8524 23867 a @beginspecial 67 @llx +280 @lly 302 @urx 442 @ury 2350 @rwi @setspecial +%%BeginDocument: _@temp.1 +%!PS +%%BoundingBox: 67 280 302 442 +%%HiResBoundingBox: 67.13551 280.6355 301.02805 441.5 +%%Creator: MetaPost 0.901 +%%CreationDate: 2006.12.14:1208 +%%Pages: 1 +%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98 +%*Font: cmmi10 9.96265 9.96265 30:e8a0000000000000088 +%*Font: ts1-lmr10 9.96265 9.96265 b5:8 +%*Font: cmr10 9.96265 9.96265 6d:82 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 0 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 114.5 302.584 moveto +114.5 441.25 lineto +290.25 441.25 lineto +290.25 302.584 lineto +114.5 302.584 lineto stroke +186.18599 282.5727 moveto +(Time,) ec-lmr10 9.96265 fshow +214.96638 282.5727 moveto +(t) cmmi10 9.96265 fshow +gsave [0 1 -1 0 73.9273 336.8714 ] concat 0 0 moveto +(Displacemen) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 73.9273 391.306 ] concat 0 0 moveto +(t,) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 73.9273 401.26869 ] concat 0 0 moveto +(x) cmmi10 9.96265 fshow grestore + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 114.5 302.584 moveto +114.5 304.334 lineto stroke +newpath 114.5 441.25 moveto +114.5 439.5 lineto stroke +106.2126 295.2945 moveto +(0) cmmi10 9.96265 fshow +112.8547 295.2945 moveto +(\265) ts1-lmr10 9.96265 fshow +118.8577 295.2945 moveto +(s) cmr10 9.96265 fshow +newpath 143.833 302.584 moveto +143.833 304.334 lineto stroke +newpath 143.833 441.25 moveto +143.833 439.5 lineto stroke +newpath 173.083 302.584 moveto +173.083 304.334 lineto stroke +newpath 173.083 441.25 moveto +173.083 439.5 lineto stroke +164.7956 295.2945 moveto +(4) cmmi10 9.96265 fshow +171.4377 295.2945 moveto +(\265) ts1-lmr10 9.96265 fshow +177.44069 295.2945 moveto +(s) cmr10 9.96265 fshow +newpath 202.417 302.584 moveto +202.417 304.334 lineto stroke +newpath 202.417 441.25 moveto +202.417 439.5 lineto stroke +newpath 231.667 302.584 moveto +231.667 304.334 lineto stroke +newpath 231.667 441.25 moveto +231.667 439.5 lineto stroke +223.37961 293.1636 moveto +(8) cmmi10 9.96265 fshow +230.02171 293.1636 moveto +(\265) ts1-lmr10 9.96265 fshow +236.0247 293.1636 moveto +(s) cmr10 9.96265 fshow +newpath 261 302.584 moveto +261 304.334 lineto stroke +newpath 261 441.25 moveto +261 439.5 lineto stroke +newpath 290.25 302.584 moveto +290.25 304.334 lineto stroke +newpath 290.25 441.25 moveto +290.25 439.5 lineto stroke +279.47194 295.2945 moveto +(12) cmmi10 9.96265 fshow +291.09544 295.2945 moveto +(\265) ts1-lmr10 9.96265 fshow +297.09834 295.2945 moveto +(s) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 114.5 302.584 moveto +116.25 302.584 lineto stroke +newpath 290.25 302.584 moveto +288.5 302.584 lineto stroke +88.2534 301.43924 moveto +(0) cmmi10 9.96265 fshow +94.89551 301.43924 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 322.417 moveto +116.25 322.417 lineto stroke +newpath 290.25 322.417 moveto +288.5 322.417 lineto stroke +newpath 114.5 342.167 moveto +116.25 342.167 lineto stroke +newpath 290.25 342.167 moveto +288.5 342.167 lineto stroke +80.5047 340.99084 moveto +(0:4) cmmi10 9.96265 fshow +94.8956 340.99084 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 362 moveto +116.25 362 lineto stroke +newpath 290.25 362 moveto +288.5 362 lineto stroke +newpath 114.5 381.834 moveto +116.25 381.834 lineto stroke +newpath 290.25 381.834 moveto +288.5 381.834 lineto stroke +80.5047 378.6238 moveto +(0:8) cmmi10 9.96265 fshow +94.8956 378.6238 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 401.667 moveto +116.25 401.667 lineto stroke +newpath 290.25 401.667 moveto +288.5 401.667 lineto stroke +newpath 114.5 421.417 moveto +116.25 421.417 lineto stroke +newpath 290.25 421.417 moveto +288.5 421.417 lineto stroke +80.5047 419.27225 moveto +(1:2) cmmi10 9.96265 fshow +94.8956 419.27225 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 441.25 moveto +116.25 441.25 lineto stroke +newpath 290.25 441.25 moveto +288.5 441.25 lineto stroke + 0 1 dtransform truncate idtransform setlinewidth pop +newpath 145.25 398.917 moveto +146.75 403.167 lineto +148.167 407 lineto +149.667 410.583 lineto +151.083 413.75 lineto +152.583 416.5 lineto +154.083 419 lineto +155.5 421.083 lineto +157 422.833 lineto +158.416 424.25 lineto +159.916 425.333 lineto +161.333 426.083 lineto +162.833 426.583 lineto +164.333 426.75 lineto +165.749 426.666 lineto +167.249 426.416 lineto +168.666 425.916 lineto +170.166 425.25 lineto +171.582 424.333 lineto +173.082 423.333 lineto +174.582 422.167 lineto +175.999 420.917 lineto +177.499 419.583 lineto +178.915 418.167 lineto +180.415 416.667 lineto +181.832 415.167 lineto +183.332 413.667 lineto +184.832 412.167 lineto +186.248 410.667 lineto +187.748 409.167 lineto +189.165 407.75 lineto +190.665 406.334 lineto +192.081 405.084 lineto +193.581 403.834 lineto +195.081 402.584 lineto +196.498 401.501 lineto +197.998 400.501 lineto +199.414 399.584 lineto +200.914 398.751 lineto +202.414 398.001 lineto +203.831 397.418 lineto +205.331 396.834 lineto +206.747 396.334 lineto +208.247 396.001 lineto +209.664 395.668 lineto +211.164 395.501 lineto +212.664 395.335 lineto +214.08 395.252 lineto +215.58 395.252 lineto +216.997 395.335 lineto +218.497 395.418 lineto +219.913 395.585 lineto +221.413 395.835 lineto +222.913 396.085 lineto +224.33 396.335 lineto +225.83 396.668 lineto +227.246 397.001 lineto +228.746 397.334 lineto +230.163 397.751 lineto +231.663 398.084 lineto +233.163 398.501 lineto +234.579 398.834 lineto +236.079 399.25 lineto +237.496 399.584 lineto +238.996 400 lineto +240.412 400.333 lineto +241.912 400.667 lineto +243.412 401 lineto +244.829 401.333 lineto +246.329 401.583 lineto +247.745 401.833 lineto +249.245 402.083 lineto +250.662 402.333 lineto +252.162 402.5 lineto +253.662 402.666 lineto +255.078 402.833 lineto +256.578 402.916 lineto +257.995 402.999 lineto +259.495 403.083 lineto +260.995 403.166 lineto +262.411 403.249 lineto +263.911 403.249 lineto +265.328 403.249 lineto +266.828 403.249 lineto +268.244 403.249 lineto +269.744 403.166 lineto +271.244 403.166 lineto +272.661 403.083 lineto +274.161 402.999 lineto +275.577 402.916 lineto +277.077 402.833 lineto +278.494 402.75 lineto +279.994 402.666 lineto +281.494 402.583 lineto +282.91 402.5 lineto +284.41 402.333 lineto +285.827 402.25 lineto +287.327 402.167 lineto +288.743 402.083 lineto +290.243 402 lineto stroke +newpath 114.5 302.584 moveto +116 303.084 lineto +117.417 304.417 lineto +118.917 306.667 lineto +120.333 309.667 lineto +121.833 313.25 lineto +123.25 317.417 lineto +124.75 322.083 lineto +126.25 327.167 lineto +127.666 332.583 lineto +129.166 338.25 lineto +130.583 344.083 lineto +132.083 349.999 lineto +133.499 355.916 lineto +134.999 361.916 lineto +136.499 367.749 lineto +137.916 373.499 lineto +139.416 379.082 lineto +140.832 384.416 lineto +142.332 389.582 lineto +143.832 394.415 lineto +145.249 398.915 lineto stroke +showpage +%%EOF + +%%EndDocument + @endspecial eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/macros/latex/contrib/sistyle/figs/fig1.mps b/macros/latex/contrib/sistyle/figs/fig1.mps new file mode 100644 index 0000000000..256d83d7b2 --- /dev/null +++ b/macros/latex/contrib/sistyle/figs/fig1.mps @@ -0,0 +1,257 @@ +%!PS +%%BoundingBox: 67 280 302 442 +%%HiResBoundingBox: 67.13551 280.6355 301.02805 441.5 +%%Creator: MetaPost 0.901 +%%CreationDate: 2006.12.14:1208 +%%Pages: 1 +%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98 +%*Font: cmmi10 9.96265 9.96265 30:e8a0000000000000088 +%*Font: ts1-lmr10 9.96265 9.96265 b5:8 +%*Font: cmr10 9.96265 9.96265 6d:82 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 0 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 114.5 302.584 moveto +114.5 441.25 lineto +290.25 441.25 lineto +290.25 302.584 lineto +114.5 302.584 lineto stroke +186.18599 282.5727 moveto +(Time,) ec-lmr10 9.96265 fshow +214.96638 282.5727 moveto +(t) cmmi10 9.96265 fshow +gsave [0 1 -1 0 73.9273 336.8714 ] concat 0 0 moveto +(Displacemen) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 73.9273 391.306 ] concat 0 0 moveto +(t,) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 73.9273 401.26869 ] concat 0 0 moveto +(x) cmmi10 9.96265 fshow grestore + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 114.5 302.584 moveto +114.5 304.334 lineto stroke +newpath 114.5 441.25 moveto +114.5 439.5 lineto stroke +106.2126 295.2945 moveto +(0) cmmi10 9.96265 fshow +112.8547 295.2945 moveto +(\265) ts1-lmr10 9.96265 fshow +118.8577 295.2945 moveto +(s) cmr10 9.96265 fshow +newpath 143.833 302.584 moveto +143.833 304.334 lineto stroke +newpath 143.833 441.25 moveto +143.833 439.5 lineto stroke +newpath 173.083 302.584 moveto +173.083 304.334 lineto stroke +newpath 173.083 441.25 moveto +173.083 439.5 lineto stroke +164.7956 295.2945 moveto +(4) cmmi10 9.96265 fshow +171.4377 295.2945 moveto +(\265) ts1-lmr10 9.96265 fshow +177.44069 295.2945 moveto +(s) cmr10 9.96265 fshow +newpath 202.417 302.584 moveto +202.417 304.334 lineto stroke +newpath 202.417 441.25 moveto +202.417 439.5 lineto stroke +newpath 231.667 302.584 moveto +231.667 304.334 lineto stroke +newpath 231.667 441.25 moveto +231.667 439.5 lineto stroke +223.37961 293.1636 moveto +(8) cmmi10 9.96265 fshow +230.02171 293.1636 moveto +(\265) ts1-lmr10 9.96265 fshow +236.0247 293.1636 moveto +(s) cmr10 9.96265 fshow +newpath 261 302.584 moveto +261 304.334 lineto stroke +newpath 261 441.25 moveto +261 439.5 lineto stroke +newpath 290.25 302.584 moveto +290.25 304.334 lineto stroke +newpath 290.25 441.25 moveto +290.25 439.5 lineto stroke +279.47194 295.2945 moveto +(12) cmmi10 9.96265 fshow +291.09544 295.2945 moveto +(\265) ts1-lmr10 9.96265 fshow +297.09834 295.2945 moveto +(s) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 114.5 302.584 moveto +116.25 302.584 lineto stroke +newpath 290.25 302.584 moveto +288.5 302.584 lineto stroke +88.2534 301.43924 moveto +(0) cmmi10 9.96265 fshow +94.89551 301.43924 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 322.417 moveto +116.25 322.417 lineto stroke +newpath 290.25 322.417 moveto +288.5 322.417 lineto stroke +newpath 114.5 342.167 moveto +116.25 342.167 lineto stroke +newpath 290.25 342.167 moveto +288.5 342.167 lineto stroke +80.5047 340.99084 moveto +(0:4) cmmi10 9.96265 fshow +94.8956 340.99084 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 362 moveto +116.25 362 lineto stroke +newpath 290.25 362 moveto +288.5 362 lineto stroke +newpath 114.5 381.834 moveto +116.25 381.834 lineto stroke +newpath 290.25 381.834 moveto +288.5 381.834 lineto stroke +80.5047 378.6238 moveto +(0:8) cmmi10 9.96265 fshow +94.8956 378.6238 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 401.667 moveto +116.25 401.667 lineto stroke +newpath 290.25 401.667 moveto +288.5 401.667 lineto stroke +newpath 114.5 421.417 moveto +116.25 421.417 lineto stroke +newpath 290.25 421.417 moveto +288.5 421.417 lineto stroke +80.5047 419.27225 moveto +(1:2) cmmi10 9.96265 fshow +94.8956 419.27225 moveto +(mm) cmr10 9.96265 fshow +newpath 114.5 441.25 moveto +116.25 441.25 lineto stroke +newpath 290.25 441.25 moveto +288.5 441.25 lineto stroke + 0 1 dtransform truncate idtransform setlinewidth pop +newpath 145.25 398.917 moveto +146.75 403.167 lineto +148.167 407 lineto +149.667 410.583 lineto +151.083 413.75 lineto +152.583 416.5 lineto +154.083 419 lineto +155.5 421.083 lineto +157 422.833 lineto +158.416 424.25 lineto +159.916 425.333 lineto +161.333 426.083 lineto +162.833 426.583 lineto +164.333 426.75 lineto +165.749 426.666 lineto +167.249 426.416 lineto +168.666 425.916 lineto +170.166 425.25 lineto +171.582 424.333 lineto +173.082 423.333 lineto +174.582 422.167 lineto +175.999 420.917 lineto +177.499 419.583 lineto +178.915 418.167 lineto +180.415 416.667 lineto +181.832 415.167 lineto +183.332 413.667 lineto +184.832 412.167 lineto +186.248 410.667 lineto +187.748 409.167 lineto +189.165 407.75 lineto +190.665 406.334 lineto +192.081 405.084 lineto +193.581 403.834 lineto +195.081 402.584 lineto +196.498 401.501 lineto +197.998 400.501 lineto +199.414 399.584 lineto +200.914 398.751 lineto +202.414 398.001 lineto +203.831 397.418 lineto +205.331 396.834 lineto +206.747 396.334 lineto +208.247 396.001 lineto +209.664 395.668 lineto +211.164 395.501 lineto +212.664 395.335 lineto +214.08 395.252 lineto +215.58 395.252 lineto +216.997 395.335 lineto +218.497 395.418 lineto +219.913 395.585 lineto +221.413 395.835 lineto +222.913 396.085 lineto +224.33 396.335 lineto +225.83 396.668 lineto +227.246 397.001 lineto +228.746 397.334 lineto +230.163 397.751 lineto +231.663 398.084 lineto +233.163 398.501 lineto +234.579 398.834 lineto +236.079 399.25 lineto +237.496 399.584 lineto +238.996 400 lineto +240.412 400.333 lineto +241.912 400.667 lineto +243.412 401 lineto +244.829 401.333 lineto +246.329 401.583 lineto +247.745 401.833 lineto +249.245 402.083 lineto +250.662 402.333 lineto +252.162 402.5 lineto +253.662 402.666 lineto +255.078 402.833 lineto +256.578 402.916 lineto +257.995 402.999 lineto +259.495 403.083 lineto +260.995 403.166 lineto +262.411 403.249 lineto +263.911 403.249 lineto +265.328 403.249 lineto +266.828 403.249 lineto +268.244 403.249 lineto +269.744 403.166 lineto +271.244 403.166 lineto +272.661 403.083 lineto +274.161 402.999 lineto +275.577 402.916 lineto +277.077 402.833 lineto +278.494 402.75 lineto +279.994 402.666 lineto +281.494 402.583 lineto +282.91 402.5 lineto +284.41 402.333 lineto +285.827 402.25 lineto +287.327 402.167 lineto +288.743 402.083 lineto +290.243 402 lineto stroke +newpath 114.5 302.584 moveto +116 303.084 lineto +117.417 304.417 lineto +118.917 306.667 lineto +120.333 309.667 lineto +121.833 313.25 lineto +123.25 317.417 lineto +124.75 322.083 lineto +126.25 327.167 lineto +127.666 332.583 lineto +129.166 338.25 lineto +130.583 344.083 lineto +132.083 349.999 lineto +133.499 355.916 lineto +134.999 361.916 lineto +136.499 367.749 lineto +137.916 373.499 lineto +139.416 379.082 lineto +140.832 384.416 lineto +142.332 389.582 lineto +143.832 394.415 lineto +145.249 398.915 lineto stroke +showpage +%%EOF diff --git a/macros/latex/contrib/sistyle/figs/fig2.eps b/macros/latex/contrib/sistyle/figs/fig2.eps new file mode 100644 index 0000000000..e03edd8828 --- /dev/null +++ b/macros/latex/contrib/sistyle/figs/fig2.eps @@ -0,0 +1,1888 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software +%%Title: fig2.dvi +%%CreationDate: Thu Dec 14 12:06:32 2006 +%%BoundingBox: 148 504 362 668 +%%DocumentFonts: LMRoman10-Regular CMMI10 CMR10 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS -Ppdf -G0 -E -o fig2.eps fig2.dvi +%DVIPSParameters: dpi=8000 +%DVIPSSource: TeX output 2006.12.14:1206 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: alt-rule.pro 0 0 +%! +% Patch by TVZ +% Makes dvips files draw rules with stroke rather than fill. +% Makes narrow rules more predictable at low resolutions +% after distilling to PDF. +% May have unknown consequences for very thick rules. +% Tested only with dvips 5.85(k). +TeXDict begin +/QV { + gsave newpath /ruleY X /ruleX X + Rx Ry gt + { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } + { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } + ifelse + setlinewidth 0 setlinecap stroke grestore +} bind def +end + +%%EndProcSet +%%BeginProcSet: lm-ec.enc 0 0 +% This file belongs to the Latin Modern package. The work is released under +% the GUST Font Source License. See the MANIFEST.txt and README.eng files +% for the details. For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or +% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt + +/enclmec[ +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/quotesinglbase +/guilsinglleft +/guilsinglright +/quotedblleft +/quotedblright +/quotedblbase +/guillemotleft +/guillemotright +/endash +/emdash +/cwm +/perthousandzero +/dotlessi +/dotlessj +/ff +/fi +/fl +/ffi +/ffl +/visiblespace +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/hyphen.alt +/Abreve +/Aogonek +/Cacute +/Ccaron +/Dcaron +/Ecaron +/Eogonek +/Gbreve +/Lacute +/Lcaron +/Lslash +/Nacute +/Ncaron +/Eng +/Ohungarumlaut +/Racute +/Rcaron +/Sacute +/Scaron +/Scedilla +/Tcaron +/Tcedilla +/Uhungarumlaut +/Uring +/Ydieresis +/Zacute +/Zcaron +/Zdotaccent +/IJ +/Idotaccent +/dcroat +/section +/abreve +/aogonek +/cacute +/ccaron +/dcaron +/ecaron +/eogonek +/gbreve +/lacute +/lcaron +/lslash +/nacute +/ncaron +/eng +/ohungarumlaut +/racute +/rcaron +/sacute +/scaron +/scedilla +/tcaron +/tcedilla +/uhungarumlaut +/uring +/ydieresis +/zacute +/zcaron +/zdotaccent +/ij +/exclamdown +/questiondown +/sterling +/Agrave +/Aacute +/Acircumflex +/Atilde +/Adieresis +/Aring +/AE +/Ccedilla +/Egrave +/Eacute +/Ecircumflex +/Edieresis +/Igrave +/Iacute +/Icircumflex +/Idieresis +/Eth +/Ntilde +/Ograve +/Oacute +/Ocircumflex +/Otilde +/Odieresis +/OE +/Oslash +/Ugrave +/Uacute +/Ucircumflex +/Udieresis +/Yacute +/Thorn +/Germandbls +/agrave +/aacute +/acircumflex +/atilde +/adieresis +/aring +/ae +/ccedilla +/egrave +/eacute +/ecircumflex +/edieresis +/igrave +/iacute +/icircumflex +/idieresis +/eth +/ntilde +/ograve +/oacute +/ocircumflex +/otilde +/odieresis +/oe +/oslash +/ugrave +/uacute +/ucircumflex +/udieresis +/yacute +/thorn +/germandbls +] def + +%%EndProcSet +%%BeginProcSet: lm-ts1.enc 0 0 +% This file belongs to the Latin Modern package. The work is released under +% the GUST Font Source License. See the MANIFEST.txt and README.eng files +% for the details. For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or +% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt + +/enclmts1[ +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/quotesinglbase.ts1 +/.notdef +/.notdef +/.notdef +/.notdef +/quotedblbase.ts1 +/.notdef +/.notdef +/twelveudash +/threequartersemdash +/cwmcapital +/arrowleft +/arrowright +/tieaccentlowercase +/tieaccentcapital +/tieaccentlowercase.new +/tieaccentcapital.new +/.notdef +/cwmascender +/blanksymbol +/.notdef +/.notdef +/.notdef +/dollar +/.notdef +/.notdef +/quotesingle.ts1 +/.notdef +/.notdef +/asteriskmath +/.notdef +/comma +/hyphendbl +/period +/fraction +/zero.oldstyle +/one.oldstyle +/two.oldstyle +/three.oldstyle +/four.oldstyle +/five.oldstyle +/six.oldstyle +/seven.oldstyle +/eight.oldstyle +/nine.oldstyle +/.notdef +/.notdef +/angleleft +/minus +/angleright +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/mho +/.notdef +/bigcircle +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/ohm +/.notdef +/.notdef +/.notdef +/dblbracketleft +/.notdef +/dblbracketright +/arrowup +/arrowdown +/grave.ts1 +/.notdef +/born +/divorced +/died +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/leaf +/married +/musicalnote +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/tildelow +/hyphendbl.alt +/breve.ts1 +/caron.ts1 +/hungarumlaut.ts1 +/dblgrave.ts1 +/dagger +/daggerdbl +/dblverticalbar +/perthousand +/bullet +/centigrade +/dollar.oldstyle +/cent.oldstyle +/florin +/colonmonetary +/won +/naira +/guarani +/peso +/lira +/recipe +/interrobang +/gnaborretni +/dong +/trademark +/permyriad +/paragraph.alt +/baht +/nomero +/discount +/estimated +/openbullet +/servicemark +/quillbracketleft +/quillbracketright +/cent +/sterling +/currency +/yen +/brokenbar +/section +/dieresis.ts1 +/copyright +/ordfeminine +/copyleft +/logicalnot +/published +/registered +/macron.ts1 +/degree +/plusminus +/twosuperior +/threesuperior +/acute.ts1 +/mu +/paragraph +/periodcentered +/referencemark +/onesuperior +/ordmasculine +/radical +/onequarter +/onehalf +/threequarters +/Euro +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/multiply +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/divide +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: finclude.pro 0 0 +%! +/fstore{dup dict exch{dup 4 2 roll put}repeat def}bind def/fshow{gsave +72 TeXDict/Resolution get div -72 TeXDict/VResolution get div scale 1 +DVImag div dup scale get cvx exec show grestore}bind def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +%%BeginFont: CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 109 /m put +dup 115 /s put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 +87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F +D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 +92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C +295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 +409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C +4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF +2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E +0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E +B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 +24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B +43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF +D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 +5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC +96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 +7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEE09555C11E6E295 +71B219B380EE9E5BB17AD84B4E8AED35880BD88E5AC7D9FE25C46889CD093396 +F0E34A62F93E64C8E7975CFD617121244AB09FF9A4F73F8166197D0CDE2EEBB3 +81AB9BD8329579C2122368F56DEB89BA6E42C5D9E20F2789CC4A89E4AD9B877F +8A0ACB84936F109D86211169257C19756A97E682601F4D1E7ED950A351C14DAC +4BEA7FB0E58FB5AEB55BC09B1253748B61B4E00C448F263458BF958D3986BF18 +9636037E95FB425AAC96FCED5B4C766F93041FAA0DBB196B0A220B8E3A9FCA6E +B4F5C0C775C25AFF4F5099CD3A2FA59ACA735718F8E90B351B015320794A89E8 +4C34F32B465E201008CCC0A15C2DEE572BDA14D8BDDFCF2743A15F8A93386861 +828F6251F206B9131C951D1ED4364A9CCE507E2959A1DA04A777B592888D38ED +E68FFB3EFE83870BA8E04B88C9EEEB2DB80D4D07B52CE914D9DADF825A5301AC +C64063909D6C1DC84C274C90004F41A1FAFD450805C5DD2A8E4F4C23E114246F +C103EB63B58F33E44DD04F6367E04C3CBB3400BA3C1943B874CFB7DBF6A3EB5A +3F665C5A98F578A03948821E40D1608FB70C5915CA0DE369A0D7112BFF6CAE56 +CB9BF699DAF3859F2B46DF97AE05915E791F1CE849154C53C4403EFD6F1A44EF +78C167190F3326BA35B2A0F95CD03492DBA2903489ABB6B2EB9F977F3F4D690B +31E8F6E32F83D91F721ABD116A40698F26610853E7FD075478979BEF42166C1B +312E8C20CB3F080B08A69416DA402D336C627BABC4737FC72F8F4F6BB7D73551 +EE33D3CEA901C3369B93301EEE2C3475A9F5B96239829EA2EE6A4F6A047A230D +44CE6210E275C4AAC7931329F161948073F4086B4FB7C98DE9FE8F04DAD394CB +6AF09FAEA10C3B9470D051054C65297A1E2DA99EB13C1BED09001F68B04377E9 +DAD87BCD6759B3DDBACBD0BB8FD64D2068C3DE2065A772019C474B0514299334 +55E6079A8BC565D2CEB7E3B896593D720DBF66CDB2697926FE4101CEE9D13430 +435E66EB92DB66EF26948040DC4B233A18AD9323E51DF9363D788F73419A8625 +7D9BA441C82B2E70BE926CCD72052D4F839274FFDA9116B4E8CBED2FB8719044 +CFAD402ABF220656062D8E062552AB41688EB7E6869190C0E77E0EF850479581 +DEF6C117C0FC3E2F617807E129EAF9B11C0E9AC14934B8C23B21A7AEF7373CD3 +296D97BAD6FA3AACCFC8102DD314B33A85ED022C64985DF1B3B448F4B1B1B69D +875F0423773C5701B5409F14B5DAC3B87293BCD94E0CBBC6FC3D0B0C3B0BDBF7 +538EACBD8AF0C21785BD38D4135E72507C09FD564CC83BF6A8B14A234E9E082A +0B9DA23ECFD02C961A58144BDF2FA72CC2764AEF0EA6EF384065950C69007F35 +EB1D9EA0AE6C95E38D1218A6F3B34D2A2AA54B7C0E75B0B2E421E9D1B9970A9D +FB1DDC015409B8E408683F204D768563208B3F70FBCBC87230EAE9C40236D2A8 +61672EBEB2D8E332816619AEFB139F9A6877F95D2D4C26F059E7E8E634B7933E +EF2B79F9C7E994B30A507C94E9DD8CC59EA7EF25865D24DFD3EE62BAF88E394E +565253A758BA3E4DDA76FA846BAF73FAB1899D40AAAD3E8A7B01795A035866C8 +796A18621FA015AFE95B076EBC274C69DD5D4E4B6658AC5EBC2A08531BA9355F +9688D7F9110F95243B880C7171157DDCC806684D16928487770B1A9BD9FDDB80 +3B325A1FBB05D047B05D1607B6C3E750BC4E5B9BDA764C362CB2C833105473AD +6FBA7C6CA9B293BCDBFBEE420979DAC7E3FB0CDF85840B7A002BC4C3FF2E2477 +B4156D6D305B45A03DB85FC8C33CF365B29153B5C6B8C24B3805469DB3FB1532 +F4E365A84D5A1966556A822E6A075044FF531835FD5ECE41A46CCA65994B64BE +9357D3391A3E0DAD0ECEED1FE4CB4B3F1BC1152C1DDEAABED93FAAA5C5343017 +6A7B3C34F97BB6A7C8EDB381562180F6983B8A98EFD47F1C43B46DC022F29FAB +FF05B002FEEFC5B5741C407B882FD17F31E9F134BDFD2F0E7AAA105B491353E6 +53824F42214A5F047D4B71596BA49AAE975C3D8B0A3926954399194BA3D2C57A +19B9F9D9065DE7E506F6F3E0EF2FD285 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: LMRoman10-Regular +%!PS-AdobeFont-1.0: LMRoman10-Regular 1.00 +%%CreationDate: 13th April 2006 +% Generated by MetaType1 (a MetaPost-based engine) +% Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS). +% Supported by CSTUG, DANTE eV, GUST, GUTenberg, NTG, and TUG. +% METATYPE1/Type 1 version by B. Jackowski & J. M. Nowacki +% from GUST (http://www.gust.org.pl). +% This work is released under the GUST Font Source License. +% For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or +% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt +% This work has the LPPL maintenance status "maintained". +% The Current Maintainer of this work is Bogus\l{}aw Jackowski and Janusz M. Nowacki. +% This work consists of the files listed in the MANIFEST.txt file. +% ADL: 806 194 0 +%%EndComments +FontDirectory/LMRoman10-Regular known{/LMRoman10-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +17 dict begin +/FontInfo 9 dict dup begin +/version(1.00)readonly def +/Notice(Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS).)readonly def +/FullName(LMRoman10-Regular)readonly def +/FamilyName(LMRoman10)readonly def +/Weight(Normal)readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -146 def +/UnderlineThickness 40 def +end readonly def +/FontName /LMRoman10-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /.notdef put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-220 -290 1417 1127}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF13E4018CA53FFC8B28E49B3AF8134528F971DEDA +55E9075B8973BD0B1C001D7F241CAA67472027935C0A16779AC34D17950388CF +0E0191A473BE7581A249D043279E83EA19B511D1D8FA3933F37C594054DB8297 +45ECDBC2E8976B243A996D477A529B8667BB3FB7783D0B773B952A4520909BA1 +EB4AB2FA4D38CD9B2CF575F8E0FDB2E85A6D59CB0AFEE208F8B5D960088A941E +6A5D13330AADAFA7D538980AF303C475BC59C6240759D913DFD615F18D7FB830 +118F7BE4A02E93EED65678B88EE5638D9F04CD6EA68B23AA18C95F0B8FC5437D +29F52672B551189CFC2DCF689C76B4529CC6483F7232EC7EEE93A3F6FB7CAF7E +918C305756FDADEE60B1EBBCCE2869AF9E02E405BAF381E1E5326B09167F69EF +5A052BBD6377D67FBBEEBF28F945EE53CF4122168C8547077AC0A7D557AA3DB7 +162AD512E149ACC5205743CAC9C2DC86A7A032EABFB00E5F0D4977BE2ADB4182 +217310FD4197B1001CF75C78D9C9D9265593B363C8D4627325B7E989B602B80E +98302ABC62C115ECAC3D2A9370B554CA8CFD2731D0C291F80EBEA1E7A5525D3C +60355A0EE95BB80A121AACF617D5C42290E2817D48337DEF0DAC4BB1D089A0BB +33C5D1E9A154672BA2C2AAF2AE92844C5F396DCE41EB8C8408A931385C7AEBFF +027E755D0630941A625F29201C718468A889CC711F55A5BB42A8073D51BEC52D +F50FE2890822E4A7DCB96A8D072F79EADDD624BFE5FA77C0203D09EC991F7C10 +B00093F89707E2A445AD033CC927663E5D5C6AC95FDBAFC504DDF506BC4610E5 +46381B076E926CA73F060B64060F302825290C4DA7DCEA32CF94A57F502C1512 +5768B7F270C4B32EAC5C784FA365DD5A61E508C9AF78EEC487BC525BB2B2E27F +8076275DD0E56F155370E0E415CA49122B7CB178F7BE2C45F43BD9D2826AAB84 +A11C60C8A784873862B47EF248585A72DD53DA7FA6306C5FD17F7A065D92847C +3C3F9B766F22717373D06A54D5BD47623E3BA269E1818F6F1CA03614CB504793 +522591E0052B708901CB4DD29EC6D54536E316D1600D7F622123847A31F2E6F7 +B83102B09B5FAF077B5C691FED64CF37920196E22FD45086F515FD5ABC49D4B2 +22DCF1755737BA53954971173E8A833359F48570AFB66310F41FD95821C03C40 +52442EB8974AB96FC19C2AB76B8D3187B6CCB4A57AC0CEA9F3215D3CD6DDCB1B +E272B237DC61765D9741A0CD5F871F03C22DA4FB0F4B3811E907177CA545CF4E +B0B7A6727F0884A95E1E790BEAFCC3113D5658ABD70FCE958A9AF541192ADB7F +A7A3F7D8CE6FF643375D7E96477DC4E6C0A09369D0C1EEFCB46E6DD65747A981 +438EAD81C85FA3CF7A58AE1E83C41C6AB175C3200BE7F1396F9CAF46C80BB063 +9CC4A9200AC342D2CD79E14C39DA6BE2D42186EAD7ACD77C30FB52A523A63E52 +94B8EAB30ADC515B6640DF30F4D117235385BD69D068F1BB3C6B565D24C963E6 +1EAE3FBA7645AB573A5E5EBF40C14681BAD1AC7489097EC382B0687A8D701D86 +BDA16B44FAC0B9F2EE8D2B2380848306F12A275DE016D08DF4EEA409ED1C1057 +846B76616532B79C929723445D51E55F2901DFB074E222B6426D8AF577A5B7F2 +B019500E8FBE4DDA2E708ACC998C1BB5EDE3A45AB78996EB94C76911139F6187 +7B66CD0DF79C3AE123796DEDAD425BDDCCC3913293D99529B8F9EAC85FE54840 +6DE5D90A0EC03425FD0B0E5186F6949A70C40B3E6AAB5B0440DC15229E8FF040 +BFD4CD3B9F79F1BF79818A68219E86BAEF2C97CBCEA2B828E6F56DB195EA47DA +1051E1EC1CB9B015F2CA593A2DD89199120346AB81E636CD886100498CA25084 +B8F3F8F2614882C88512C172900666F0F1C54F38D882DDE8DEE28A07A9E0A421 +43E0FD47E192338977159D77AC6BF76682B29B82D49241BBE072C730016968AA +3FCF6D4C15FC110A14C6B17D81FDFAD8EA305C71530FD9173A18E079156D9573 +0D300E07FB786ABB0F9A79907A37B4A5F808BDAA3699013C19D6934F2F8E0A5C +ADD280D5BD782A22718D4EEC9DDBC17E8CDAF6DD7B3F01AE728211B0CCB196A4 +60C5D529C5B2F5AA944765B7D49D7C68A5870CA8EF1CC0BF5D498496818C2444 +67171449C73BABBAB53F4A733712685E241C592703315E6CA03D39DCE4DE2125 +D8A79577580F5799C825BD4B9786473E2C20F6F8C83244EBC7FB4F3C9FFC8023 +DE1604FD41C754EA86877663ACE221E3BBF2A45CE39B80FB268D543A28FD4097 +9CDA6AD12BE81304B8910956B479E189047C61C200327257D9BEB1BC43CE6265 +86FD77921C79F575F855F4BE79651FE79FC065EC14246AE06156B8DFF94E835F +E70E091803D9D14037AC4AA8C4D17EBB62ACEAF93E6F861A0A32EE23534ECAB1 +259C875ED86B498B32D54D210461A17DF138F3D9F5C7AF9CED42432718A7678B +23A7EBCAF98097861710D733B5510790EB1507947AEAD6D9670DD996AA9FE4D4 +268A3FDBF8F1AA40E28BFF45165E55F75184B73917E43FF456B5C43410CFD976 +54CB959F9AB2CCB8752C341604BF43CC71919635B7CE630194962E4183C3838D +9401260A74300CCF70AB808FB5463133418C76C371F9FADA0222F6800D084673 +6F0649DCA8FCCCB124E1FADDFAF3D595E5376EE46E7E218A3868A1F35192B6A2 +9EBC2AAB1F1552CBA6B2046A89887F2C60A24A1694517F78471B3C99F6B78D81 +ABE86B754F6E599939B1432225CA439E0B3FE18721C03286E3A95529C1052361 +DE380EBCA14518248C6E80E617710006DC9620F12013C029B9CD88691D35FDF7 +B2A3B17C6456A86FF9C72B59ABF9CB2FDFDC9F3D23CA188DAC0F9ACBAE773FC5 +C3E2184FE3EF30AFC0D06BD5518758D36F783EC76D0124CC64D7F036B7A36FEB +D489C0E4B284FFA332B3D433EBE2C54C0555DF2D2D3ADB4C7ABE81EE545B39C0 +6FD8775EDD6395239B7C1CC552A6EC2A8A76E87AE3D012528A87444532769CDE +9A96856F620850D625FE73C2DBF79AC2200622A13BA8321863578E15C7B59E6B +DB866EB67AF788FDFF37ACDEA67110CE092C31968B92E3AF25260F2E92C7807C +74EFED2B132A2915E04548D615F31D64C36E7FC9BF48ADB04BEE66877A7912E1 +65909226DE954C56B5DFBE90C804C68A75B2C92CBA439BF079A64E39E02C98CF +BED9D1B87A8DC71DD685A2E7A942DBE072F2BD0DCF8346DE27FA98D21C0F6F56 +2F531D461A1FFA9FD3D5CCC64D6788FA447CA76FEE2D9C03B22996536F2532F2 +9BB6C55AF7087BA48FBCA5CD32D55AA3E61DCAE5E57A9D3AD3DED4F1EB870695 +5FD8B9DF74AA62D786A28F95223B0DC0A674409CD2875EE7E519052DA057ECE9 +E445A03C052D4A7128E6821291164B14DA11FB16C0E671A610408294D544C40F +9C260A53DBD3433E9BA4350E69BFF385EFD0B7AF9223BFFC63A514AF6BF4AE2B +867B9CF1B3A17CEC7CC51890A13715B7B5CCB828EB08D9A9538E1F4213953BFC +6CCA78DB0C094BC82EC4F0BC92833AEBC85E95137A61DB977EC7BDC3F755DB66 +93581C5B4EC95473A554034710B4A9DA4C7B3F15FECBC036634F69A0751C4084 +6188611E976891A2BDFC66EE858D35EF96A891BFF21A5669B73153DF85531821 +C23E4DE1DD4C0532420A41CF958B1DDE1BEAF9868F31824A89DC94B5C6DAA746 +81BE30C4E671CD96973F8D37C19E1C99B0F3DD668BDF76A5F474B850CE6400C5 +44CDB7094616F41B02982895820AB47D0BEB5D5BBE6577DA766734A59AE1DBB0 +0D7356FA17421E7259543464ADC1515926B7EE1D90B03C9F7F7634AD8337803D +11CF01D0E046E06C9E9FF99BC9B3B43313EBD812D550227C0665E7B5096FF965 +3BCEBC952F2AD0FAD8B198DD4BBC90179FE9329D97AFDB3F1E97C7101BABC80F +C6726396B20DFA40ED6AC6C13C593EDD00A965E58A75759041EF377B9C8FEE1D +BFD8B2F40A08BBEBADC84A7E00A389D5DB40B69F81A07B80046884B781D64B60 +75D35E411613E01A9961261DC3D90A35BB1AFFFDF087F0B4C62F58C1E729F224 +EC05FB4EC009EF48E7E56CAD56A297FF423AF24B9E1D2443EF397EE0AB134571 +C2917069E8F87271EBD508D02DF0D47145BF586978AF64E2E45D3CE6524CBF56 +223468C987C1883B80126A31ED27039B0EFA4F3DBBA7D50C464E3F297A0F2C1A +C23885124F9AE5827A5B89299EC09650AEAD8210F7AC1858ED0711E50E0EF6EF +D917EE28E980A062580B9FA11ECF82E0A16DB051E930FA7ECCA082ACB5CB8542 +AE65A90DA4E4EE222D4B369FC3919EE24B8CB02E12CFFC2AF1BD174BB1E4EFD2 +9ABDCA377484BE281D4412B860BD929B1F9A515FAE8AB259EB719E1F850331D5 +0EF2E7C281D7B7B4EDA6757BBFABA93EFAB83803A78F22D80EDA1C25201B9F8B +0F4C80FD9ED2073D21FF50B841774BC20AAD8F84CC2B509E9D70AA5F53D932C7 +1EA76AC75EE6B681AB6A4134BEA5C8986EF4AB4C97092A1D17169AE6FABF3A46 +11BF6D56A1F0B72D203A7C5FF3017508DF9821E563EF0DAA18A96E78E95F2D64 +DF693B5E51D15A9B58023B012956E4B83456C246AA84F284B5F4E57BFFFE3002 +DD98969A0D6C120A6621BD68991FD5593F3197223C9BCF490BC01C7FEB8A6BF1 +82467ACFE3B05FE61A64BF5DDA8492C5DC2E76D6E4580021301BFEA3CDA3FDE4 +A4BD2124C4F11DD771EFB1ED519E2252A8110547FD775353EA0A701A10570D63 +FA6FAE3C75627720146C67EE26A369D66FCE75148C516079A8DD6A1D6984C65E +12F2561D2B6A1C79BB3D11F2E85043560FF3ED1C64D62E796ABAD51FA0CA8E19 +2532476CD8EA1F5AF507CB853A32E8C1FE284659D3409002CAE1C90459BD2209 +3A222AF420A9AD8BE54DCF5364857EA20DB515C86F99D9F39C0C4E36878A218B +BA826D0881E6FB959DCBA34B5F5BEA5D456CEA78660C06E7682033B4376512D8 +5F65AD30E430DCA0C4A3C7A579B470A9E340A6985189FF8B6AF914A6B0ECF869 +99E8D38E95145F61A7C343605A2CE164FE263401D468D1E19C06F9E6851A64BE +C3F7869EE3181CE8AA1E1BD06DFD1D671C08E1E75F7795C33E885EDDC5A75360 +3297A894F5308780C78C427E8E051B99E95D205AD9D649606A904300CF179607 +A73EEFC602B26191B61BEC3EAE13C720B0CAF9C20C967E0EEB1C7C304449084A +11FD353EAD79429321A8F96E2E1F02AD70E2FDBEEE625BB7435BF7BFF995DC20 +E067EE6B3F7DFE0ABCEA24D63DBB3B266EC37BD89C5CF33F50F0BAF05732C17F +FB56DB5FA6FB1C22AC891A13A81C3D479855407B719AC4CFD53E32034252A18A +DD5626450A2914B9892E0147A245EE08401808D1BEA397E35C7F91ACC5982763 +EFA34A171A42891DEF931EBBFD8FEEC4E60F4D0691654349BB1B586B1ABEBD24 +0FB7E694DCFE132CC1F6E0EAE7BB26824CCDB9AFE856783857077CCD79A9DE2B +73A934084B0429E177EC6DFC9CFBED73EBD70DE13443F8CD56E8D3510D397B24 +39AB8E8E2C82F96700D866AD30BB0427BE89D480BFF5A0044C3BCE04556B6A6F +524CDA3E22965E2FA5A875AC7E5F142C781072CFAF2D3371632319B253DBB32A +718CBEBB427E01E60CCE30B0F2B691E3A8C1DD510CAEF4852A67033816D6BB0C +B3B1B5A5C3D0DCB573C959BD86A8715B00D1495B99CBA96ABA9147ECEF29D69B +D3081301ADCBADBC2933C1D0DAC1035A5A6B41BE612088E211EBD9E779009AAB +A3309476E9AC9103B3B7F0FF5CF8D48214AF3F36DF5FD7E3659796103F5B013D +89DC6BB3966D42FB35256D93962CEBB584381E580898746A333BF92ED09E8201 +2484AF7649C3FA87A3AE44D93FB7A0D1A41FF503119DC1D91DC405030D93365A +941D51720E5CD94895B78CCDDCBCB213F2702DD37EAB12B0EBAFFE521DBCEF22 +2CAC2C775B6964AEA57F562C969C92D66E143F2A006BCD91A3BB5F43BFB1535C +CD1672FBD40A3D1B156F032E94AA7E699152CA8A979DD0407F40E90051CAE73A +64AD63E04E8EBAC26CE3FE8DDE8F6C30A2362BC44492E91BFC10A5D5010758C6 +BEB975610A063D6DEE014BC3CCB9D463C6CE5579B4A0FB0E228A23BFBD557191 +686829FDF3DD6C73C55A1E990A07F8B008FCFEF55C2C4517D420CDFB43CD103E +D7A1B9C2E885C88F882E29F7545AD93625C5D2D7209315F9E358DC4BEB66160A +8FA01A823CFE0F9AF5A1E173349F287CBDAA4BBB6CDD4D9FB786B8DAB677BC1A +E4BBD043BA99CF39FDA56C856E0A28222A420EC9F149FD6A55F1A51A895E2858 +85972113C6702D1FDF88FA9735C944C04B919B7BB6A60DD4DDFC4138BADFA0C6 +E2C7FAE2B6477320DAF01FC329D22DDAB86A96DCEE3CBFD5DB2D469ECBDD4D11 +C29B962A65F8E3C73D66DCCF26D4DFBE5464B96C81A85C09163A6B5046F27B4E +039CFB556F43AEDEA439FBF139A16A55342EEE53E944D47992413B4D7D1EB9E0 +3780803A4FF311D78C4FE8540110BAE01E67A6F35ADBD95933B9929DB4DE28AA +D40AFFA292D1BA24E033458D3727ED4B961BF04CABD121E0B7682D0FB7097EC5 +DD812DC7AE3950B73A9166D375AB3D8F141B95F3251B6DABD584F17C7524786A +C1515F8DD5FC1640FCB2723544574BE6FE1505687BC3BC3A5BBEC50DF592E162 +946CDD5354700714659BE1E1119A07AE61797E86542E15D9A43C1B3AB84ACCE6 +EC12953861CD892B5DE3777908625E1A91DDE6077E98045B0584DB93E58BCB9B +E047B377F3A50872C1EBA2304FDD042C1D1AE7D3E07FA1D5584AC1051A3CA7F3 +4164660413E66E1FB5B051B7D6BAF6591C2B0912B5D9486B5C8F6CD5238CB94A +0C807F4BA98314759EE22D9F51DAEDF5873816653E5215E436CFC0C50B531653 +49CA83A68837067805FAB4B56970CD156EC61D17524DC09852F5B47B4FBF8156 +B78ABC9E6FC08892A24B28FF68957942DB5BD93FB36D52A5B2708D4DF27C14E2 +CDEE9BEE0507016F7651418558D452E7313749445764886D46FD31A07B390F3C +E60CCD246ED0E1CAD5509683F30843D1331FE27588D083CF577A6BEBD379D13D +5C4238EE4FF7811FD69BC4C78D51F0A7E2578EA61424F26F44A44A50D3E481E9 +74C31F1A8A7C9993B44C78892985C063B7700EFFAFBF71BEC6112447E98EC55B +DA4775EBF5BC24A892B0E55396D3BB6E8B7E28A1ED57CB36EC875339EB25DADA +A0E1A671E9ECD67D82340086FC36FAA3B8FADF3BA47E66E3B89327F889B0177E +6DC6B89FD204E5235E57CC6849A365F9AB482427E36BB6C87F39D0505579B2D0 +FF4DA9D4AA971DBC5A070A96D7EA238A39BCABCE3A344BA4B9BE1FD2FC5D972E +117BA5B6802B119B88B06E588651F5BFFAC431F0713DFD2C68CB4E6F0E2497DC +98C64AD1B5758927CDB6327E76A8D8C8454C7E9ABCDA29CC095BC98810F43B98 +66180F9D58D0497793CD79087D9F2E239BF77FCCB5ABDC0569B8D6D5611FB2E9 +ADFC46860BE8BF278B612A84F1B4B0FEDADF4E23A07F6C0E1387DD54F5C8BD07 +1C4E994575BA9C7A580D605929D6D790A340847DD751CF51F1457EC029FB2DA7 +C9803DD7A0DD88F0C6F1CD390F5DB88FC29D1328CCB4CE026622460A1EFD5A50 +F83C296A616481A16770B47D01CEA50E0D6555854323FE00320EE80A3119D35D +09615E225407058E642B3F3829CF75DF156C2DAA676AF73508E9704D6E01E3FC +943AA32D2E5C8BC49A385600773A0ACAE6D25FAA0A36D430519C2A613FCE5FD8 +DC1A188FE10A825C38395E5CBDCED6A7D376AD65614619A4EE1A5CA99AD4D51F +F975CD8ADBE47F6AB56C0BEB70F7261093F8A8E52BAA1E6DDBDBBB387CAE5403 +0476164D7B4054DD4FED1E8DB315795037F147ACA3D2D8E45BBB76C8EC67F713 +2885ED7689F4D0D4F5A7B12158B6CA9944962E09541FBB7A00956D1ACA7D8C23 +5652C6036D3FAB60D3E81A470BDDC46AA93CB8B89B768BA135986D70C6D02EBA +1FD4BF2EC6DCCB7B5F7ABCBA1F855E8A3A8F913D84D86273C5839A1220D9B2CC +A344FF3204E873FFCFEEE3F93284581CD708A692D0F738EBC0A49268020D41EA +A7F6C1A9B682B344B7DC94AAEDADFEC83E367894076F16EA2A629E87A1AF908C +49FC0FCBC63943DB00FE7A2187D2562E08382F94973EE4F7F6CB9038A00259A9 +ADBDD053FFE120C493DFF9FD4972DAE07A8CB577319C3433A852EB0B3E5A1B05 +28FA9F8BCF9EB3E0BF612A2097BB921884273804403A19B6A3A946C63191445A +0C143F7D89F5A7906D76138611002FE7E92828BB840F2A87F5A4D9DE2BF18489 +8D2E790305F97BFFD2E34C6FEA7C1D4EAD89507E04EFB96476A3B4A2511E2109 +77B6A97267F4C63D4093BEA8A34B315CEE932B40ABC9FEE76C57B6AA7F5B3BF9 +B315C9C46AA3B83C633E460DE4079A8BC565D2CEB7E3B896593D720DBF66CDB2 +684E8B31554F4EA2D4B57ED13A8A07C06F3A5AA580306734680D4DE107CCC21D +CE943E8B785DF3D782CC5EA81B9223C03818954DBD2C212D2C708E9C9661587C +8EA6D23DB9645BE24281BDC1FD61013AB7602079B3C763CEF4C3521960E5FB11 +FDD2174E1F9269DF8A84A1E7B30B6DB0E7444C6CDC7C6263B93715BDEFB35439 +8CAF586AA23B46EADCFA06318AAEAF9C26338369F6829987C0FB83953632A0F0 +8DC7B007337B680C9E0CF3E5440B37DFEDCAB7DA43267DA860345F4E5EE1A0E9 +9E8AB406FB94F1A668374A2272E6511BD0987B6E4A1FBAD528ADB4433BCDB078 +59B61CE89F8184AD6842FF56F27AA97073B3EC21845B235B64B1A23A802278ED +6635F3A42DEEE11D4769FE469301F9501BD996B8DD12FA1DE3618681CAA89E2B +67B424A262AE0E744AE5D60CD3A8379888E6847DF0344B61FDB2572E1DD4EE78 +D24DACF418B6AC1E4520E251A16C74018DA28222985FAED74687C2027300424A +97A392D8180E8013E922561CB95A6CCA15257938562B2203565F59EF517018D5 +C5CE419AEBE72FABF48DA20F1AD234E29CEF890F413F8D6DDC59C6DA3DB906DC +0E85E4F8D133208269330C24A4E0B3CB2FD7302A3EFF9E93534A6EF3A9B3D6D1 +70AF9B1F33A0377B8306B8463247F1E5412905D67A473BCBE4830AB55944F07D +E38907B58D17AC3FFB1027D141234E6CA6A30546260103133D05A388B0D91A7C +F33A7B5905412A63F288F85645B0DE47D1FF03B245E6D36223AB972791081FE5 +9397EF9D69415C6A4088D89AB8A2F81D9A9D3BAA712A0A56D9636B62813B81A1 +8E183D32A58D3C67AD87A413F6D9746B6BCFE2EA15B6A0E6DA6D26A37041D7DC +B8DA4571C709A9B2FC14ECF61496B5A04CC340DB897299C8D313270378D817B9 +892CFD36DE08A63AB714709C14EB85869A09552C199E3FABA32A4C5D3EF840B9 +639CB10B78508923FB4AF9CDB906C72AACDAAF2CF94A6DFE0713DB9B8CBDC0D1 +46C603AF99C30A5438CFA2F9D3270AD44DC4EB4988B9CDA3335634B8F7DCF916 +6B6CACB6D328D5AC5A070CC1EB3C8221173ECB2A2DBDBCE57EFF45E30DEB3091 +C42F7AC301DFE5EEAD68F99F8E35E5A8BA66C0F8D4A12FE6896505879EB480EB +559729BAFB508171FD33CD22FA7701FFA3E89936B8E7ECB5B20EBAC9B6FBC076 +C3056A22F8DE627B86AA9032575B2891FE7BB08E2B6EF58B741F6458E2618422 +8ACBA46F5DDF43D3CA439B4506CCFE90F24F8FD3A7C08ECDD2D12DC0BC5DF243 +3F9D5D1004E5B7FFF5B51BA78335CFAFB9E1AB382D2E56E5EFFB1B3DB781B525 +D76EE0D2C62329A19C7084F6844963608ED2BD587D35E995E273148590FBB65F +18CAB4A1A3A66A05004D2D3C68667D61D91219C131EE556BCC9C4374EA6B2CC9 +D46DB9A1F80A7662D4F231FD969C7AD4DAACB1EC98EBEA7E35C53DF6B0138A28 +4A29A37284134AB99755852C14281E8DA94598691F774407905226AC4AA63AFB +215329F858FD194A85A9C6F9FD68182F7348F5F6823C509D38539CEA7AE03F6F +7368F422D979AD3B768B7F6B8C3381BF4903A735B7746BB6812FE53AC7F90219 +48AC9FB8410A3DE22E0A01E367C524702A8F0CB05C2A504B014DCE8D922CA473 +ADFBFF85285CFE48EFF5C559ED8F7F8B7866E6D3AB07968275204BB347F7015B +37BE323E2DD2566059ECBFE65551927772803D96B3817848C9EC8D98FD54FA95 +EF36B456B0FA852538DEFA7234E0CF214C9C7494568BA189D2EBA4FBDB82C06A +AEBA407F1E7BB6D8AFFDC6C6849C9019819639E9CD00753BA5417368085E864B +29147A2253EBDEF475BD7A8CE7124D1C97A638B4620E485A996CC84306CDD2D6 +B4B54F07685D86F7A7BB423D1A7C21531E2C5151279BFF187E1FD15B8FB58275 +287714443015F3694580C475723709CE19B2B72268C40F772CFA2CD7A598A024 +222D41328DAD7B22B0C55EB698ADDBB0F8ED15C971AEF113C74D62D2904F3C5C +0D1D4B4F510F70351551583A0E4944DEE03BD513E6E1B82614FA1BA15276039A +09CE60CDB0103FE88580D8518F86D5368897BB038CF07FC21678FCBD3E13D037 +6CEDD099A0F9CF438E5DBCFF3FF93592A4D22D6B173BCDA83B45C36FD67DCB66 +F7FDDC8C9FA22A0DC3112E78036AD4A44F4A0A6906EDCE2DF801513DA89A38A4 +C935C8D025AB5C1D66866465AD9DFD2D25D7026D8483CADDD891B2A95767D181 +42144D77BAB2ED0A4447580C3A67A908C1D6B8CA4A70F9961A02B350A76F697E +285BFA294490E066EC82C0BA3D2AF8649CE5AADCD3CC336BC012FD2C4D07E10D +F0E9641DBB70577AE828DD3CAE98FA9E1A74F5D3932E15D629638EDE89741C64 +AB1DFFDAD7476498A1CBD0C64D459276BF2D8F25F13137C7F1CC459CB3B498F1 +49CFB1A8C60E56234CFD61340010CE1C184163D20E4AB39F9188EC6821B09BD0 +66FF5C0D2087231C4858B9DE5039CE4A1534233A0FBEC8AE57A7597F604B5C36 +465B70DB907B2A19150135B79C455291553EFA10D2AA6F638F184A66D911FDA9 +633767CC89A787F82D8BDC14ECC847E706C508835CB5ACF60BA71FF3419336AA +668E13B6C0EDB1A574BB7925D7A941014B105752CFDE450532BCC7D0902E5F8B +A2960305836E8B4BFB953AED79A3B7FDDBC9F587FA9AD60FF1DD01D820488450 +336225C141A9F47D149B38A0D7E4E4342CFDD22C780278D973C81EC52CA2782B +418578622E6A3313CB79B6746E856EDDAD386892C857A51A8D59DE97F8A01E89 +0DA5008479343C1D658E1B06DCA548D41AC58850911D4D3A68BFC49EA3A94D97 +F417492DAA7D861E3890863A249FCF4E88F59095B358F252BB5005EE6F47DE5D +892813AF0BA074FAFFE0BF35ADBFCF366596F5E3DC4BEC30136B8BBA284B8CA6 +C17AFD41A10B04A6B12B744AEB2A91C1D8993B422C56A2C2166A0E4EE6272EC1 +F39BB7E05C36CD0DE61B3D77DFD7561D55C9E03EBB587B340A358A65ADDBE9E8 +552EC9ABBC0323617AFE301047C9646BA848529E3D9614FA1DD1D68FAFF1AF62 +A48B92A023EC0FDA8B73C48F069545B188B00469201930BE3BAA9104DFEA7D36 +3CCC1E571326B7A7A5FE7216BCE081EF42F0846374B50FFF96215293EDC8320D +DD37D9C6D844D85BB710E508ABD1E4822A938FF436B01AB54EE1CE32BA926E34 +A8F8C31A75DEF46A74AC94A09D60E190C548172D2E1D8F21295A29F4BE0CBB44 +5E9DC99DE3BF32B95CA40F19FE0EEEAC83D083189F38A0A6C8F8F7A097889999 +67CF3BC505F1234CA710AEEE4E7A6AA128E365EC9C9B48CA6D6D9C5DB887330F +3CF3E6698EE25EF3C6D9BF8BC7619F7250204F12A0313F667360FF48673C8AF8 +EC7D3A808EEFEB8600E35CA1F3D3EE2B04DC4CBE12FC99DA94FB2648B84433B4 +B27DE9E8127325C87E3842D1ED01722E83609866F7751273DC120969CAAF54CD +5F89FD89D153C58F0D60B4B447627DB6DD020C5B28A5F5867F1D07E70480CDC5 +E134C9717D85D4C4E2E941026C25847C739B6EEAD71E6EB2C34E8AE8162B8FB4 +D09237C2396A5A7BD8631FB6ADC8C51CC2CF1FB9573924D8613BE48CC4826515 +D0226CC3757CF9FAD6765476339E4E87983023D5A21A2942F0C5AADA19797B2A +3AAC758995A7355F79D06964067CD00454EA2E91D9940D8CA147C1035893E2D1 +C6AD44491A7EFD530C5B437E27E5E435083606FC3B43F0240E006045A1D6ED04 +51C01DCC92B8A4010A5FB94633C8EA92916A5471C3ED727BE7E559B6E54B0C7A +64D4A2C86BEC7DD1F21A7676678D879ED994F9220B23631D60DD4F01749C944D +B5C206999107D67FF7C8989C512DA066D6DC62024C5C0694D0F15976CFF33899 +E6EC7F3B3E52F6644D44C0B5F7B1FF17874AA7CC620939F3BA8AA5ABC54778EC +FDAD510D721956F7200EAE8F93ED95AE429D7CCAA4497E56A90079CA7DA18D25 +F3681DD0131C46E14DC6055FA7FF5F8BF26006164709596C0E78321C9CB5060A +E6AAD011C03BFC4D497466C7F09105A287FB8C8D308155722F983D6B19A9B435 +B32E268C5C50DA95EF3F0F93CED893FDECF3CB07A25182E3F9AA50DD12801DD2 +9A7E27EFA2F26A639CF1C441BFA42B5EB6D2DC10C1B440B5B316FA8F6565B7C7 +220F23282E63CE45DF7361876A760A4D5A7D58A469526B3F99463EC5DA4EABBF +EBE23FAAC12BA68C2622BA308B7885B6F0D4D325D8F2CF7D6A8E7FFE556472E7 +DEB80450CC3D3CC3A173A7346B4A33C99BBA62EE86C30D08FACC67BA4BEDF859 +2C876A83CF48E4A2F7E92558E57B0A58D7F9E14B1DABCDA48C539701A25DB30E +22B0EE39F3B583825D1B428F0698672E8720A77B1E74ABF75AAB509C361AE04D +572FB04D48E69939FDF48DF49CBE4C7BF0F59F7E0D39884C8625CB19AC00356E +030FFD1FEABB6DE8214D8C12C157E9272C09D25038F29F5128D4644B4DF29BD5 +A8404282D7AF68279457739633DB5CBBA6E33F8011CD6EBF9453B2F632E36A15 +B373FF3FAE535328C580548DB7D37F18CA0AEEC4C4A57FC7997D3EC9C309D024 +68376FE7063FFFFEB8C51B57F75ECFE7238BDE6C637F6609D033D80A82CC481E +AD70AADE0E2676CAC466E07401BFD2FC1051E592D42311903407023C9720B782 +8207265AA60FD4998773A095A03EC1FDBE3250BCD22AF967CD40D03EF76649A6 +AC929DCD3FF06B9FBF62FB139A192C6D351853990FD81536DBBEE2ADCC6EA159 +97715D3EECA9329513ECA625CC1C5FC3AFB291A6B75A593939D1CC1A7DD25006 +5F3ECA5C4583845A6E0F89C9EDC01793D8CDFC66887FF3C563185662EEE213EC +8671211A732A32D92BD20A3E2112F44701EB6466C1DE8DF646DE1EC2E4FB1687 +A50867043566AC7938C812D690765D2163DFE6C3F4EC3510619779B08A737545 +2187D66B2A4445B4EF5FDF14155487DC65939F04DF25603E4E215533B6445008 +F1D4D2C9D54B1BCD10DD7958F06FC41A77CEA6A6E905277DAFB8BC1543CC1E8E +B8BDB43518BC2CD6033E3E4219E0EF172C72ADE99EA91ED60447A31981FE999D +79D906CCE3DD6D2642911FB5137597F9697B34F914DB5A8CE52E360EFB5E0ECF +810FFBA9BDE380B680E5F0D1B28ABA82980EAAC6131940026E3C2297E197FB8D +BD23E278CFCD460AA15777BFBE815955AEB9C37A06902CE60B8F95A399DFD3C6 +2C04AAB48F6BD8C8BD63D8461CD450695EA35917AA672E6D9215D742F7206D3F +2AB56F755DFB3BE539628048029307D8249FEAAB72F6E1CDD2F82FEF089A4789 +357324B3FD9B04D3B5FAD58C121FA3FDF2438217BA5121CC668458620DB3D381 +D567701C541CD15A0EBF2C8F288214125072AE15C467502382EAE4FFEBF2CC78 +49276A1AAA5F1598EC7A9A573A79CCD67EFBCD712EC46352ED1B976706A6AE56 +0AD6A82C3B0FF9775DF836C1C62F7C09A0AB81C8E8D447D5FF7EA0CE2999B8C4 +E12D9F9E97E5DBAA2871665E9B2C0C88320E31FA512BB3B7862EAE8E10393D19 +87095FCA5160EB07BA729B82A625B0F2987083E1BEC613BCCB763A23259813F2 +349BF23EBFD6F7D9D4618054064D0A6D0235ED4CFF9EF00F910ECD8C5D6D3D39 +4304194538BD8434FB04A2D68E969FB1F684291242494E52311C02C8A34C0A5B +398AD835221447A44807B5D89D0FE464663AF7A14D554D608E26E1676A8CC9AA +4B720B9068649C2FBC1FA4ED5AC2569E58941EC067EC4C03A2F8D4D19690C2AF +C60B60C0998C1290727A9E2960C608C0E9A1EE967B95EFB81109F7F3371CC1F3 +3591F2A81E947884D1E3DD1A8970E40EFF0AF48A56ABD34136479D929405FE67 +FE24FDF7FAB748F7712C064081A7EC21FD1F6781D44DC2D138829A9D3D0EDA0F +4F7211B5B5CC0A348F325F3E45531782248134362CA0C6A066ABEA6C1D3B8F40 +238DE24F302A6788013C8ABDCA62FA6E2F80DE35A2338CD8D5C4A23FE31C9E7A +09327BEB82BEC7BB8F1C1D8540FA065E4DE025161426C498D274ADC1D97A1035 +30EFB969DD821150DEEBCCB618A61188C03BAC8D65BB79B73DF988E4DF9D7A5B +294747AC9860D99A71E821D8F966478C97F5D32E66ACEFF7022D08BA44B97EBA +36863832373E5D5C3D5479812487F80F4DEE34DCE95E75ABA3A85139790DAC99 +266AFAE54A5D3FD3AB69E247AC2F1758689851A9537B1EB428255F11CFFB5B12 +FD40B33BDD959EAAA11CB03A69FA324CA6EEEEE7B4FA88BA66620BB08F65A08B +F76FEA69E8793F1C76C3A2577467242CC0BA47B411DF2A9CEB0512DE5D58BA93 +34E274E26C9B301BAAEE8A0237BD685B6A9BB3489FBF70088277714B8AE8CA8C +2BE32600C30A587EE5AE0B439EFC837C99B422FCEF96B5C7F91CD91D0FDFDF3F +6E03A90ED01EDD1A46782159CD55630127CAB4C9249E4FF166644F70925D7FBA +D1F5BEB2A178DBD6CB21E1D3D968967A1447E5C9D5156F2043E9B57232CD51B5 +2BE00F21532431D428B1076EF38DF09636DDF33F771DC0346FB0B2BE60F45ADB +075D21522955F05658E23FE5F40AC5A42258DC11796E8F834E7FCC4C523CE5DE +A7918073D89DA1A5EF78FCD1F235F32A62F24152014C0250B12E20239252CADD +4C97377315695C92C8F66FFCC77B2D7410BD44BAB276A22A7F706EA676E3B326 +8EEC5A38478C0F43CE39C9A9EB8F8FA55020FEB0FDA41F43DB0FE6EC50B444E7 +BE8F8EEAA651DCCEC032C7FD8C0B1EFEB789F812D0565F4BC740AEF26EFE447E +2C65DF37FCD49CE071C3737E44B9E00D437F3DDCFAF43196A7389BC28711ABCC +CB06EB5A36E90C1F95286B0C5DB893173A5780E71276C60EAB7E25C124964778 +296D06C85D109F58C78C3514CF2FB460C3623CA94748172F64695E5EFC356991 +1E100A036EF590EE09FFD84314D9394BFAA9FB9D679B921F0616F272F26E0BDB +8D5F6FA9E78387F3C3D217AB69A6E25B87D4414045A3317968C12BF719C4E2A2 +1F09F3A1B09E7962FA39BA2114DE79D2D8C304D53F1A0044B5A38537EA95461E +EA1A3CC7BC94693DEEC359CFCCD4D9D8EA663BB0FCA9AF7097C51628150B52F8 +2CD1C5811F86578F44E5BEB7F997758232B7EFE00D1CD51EE1D8B35EC2E6B2BB +0314FD0E2835FB97FF4E6A195041696C183D62872AA2923D802D94278A2835C9 +1E1AD8E481CFAB40DBAB63E602D113C81A461ED958FCE4B697269BF4593E30CF +027EF28C6B0553B63380AB39B9EFF0CC8AC64DAD8AB403005A838C298F8762C2 +E5F97D8A902C209BFF0F7D37498A6E2F8AC2E4CE7FF33F6FC55C5C21638900C3 +AF88825D444E3C0B1C0983B448D4C21544A1EABF0254FBF5D937372278CD8942 +5AC6A92C36E145DD1BE65EBB4F6F2AC454F58EDCC6B7AB68072FB6209F540767 +0A26DB1F7F5D67C4D22790BCD0F1E86976698115A2DEBF8CDAAF3BBEDB05DE5B +CB73C7BDB049F2D9AFFF0D1623C49F3A52C4EDA18B7B6BE5C494D3BF1A8022EB +E619598C6FB61C68169211790027B87A0F02EEEFC6A7FECBAAB4B15C12C70309 +D5E26382850017B448059DD5A6892643F78B7CD6D91DE5FD6796E198D7C30530 +73445ADC0F6EA36C6DA9CBD276DC4FAACAD5A172C123F51BA75F725249C5FD6F +D166C835E1CE79E47B2F76729AA8A46B6A7C759B64D7CFBDD25F22AA73784987 +728DA53B5D5FCE9161F188077CC0963A83396A250BA7A270371D5466B8FF9402 +9D622FF29E2C8B4244E4E16E85C9D0C4166E42246934DD00C08EF218B03254F3 +561F5E3E41DB2B2DB1BCD88F7FDE6F59961B6BE0AB7233364524268F6FC80A05 +E2CAD6D430204F12EE6C72352173DCD3C8170187CDF780CAF45A8E0C2D394A26 +B50F8BE7E44415CCEA5FE4C0CF761E921D7D2992EB24625547D3E5AACE78232A +361060B3AA3D532005EBE263002D398265C8AE6C99D80E14D8E02C1D3C4CD54D +CCA57CA4B5378B538D66103E6455B244B9BF9C400BC802A021411BFADAB77A90 +9E2842E0AC5D9D07D01A4BABBDE2AC70FE5265D00BF27D33F234424570C58327 +093E1BBFCA3FB51909984D98AF0C5B1C80F749FD6237A23144481761D0CAD86A +455B580A4BBE440839A54B385C9E4571C466AF1AA688CDBC0A6BFF8EF29877FA +13D418CAED879EBB382DA7F8B23C07EDE4EA5BEC2AA85224F7C29A671F032192 +B962B51E71CE4F9FA406446C3F30BDB2FCE712EB0B9A379645BDF78DA0213499 +02332707106BBB5D307960E9735ED5A2215F25778D228E428BBFDE658A8BAFF9 +2184EC4F491A182F4ECDED721EE35E33C0B69B8068D5D3E49D52BF0708D97515 +CB6CF112C2A89D2D44816E907410DDAEF58665A2B2A2399C57BE1BA0D45CDD15 +1E01EA0DF20D458F5319E19372F8A8F5DFE7CEA77826A5D0246EE9FC5A348681 +AA246047CA29CA6B442FEADE254C7587D4E7EEF44A34F5404C7F799FC22BD819 +7B11E1B0AAD491AF467D96C2EFA24E139633A0AFA816EC666651DB44341E7283 +CACA75B3E1991251AF9DDBCEC84F40FBD93CC8D361A136876F2FB93A5BDDCDE8 +08C7E66BE894C84600096B30AF73CA72C9EB2C7F36E27D00D4347DFBB8BF2E8A +23CC9AD1A901D6705C0B8ED3F0313696F1B71E644AC44EB4F81E8848CB5D53D7 +6AAE7582AA3AE49DF09617B21ED1D5903D85F35CBF7640218CBB724E745DA73B +4C8B5730D1EE3D88940F645CC893A8ABF5E1A2260C9BEB2E919298D7E8EC3D47 +A1B7110B8BE409368684A13A7C9ED9F62493B0CB7FEAFC9BAF90B7025D2E35EC +C22DA1F2904196A398C3FED62118BDA046C0DE4BFF9AA2F9772605D04C031216 +BABBF999D8532747C9160EE28352DCB95131565720F61FF5AC827C2A08537531 +3DCF0514149B7EF38084D649289E4600F5A67256788F406EFD37B13654F84888 +CA17948C9FB31CF86E555B4815AA6C858DBCECF2CB5C7C49D40D8F7CF28DC096 +0B055900D32516B39FEB7B66B0473396CC9E439029D8912AD08CC15B657490DB +00FB53FCFBA5AAD92F9492013D09D9DB48ED299C49744D7F48C9E39E6A99ADE7 +AE908D2D4339EF98819CC2F3E4EF7005FAA7AF98AFDF7500359B651D485FD03F +069395B41D5BB131FCDAFB5CB678DA317AA3082F03FCCADA7CA565352D8CA24A +715AD961790D552E9D7685497ACC5DE6C22DF58627399F63ECFF4FE661FD5B57 +F1F992CD5354D18730FCD42C30B95AA1BB44B6BDCB3F66C3CE2347CFF75FBA92 +ABD47A5E71EC269E52AF42C4CCBEBBB94A5BC3C2CA0CB73CC17E930B62C13466 +DEEE44B3F89EBF770924801E0E333EE9568673B2F52D1D58BCF447C5B61E5F66 +6815162CF27B89A4D29FE3251AC5830FDBC20927EECF2B3508E2EC1CA419B691 +A2784BDCB4504EF0AC1C00D5E1D21A7DFAEEAEFA9F72D5A603ED89EBB990D4AA +98F4A3FDCCF881D82CC875B1AAF3E7D136D5F64A21F7629A735214279CF668B9 +F5C990DE3196B84BE792F51E17583FD2C63BDCB47B5C404D62BF45C7F684E59B +9AA6628DE75F6388B109278BCECF4B659DBABB4AC20EB75E7EF41A4D598A439B +C8E1F55749C832D6FE26E1653DD01511DD562B227AE02B2539F6DACD88AD99A2 +B686FBEC34A6F9EAD22D41732EC66D4BB0A88B525B2DA2E5894BB6597DE4F24F +D96A27DC8A782878684E7FFA7C6EA84F44E072E2D1DCDF2C7817E9E1BF3011EE +34B5A69B095A883AEF275CE677BEC2F1F03C8B055DBFF479AFCAA7FFA8BBCA0C +BF20EE6A72E0B19837156D85598CAB7147F61DBDB7B4064C0266F3CB9021235E +56922D3FDE6C0328F4351CB09EB08DFD8593B1F549F66E4CDDAB90460EF5591E +E20CD2BF7A9DFEF4B00101DE772079478DBE76790278EEA746DFCE6559CD37C5 +479B0824B87C47EA56CF5C7FD74B5E4EF480988AA30EAC8CD07D10E5195C253F +2338CDFCE1F3CB0E7863E79AA792B335CB8D729023F4F605D78E5DA833999F9D +8865568D6D6F6F2E67F0A7174C707B8F0B73F975B17BBFB0CF89739AB0426E9A +F0F22D738C719920C770B166E1A5550FF046C82F37F0609209271F4CD93EDEEE +9F560561E5BB3B5FE9543C0C259B642DBA92F0A46A49DA660CEC3E7099B2CD07 +B8AAD1F5A167DAEE9FFB7959B5AB14698FB6BA165191DD7EF61055DD54C1DFC3 +E44012F8821FCF8039040F4DD94813A3403894775B2DF1F871924CE2C0479EA8 +C8C3375048C1A49CA02B5877B53747D33126D4E427FD7ABAFE5A706DC951E1C3 +12D6188D585FFA65F1B9EC81442B2266DC64586B2D41C54C50D263F6BE4E8478 +28EF874F28F29DD37974C072F84DC47B5496C03BF3DDFA1BF32D8F4B0815CE63 +E3B442ABB2794D20E516EF5F2D36C499301E82650E7E52BD3AD604072B3A0852 +AC1B0E36160BC30D7D79C90259D2E5453816A0AA0C07BB645BF6A308A869CF1E +87865BB4BD765AEB0C8459127B13F28AC3F8ADF10535E3C1C1748F8BFF336C2F +828328C0294940C433C92CE278185427F68098FB5941E03892943BD41ECACE4E +2E123AC89F962ED29973CE26568F78981B480F688646A5C8C563B8FAABC7414E +3E8B5854442C5FB9B7C287E2FA10D86AB5C6B078D3A83B5BDAD51725CE38479A +8CA61A5985F7D9A1C38C9617A4CEF30634C7107FF9847C634E68611C1C54AB15 +29C116D193A3BC7B6EC649B9923A92343BFEB7CC1F7D7EC4EC2DF9FF5831F242 +B8B5A0FB902F9B2355F42B53DF1DD94D3A6457369A57F0B9ECE37C79DEF7342F +870279979EB7850AB4020DE478A1737A36870CCB24CCCED271FD5F7B547B77F8 +1BAD985C73B05A79D3C8661A9E8E68C0468667C02B9DAB14A4120648C8937FA1 +BACEED127806EA9D61F8465CA31D883BC8D9BC6BBB5ACD78AE44AD97C493B6A7 +5D7BD09FFFB75ECD79644D1E630C968ECF06D7ED2A82BA4DC9CE787D2F09401C +79F1D5C66569028381FEDD8889F3BD611F8CC596F700150BDC4D233F105F079E +E6DBBABD310247B9BED3277F15D4F8BAC0544715156A99395CC93B6189189FDF +D3AB62C75EB26ED50908B89BA75466127A0DB5F4A5A1D91B228143A49D0E9976 +1E066F7FCA3E57C46F3F924AD3D83219C465A187E7C0F083740C18191F515E47 +FDD5BAFB1ACF90DAC3704166CD3DD128179D7720635059049FC2FE518793014A +D5E004FC3414502FD8BC997C6B5AB50B0F6062CD391CECA3DEBEB081964C6150 +ABBD5B3A4B88B8F21369AA59B9C795F62C5C29BB006DF099E1885CDF9DD6B876 +D38FD4EBB6F38FA41E805ABA69E62D6F82D4A44466747E846BA4365B3E03FD71 +0069E27741C44CE723969366BF8DFAE370DC04A694C5E5C3677CACB7D3ABF9D7 +C9D5BB053BA390154EC4B23F69A63BA054E109DA90DCEEB0091DD92F63279C4B +6483C249B654F1E695951C726032A58DB404A3B51AB7386DEC1D155329904388 +5CBFBFF18CBE592D192FA4ABF53BD1A28704B84939C7E339BA3F4037264F36A0 +1DFAC57E35F30F533077FDFA6DB83CBE3A67B226BFCBCD1624540A9E17FC3579 +42D126EA5B0D8048C39AB0CCEC832D418F137198942E87D4BC7ADA4DC8E73FDF +111B23918EF93CE8C1147B93A7EE8AAB6F15B42C0D0D2512D7931EBC886B0527 +17039570A75CB813B32A0D2F96C1AB2C7AFBFD69EB36665C7E12F29EC4BB75C9 +1EBF4DAA942280A326B0C4356B774DAE57D209909B8548AEB76731EE262D6846 +27DC8F839EECED8A0313F774F803A3C3D74B91EA0194689021B4AB52911C6170 +4C76571A411C06A05C51319B0B1F5603D01750BC683CD95D29E6321DA20C3D09 +2BE8CEC412D7448B318C421083026BB2002E68A7EC2AC67823AFEEA015219123 +08EE964241D8D1ABFDDAE449FE68185327170B046B27F59EF671A4C3E378E64B +4D449EFC540FF793F2F12357B7A661925440090876EFF1E89A9D4497CEEE9946 +E7B535CBAA4980A4A6CA18EF96572A03F1A79EA528049E7D123668E21339990C +BE9FD9DE57CC35175E78F1D4DBAAA13CBB93874433B04EB8D0AC3511A660F890 +19257B334B648E11C3659B24D8FA804D52164DEA4DA88D0AAE1F0B28330E00E9 +D210D7B972D494AFA5BEA06C7B86D91C9FA2FE4F84BD87FBB390B65362AD2B23 +E0ADBE4E27F6AE19EE8D7572AA6ABD408BD9C0E8653A8292AE93807490AE8F1F +598B619C5ED0F36B9D30ECB1BD00A429B1A39A6D5A637A28A1A9236744BC166B +91015CF80354A5FD2DA591F742DF0159CC8BA919398751D8E4D6F8C0C7B3D1CC +D423718AA4352155EE7C5B20A9A4C08855A1EE03A2CA61DE42D78AEF01674987 +35295CFFA3405507B7093D9CE3EB8C164A42676C4C753AFBE1C003A8E3801B59 +5AF117F9B54A53FBD5378E48DFFBC68DFC14A4E823B29DE32EA6B940596E0225 +1EEDA8600201A86F7CE1C67BDE0D385104C7C0730BEF94DF3D9BB2161F965FEA +BDD6EA2816A459C8B82D140344608E6AA9578B2CE81242B2A36DB0E19710EC27 +BBEDDD25AFFDE220C1625115D9521283139769F56B466B95CF4D412DF23AB1A9 +4600B4E36A89586CE50FC9C168281F59F45D49BE8338A8BFC707E48457134BD4 +E40FBF297E85C3F343EF97CFFBD941EF5C3B1C10287CB787EFF59E86B4A72A19 +98B936D21DE023EFEC3EAB42278DA9E391EA173B346DDDB948E7D211EB024576 +53F21CCCFBC9E1FFF4C3304223F906C325EC1CFDEF3AE91E163A19846B3BCE5D +3168251074A8B534173F947839FB3654757E4DFDCE1FC1024434D195964D1D20 +D0D4385F17600E1E43F5EA1F88493D1DAAEF40DC6A813F173B2FAC2CFF37D2FA +754CFF14256BC57F3A4929757B8FE19B61CEDD734624CEDF0FAD348095682BFF +0737C02739DB44C20B069105A287FB8C8D3084FBC681646E30ABD086CF9C09A6 +B0FEE7416646141CCF01188858FD994787FD2F1FD5B46B5FAC77CE35CF57356E +95D4090954392AF6E9F4038CE1ED6F82BB418528EC3E9BA9597ACE2FA8F5AAE9 +1606BC8FB9FE50103F0103CCC8CE5866A2B146A9A3B873938F7874C50D301871 +6E7DE31606AB2B516787BD4341B92479E72AACF9ACC43C0A5EEAEF9D3EE785E8 +63E59BFA94A109026D51F307DCABFC281CB7AD124FAD88841498F5BB3F6CEDAD +F04FE4590EB482F40362CEC29A918CCB798C30DA069C1E3F35AD6B673538755F +135C333B87D339E8C580C44EC9A7A4331DA5E3052A639AF351AD71750A793AF0 +49CDBACD75CBC6ECA33F35F17BC136551AB9E354C905FC9C5EC74726E14FA3DA +82088F2191103AD4C2D47E952C56DBC242A4E8AD0DE2514FB118396A7A9C3D50 +F45DA7B7AC84DFEEF47FDC2B9D64684E50A322FE625BC7D1AFB7A7ED9D2E31EC +9553C3EC0EE8DDC9546D4F64411F413D11D4F97437F7506D60017B4E5A7B06FF +E76B8FAAB57438215F35E66B6BC0638BEF00D6640F53F8F10E30C344664A53CD +B094413B74D18783BE6673B8F5EA4542CD4F39D0A5609F00AFA9B68B53A4058D +E7406C29AA6CD71CE5EC69F97CCF3F5D8A621A69BCC42ADF231AF58032B8A905 +FABBEB68A404961A7DBF1AB5613C04521104E0141075B747F4D4E3584D4712F4 +D39B6D5FC5E1BB8B4577EC7C6587DB9F671FAABEEBEFE1884B4E02BD2CBF5DD0 +075DDD3FF457643E9B7FA3D8A7F5A6FE5B7DA4A263813EE06ED5DB1DC80645A5 +DFBEDC32C58223FB032506BA80D412BC1371BF8A5B0B825DB940B2125C16F982 +248B4768202C789B363F4B77BB6F513F2D1CF82BE364B0469D7C5A98FD2B4B36 +2D9DDB163B01F60CFB6D04978EF48F9154286FBD511C388D8E5A1679DE7B5B44 +0C24318B21B898E18D4175AC6BE1B3456541FEB1FAEA78347962578458200466 +66AD30B65C11C377B8756144A925E5C1793CE99718EA4F30EEE3A578921580C7 +A2F06577BFFDDAF8CB59CD95FEDFB910B6371422CDD07263005CD5709DC4DB4C +7A578E3F27DF88EED64EC5AEAB6729DCDC2FF18C470C3767F14B0E835AE731BD +1CB199AA7081EBCE71ECC0A533F557AB1EC3653E23420B95476B498CCED07147 +F459F299DBB3A403B26056CCEDF294BF5042ADCDF0B0AF2F35E7B3325C9D97BC +1D32360ECFB378192605E726A3DDA7E5B78960BE89617CC9B46FBF2F7279FD6A +1A1A68C4191BBBC7830B83A62A0D2D3A7BB0659B58E3E4F021F638EAE0108AC6 +ED1F473C705AB25634F19770334684CD70084D755DE0EA0612B985AA1BB8A7F7 +09BDBA6705D80FBF0D30A38E19BE0B99F0EACAA52EC073331BABC2B016D4494B +919E49AA24CD46FC03CFA9F7FA4985EF3243D6377C8DB09782A8AED71723859A +F26AFBB736DA74068843214442B6CB1AF0CDE7B27ED2707252504B6C74D1B121 +593C161EF64D57F39DA7E5CA0A68D62BF6FC705468B2FBEDB082DBE4730B36A9 +B89006981089FFA13034B8CFFF37415CF6FB58654E826205926D24E166AA1BD7 +0D4F179DCBD9B37E0C4A117BBD21E6691069272A6AE455B139EDC65CDEB55E33 +E66A5461DE6CE070923A7263346180106CED1441166D7781D4D80C42DF15FA0C +223FEB058D8200D78A4D5A13A5294A43A57869D21A83C2C94DAC76445E612D95 +316D7B5C4F86F1DB7BD35DA951CC34EED499BA9B2A0BD76D2FE72FBCF8374E83 +32B98D6953FFDFA8A4FBC27D932CBB65408DEEBB298E1EA6E3E3EEAF3479A3FC +51887E252E8CA463340490CA6634BFA6F5B744042434F273E1C58A786564ABF1 +C6ECDA857DEF705119500FC326EFBE9E02C61D74DE137A8A0D6BBAC6FD78FA35 +974D652D776150D7BF0974F5981679567566BA4052AECB6F30ADCFD2D364E623 +338F48591719102119E94671DDBEC5D0C7C8B6147928A0CCDB842F2F84219987 +AF7B7D0A29D43472147FD04D8B9B9E40C1E604CDAAE140EAE9870B692CD09700 +5D1500BF926CBB9146855D0C7DE9ECB22525A6012729A4006203BC8A46C7A6A6 +0DA0F1647FE95F23639AF5C05AB13D5A1C28A17DDC8EFA3F3FFEDC64A46A32B0 +E9E51DCA922C9A5303228F6823D5B9BF10D3CDFF8645F0BE1E25404BF8131379 +A057266486B958F566C1B6345A9FD75F123B9D58A04D880971F6973CE66BDBDC +2FDC38E3993120E92684EDBCA030B5FE10E5D3EC16D4BDC35EC16E0A0F1C1991 +D0F3058956C0CDECCBF604E5F5FC71490ADD5DF4A0743E8296350CA438220012 +4B7C22AD75592BE8CE7D259DBFF1CF4487E0A932F474ED91EFDF386E7DB94B38 +5D93762A7A83FD2F1415C012F74E253D45C14DFEE37AA8C8698AE746147056CC +F2A0DCD7035A43FCF36671805F0BAE1E6F8B7F840771BB764DB8D1C842E89EB7 +742CFC5B2E565CFA592C54A42801A142883EBF015FA81E881D3A8A01E1FA253D +089243715F21EB9601217D77EEBB0D305A12A4E70A501393786FCDCC0A5CEB3F +C42CEA3EE91C47094617BB0EF98074CE6116ACEF6302E40AD25CDD4C780BB7B6 +AD8195784DE96BECF95B625F9BE81A434B2E6044F41E0A37951CF078F09A9616 +E5E09932E881E9AB6364E2FA747EE9A89161F93F178D7A24AB2C7783CC4F798B +2719D9BAF6807337B8BBE3F3002874511B22551808E50151C166892AA2415303 +D2ABD61EAD6A41F3F54F0E2EBBEC84C9D839CF9231D4DE942B7951DF1BA5A7D9 +809CCFB180F8017A84BA6BFC1BA5940ECA3071CFC7A49BBEB1B913570A51B2F9 +6D302EF8913C6BB60C0315DDC3B41D526D99AA5755841BA8D28860C3CC71E65E +54921FAB9ED7F964ED314D50CDC06341481153D90F4211BB8964D3312AFB9189 +8526FC628BD2AA4BE6827F36311CE0730E2148AD363D40FC75EB3F94FDF3A730 +7B1CDC5FD4B7B6E0580904A27FB07FF02D4882FEEC8C902751B664CFCFF3CC0B +052242C1533D2376DF3EE5C4D9E6CE9F3FD3A30F4F015CDE9893D5D66C804F03 +0B04DF3E63CCC959A59D93608E66A61B5B69129D74C011E17D29116942BAE47F +67EBB46550B21E66E656235F280A1EA57882058278B09BFF9FEF74B02066AA5A +0148B1C3DE08F019FC9090192F172D05BA3046172E87402DF3168B3765BCBDC4 +1758B4122E88E548D22E15A2087B61FD6EE87D4B60F6343B92F1B67E0B8B99DC +D7EBB4E08F06C1CCEE242DD9DFD4EA2DA553162A2DB3EFD07706D953C664D15B +E0E19437423672A26B560AA588C1F1CDEAF6F9797EA440F3987FBFC0689BE4C0 +407E9819FE68FC2C4FC53DB8575A607D19E71AF5CD302837BA49E58F8E0BF807 +385A4540A35CF347DAD4613F91AEE64B11F62A03FC714372E1FF727EDA4DB5C6 +87282A10D31D881F6C47B03DF8DD02C934EC6F25EBEDE4E7E701EE1DCC450CEC +A2832CEA18B2B166D045A17525FA1748F15FD5AF90B8D4563F3239990248171E +C037B8D0E4544BD0B9F026702E30198E883BA755643AB0BB89428A16AB106653 +0BA1C89585BE48BB8BDC382839AE8C789A6339F7D36DAFE163824896DC2A9F31 +39C772AB771A74EB93E3DAC78B1A952BCB3C63AD1BDB31260FB1758BAC67E142 +34D25747F1E68E0C36FB53A4A7ECBA85BAD11E560633221700A5D79FD0452BAD +2E9F25E46C51D541D23F9D2633D0ADDAF128E4E336E2BA5DB2A6B8B8195337FC +A53EE1174424C26B9F11A27299EE02E1EDA87B8C246F89A0EB22D1C6FDB17142 +AF029C3AB13D89860528B5728B7942163227EE715A2BE644EF49AD23F49087E3 +B4F7B2017CC4DAB7563CDD7BB8549B2C24B0727ED9A42949C0DB281F577FEB3F +A5D85CB3AD07FE1FCCCA6BC89C2B640350DA641882E8CF028D9AA9EEB26A165B +F75291EF6E74899AB3A9D824CE570B04A10F3045B175021256F3966F8C6973E4 +254B3E605D891686B26DCA26247A2D23E1068AA8DC7910808480E6921ABB2153 +29E8C329CD0EE5FD1938C3476C22F9DAA5081AB3221E95E5B7278B3AA17B2533 +A0F1B6CE3B19EA988238563F21B2AB6FA1AE122A3004B41BC98501FD21BEA832 +DA9F7D9260E89443A3941E74A7B6EAEF6F0AAE5F86D15292F55716550613A12A +08727F3D9A8D93A300D23554B72F830EEF021FA259BEEDB8E53DF62FC14593FB +1040C4B8000F5AD372CD4F290E84611217ECA70B2B6B818151C068CE7A4C9CDC +63226D68B6DF0E4167A1A8C656D9F4C784C1C89C0B70F7654DB9EDF8305228BA +8CC8209181E5F9EF398C700948FADE7A6E4B2335E903D3CCD64DA9C60FBFBCAA +75969712B8F49B644367248FBEF392A687C72148538F83E41AA6E52A13B5158A +C5667F8941D783611E1008B05E8F31B235ACA40C12BDD72980787CC86DE6B251 +7A10432575088796B78BB3C129F66885C49BC822603DAB6480C092C81F4C9AF8 +71A1A462A81BD4B4834041239220EFB97306A6B0B1DF3BF3AF690E1AD2E1C89A +662CD201FBEFD6DE3A2FD8163972726EEDD9A4F527AB12B9EA634D92189D2B65 +0E0B1FB2925BD613B78CEE8C67EB46729178CCCA5D312E8E0B4078AC80930080 +7CFE4BF7CAB2D45405C897B2DAF5748CC962C2E032AD6D106CAECCB7E2EFF2B4 +D90FFB8BE2F427D339D1EEBAAD58B0946C6AD5B8D1D335D2BE126B6AD9BDA8A4 +6FF9260E54AC35162AD89236BDDF5936B95A2DB43452C78FB25F02D3C223CAA4 +36E0CF740BE6D85F8F6F8631BDB1D0AC05ABE2E98F09BB22DD1B68A0A278E026 +84B907CEF368DD836DE3F8B9D043797EDC00F6DF91C9A02958EA01F55F00D570 +164575164E1697AAFCCF124AF3AEFA50A02990447C249FEC94EF94D9F2096E76 +F1C558F40812444C6F0F4DAC39A86BECFF82024F043B8A1F226BDB844639C5C1 +AAB3CC7383A85BEF5F37D69CC9C71C59A0D0F33022188CAF84326C26BF3F435E +6A6E9147BC1B68EA135225157DBAEF77E340AD3A923D8C7BCCBE3D2F962C2514 +671FBE40417C2EA0F236C7462C608A5F169BBC1FDDB8DCDDCE916D730C61CA24 +EFE8AF8F9056AC944D776AD1AB10289EF60D240F532087DBEF11B1FDB1281D97 +6A2120A6C46C22A26D8651341B0180318EA6F8F74453C82F5F25F7B5F12F8B51 +C5A80C5C7238AB883E083EA59959A3000F6100669790106065F2F956E07BB110 +F1D7FF4A5199B53909D691D0CF9CB9086D116D56152BCE329695FE8A830F5C21 +3E4499C14B7B552BDCEC37E745415462F2538DA07FCA272BE4D277E12829BC46 +E495118969616EE7776AA49801C9A84A76F6A2812AF0DEB6AAA7984479B2CDD4 +CB3D87952E5A701E0F825B35DBBF865F372CC051A9D010CFD6D02CBFF67018A5 +65B949A243A214842D16062151AAE13D9A8D6890F4E2E9F09632FDA612B34B33 +A9ABA74A55561D2C07AA0A48FA9399079C6104B24B8FA2F392F023B8A9F279B7 +DF18CD7C63EA3C15D4AF10098C3955706709BF990E9FB252D7C7806F1AA59FE7 +7425FE62C24ACF71C2701BEF1C215BB3F41BDACF4B2D094D0B4149A5E09C9015 +11F0F4FF29D43DE342018E67F6B116ECD19D0A6E00AB3917128DE2205D27D2ED +7271F16CE4826618615E56C87C30CAFCE21C74ED943A4EED0C1B3BD32479CB4E +886304D305815128532889B531170C4B10ECD0C976C18F6001A18D466E40C5FE +FE679B57DC9F4E79BE368D7C013F1C006B5BFAE924378845EFFE3E8BFF97F1B6 +024AF136572B623E3EDD7B4C069F185DE218554B7A51DDC1C0FA2E595E1EE2ED +F7BD08F2EFD59C7EA11F70FA5E66B488F2FF6A4C39417962E0DE97861AD72DEF +9AED159F92452F2792469D4BC8FF30DF62EC6EF7FF5542CE8F9921DBD3DF632A +9B2B3308C641EFC16613B8AD5D886B7BA368DEB5AE7DFBB73FD1A0039F86E848 +9003F84951D921901B7D738B10F304E91752899F9A3C1AA557285C8A9E937B47 +C02DA468E1B1405446D985B9E75A108B79353B3209C01DC47D2CA3D7E500C9BE +47338665F1538F2B21C0E5BCE6D4AF2E318F2058F294D236578CFFBE68A01267 +7CFC3848BB5760CBA1D313DC83B5E924BD35B37D5B0B305A12A4E70A50139378 +6FCDCC0A5CEB3FC42CEBE02476298D2A06C327B5710803A5212C8CDE88DB132B +45A97D18DE71422038125927A1E63836A1EC53E443C0AD70EAEDA71AD36A1E14 +22A76D86F602E1FA74D8AD1DB0D918F124929CAAF9701057B34D94BB8BC0A27D +0FD08B6C4DDD168E78817B72CDDF15B11F1F4383D669A5495EADC0D6D1559DE1 +6723BFEE1B4FBA65ABFF7C516F5C3042443E6C931F6CC6ED108E765C879314E5 +32D888A1F622AE3AD612DAD9059A3D7F3BD63827E28F17D57CE9A481B68DDE13 +F0F9671B2E7E4B03C30FD2970B441E285F741FA0C386F50D2C9FC7F252AD669B +B39A194929255FDAEFBF0B0679C941C32D841D4A55DECE2558496E6EA5991AEB +A592BABA2DB6F3D663808C2BB6B3BE5B62FEC3609DA59FB6E803A0A99CABA828 +2926A96C261ECA284FDF9EFDF3F9A86A36F79C2751E13EF76818DF4B04DDEFD8 +17355D4F877256023ADE33D6EE10BE2C79698115A2DEBF8CDAAF3BBEDB05DE5B +CB73C7BDB04AAB7F46B3F3001A3D0E8A24476C4AD49E132249D0F334797CFE7B +3C2F216F350BC6570BA60A15B635942EDA2F5B354E5E0D381F4C3F5A3DDB5381 +CFCC78F31123A59E84A773A3D8D6EB13077BABA4E019BE121E24F0B4BA11F6D5 +EE1BA38B76CD8FD94E2F8F2607FEE1B55382A62B35FA16C62D3C021BFF7D1D58 +076DF9DEE1C88F784545DE39EB9AAD915049FDDA2BA27F1274FEAA290215293D +B3556C05BBFB3BEB72E10BA808BC0FD76273E59F0822FC8F6D2CD80571E964DF +B2D573197D70F660851E71C8BDA874F3E2D1DE3A9C4D5F98EB75FFE015214E9C +FD6FFAB1BE62FD91C88AD7CE0DFBE01F693C28B2D58BEFF526ABC2504024C85A +5A0CCDC4B5776FB2064AD9ADFF13751459A43100BD792AC66456CB69D6839672 +419C798894BC1F4011928268564054DABD9EC00B403AD47A076896AF88CD71A6 +F9A2565C497B979CD122D36A2780C4953A2DE4FB007EACA9985BCBE259E5669E +ACE3B551EEC3CE13B1FEA2D88E1679901E8744DC215EFE417DBA1A7B4C1C64F0 +A2496CC56FA3D3124D025C2D6410C56F5878278646903FBB184E7917E6719BED +90A5AC3D26BE9618DC456B84D91A6C7B84D04CAEE53756F2D6370EF51DB674AF +26BD33895DA140B5DF4EBB34A266BA433841EE944935BCB8AC2CF68371A04B26 +24925C12C34A471C77EB2CE8EF6F006E6FD708ED39091E301F077FE7AE2463F4 +0DA83FD594F68D55F610196542E9274F2DBA8255D6C63A0B4688F425DBE5F28D +56BAEEFC0E0DB0CC1A1556F178DFEF912B921D440330492FCE24FA56717B7FC9 +FDD93F6E9C02980D753E431CA00C25B9F93AE20C066D24CDB7FB40299C56B388 +1B6F30FF54779FA02B8F777E295C8C73F227FD6AD12E25B1198FCA1434536C8E +38DEA96A9F9537DE2D79DDDFB2E80D58B526E64776C41B0C603420E5F2423C2B +0148AD264567FC44367C28A4106C4A482A647C8E2DB6AA0FA61D612B85773578 +30A0F27E935C97232CA97D98E7C1AFD1728773ABCF5095DF52827F92E209D0D5 +1EB056F44EC9CB1760961D62D7E6A47E9DAECDA2CB048C46A094A831CDB00F32 +3365D6BE6D90B9BD17FF9E052A0B3A18B20FC54FBF0524A61F98668745C48DA4 +AD6F0A46EF92547A8DE6565606336E6BC04B5CF02812D1337AA060FF82C5B18A +364954831522B714EB9B17C83AE0AF35989489779D050EC8E53897C3E6794A2B +3B231D5B7FF2BD6A1CBC3A17FF5DF62035287BCDF0332C546BF48C5C5ADC8820 +A6913088E942012938D2DA978DE082B818201E2078F23792CD4EAE6CD0D9EF3A +23B452ED77443D2E7102592E101C0F82A309B5AFA7D2F9188D12D9ECA1C93810 +B69C96759AA42C744FB85EF3D91F4B57AB6EB42ADD5650B463B162918D340FF4 +4300111EAA102FB4A472CFC427003D314642129B03E454B28821A8E7A593C3B6 +0490CA4B351AE075DECB67A202B131F55E12D5473BA0A1FE1124C99699FE9D04 +E79A7AAC4DAFA504BFCC28470D632ADE409C4FE6FFADFE670FCDDE4F4AA04B89 +0D2353ECC91122C559A126081CB9421DE1DD7BC57599C926D09EA6BB90A7E7C3 +D9906472DF11E519E5867FF4618DA0CE348EA9388C84A9360E83745D534B7841 +F83C126C22DC91997074CCF3526E58D17A3A1286E31285BD320CABDA36491A29 +D5D0056115A25CE175EEF7EE88EF4F3CD5F868A27A67439B4A68FF1DBB085086 +0612ACE414F3E98809B95E7AE149C993BA9DE108532115545FDD8E7A508FA857 +CCE2AA87F09476E3EBF0BE4E30453C54FC94A6A76AAEB8DEA6DD4B5F3110E0E0 +EA37DF8D06391B8450282DC16E8C1550BD87E033EC7E123B26366D3CE2011B25 +C5447209 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zerooldstyle put +dup 49 /oneoldstyle put +dup 50 /twooldstyle put +dup 52 /fouroldstyle put +dup 56 /eightoldstyle put +dup 58 /period put +dup 61 /slash put +dup 116 /t put +dup 120 /x put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 +990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E +6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB +DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 +59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 +D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF +8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 +6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 +1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE +03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 +95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 +74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 +3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 +47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 +AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 +42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 +40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 +B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 +95601766758C197F327101A9C9BF396ED625E27A7791ADEE8352741B8CF42DCE +E8F5D03B9E088903BEE40AF455AFAAA34F47A128D0060335549D25EC2818217D +0E3D43FAD9D0977F34AD09444CE2A46C8205425CE4F3D3BBCE003B34BD3B462C +06BB44CBC5442229D09291A50A9802B96655F8CC6DEB068EE16722426D0122E4 +90B571266BBAB023D0C9AC9760C8C8DAA837B237BD070D0BE11890934F5B4063 +94500FA4087F5DD6D31F2B895A25628BA2553ECD27D6937B91CE59E9208E8839 +5172ECD9E2734C68EE866BFBB1E31CABD533DEA79379D18F693431587E7899B4 +FC6A509E8C8341E4365C48E9AE8984247D6579B0B33819B484157B015BAA810B +8BC022BF97479D989F8FFD09A7AF1A6A5314AB2E812EC6D8CCC85AE15AD20B32 +545DC78656BF97A15CF918CFC66D1D7404821445026572D100DA69B3F0D4EF94 +D5C9DF710FFAF2E4B966CF1860114B6044EC262586B736A2DBFE5DD908307E30 +D84CC0D5F9E3626F8CE0377B3A4D3752F386E2BA79E2DDA279B594F9167CEE5D +C9FD4644D5E73F0C4B083CDBE47F776D6D1CFC61CAA9CC3DC5C00167AFE58C2B +93CDB5A0F6BC57B4C2EA0D1365C3370D4470A9D1616720B5E2F2661495AFAE2F +462882E23DEC6DFF3175DB6B344CFEAA9DA349B92654EB3E477EBA8AC40081A8 +FAF146F17A158AF89B768856B1899B29CBB5F32BCD9DD63C0CBD9D68E1846FE4 +D27B818F5C1DF0D84AED2224A880BACD26449DE34DB881B15472314B9A0D7EEB +B58E34B85B2265DDDC1384E316626C7584CA8B349E802269508884AC1B60E7C4 +173D914E62C802A0AABD0C9283A6169A988A7E7AF0A1F0AEC74A169239233581 +60F535A938409B7670A9F34A67C3D53E24AD4E607FB005B1B925D4A1D50ACBC0 +A46A82F0C7147FF0F2109DF3A50DE27DE8DDBB37C30A0F9D5EC5F87863F353ED +08C67DCC5B419BDE6E2B57F58E7557DF61CBD5859CC4EDF71B0BD24FBBB01A00 +BC5846B40CB7950AD74655D9811ED7A6C861D6C237A634B40C9839CA0679A387 +779C737932E1D2283B7A65829AD9F0C0D6B12151EA7C024A95F73C0942BC6426 +E24DA1D5B0AE0918C38269623F9BC71B9639E7BA07D9869942128D366159C049 +CCE0DD8A263061E09B7B48F0F33AE5DBA6E1AA94326575273267FBF05F0F9145 +D1B98C8EB7A6CFD59EEBA781C6D4D4320026BB4363CB43AAE2ACAF180E24E936 +68683DB24312015C8B59E1F5EBBD4B59C9E0BCCE4602D0DA940F518253A95A69 +C338C10446107246231FB5663E337B9C3D8FD145678C2415F00A4E821ED6CF3B +D3CA8B3513F5BF0F8AAB26367A3671515C34037AF093A818403356B4C07A359B +AE0D8DF96F8D729208358D98A460787DAEE72A40E2E77A924B4E54DC9B55E70D +84FC1A97BAF2B872AC6B418C4D0AAF872771AF32A5F332E0F69FA5C7BE4F5534 +D3718E1F6B59E25E08E5B56C0A0AD87B10E38FA9B5FCD6F889E5EDCB8678CC69 +426C6CE82A754A6DE4A750FC67C5B6ACAAF681472FCBAAEBB44A7FDCFCDE5564 +933B3C10C1F910D87F6FDFC63A8C7E20CBD6C4E1A08EC310B1FBF9CFBEFBC712 +4FA9CD3ED59AE744B16723F8D230D79DAD7B433430246B41C23C44C254CFAB9A +256A516FA0435C96DCACA8649B22DD474A6B7F17551DEF319E958B8D8CD6A6AB +9E0C5C6461F2474F88AF2434943F53A8F2F81CA30EE422E1C050B940AACB6AD3 +BF676842A85AD94662611668FC7F991D6A766C0BAE50F54E08453AD309976E4C +FF1FC3D1746AC57707A667532F9A720F695E78E12DC4112BC8304E13F86DB058 +7C06C24FF9176919128EC7942019B11E523DE96B93617F8289D69D5C38A73304 +2C884940B4E1D1FF419622B0DB1518B4F8DE434D0A6038AB64418ECD8054227F +794B8D34FB56DC165457D00D5FAC4315BCCEAE5FA300611398373C4DE151FA3B +7A8BAAF9C8130BBEB670C41441D0DA1678F6DF5B7670A1CD15147F2B8A32F30D +4D8085BB408165C9427053520DC3BB68E905F157863868650D930A3056727C3C +EA5F2C33CE02C075E45DFF3BB303CCF5650A4E75883185DEB33D3AD7A41D4060 +38B8178167752A3A164A2857AD3EAC08A7D8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 40258437 52099154 1000 8000 8000 (fig2.dvi) +@start /Fa 140[437 5[922 109[{}2 1106.96 /CMR10 rf /Fb +74[667 181[{ enclmts1 ReEncodeFont }1 1106.96 /LMRoman10-Regular +rf /Fc 135[633 3[400 54[553 2[307 1[553 3[553 1[553 553 +553 48[{}9 1106.96 /CMMI10 rf /Fd 139[430 437 2[615 1[615 +922 307 2[307 3[492 1[492 1[553 12[799 15[846 23[307 +44[{ enclmec ReEncodeFont }13 1106.96 /LMRoman10-Regular +rf(ec-lmr10)cvn 9.96265 /Fd 1 fstore(cmmi10)cvn 9.96265 +/Fc 1 fstore(ts1-lmr10)cvn 9.96265 /Fb 1 fstore(cmr10)cvn +9.96265 /Fa 1 fstore end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 8000dpi +TeXDict begin + end +%%EndSetup +TeXDict begin 1 0 bop 8524 23867 a @beginspecial 84 @llx +280 @lly 296 @urx 442 @ury 2120 @rwi @setspecial +%%BeginDocument: _@temp.1 +%!PS +%%BoundingBox: 84 280 296 442 +%%HiResBoundingBox: 84.51865 280.01865 295.23135 441.5 +%%Creator: MetaPost 0.901 +%%CreationDate: 2006.12.14:1206 +%%Pages: 1 +%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98 +%*Font: cmmi10 9.96265 9.96265 30:e8a4000000000000088 +%*Font: ts1-lmr10 9.96265 9.96265 b5:8 +%*Font: cmr10 9.96265 9.96265 6d:82 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 0 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 114.5 302.584 moveto +114.5 441.25 lineto +290.25 441.25 lineto +290.25 302.584 lineto +114.5 302.584 lineto stroke +178.72899 282.50935 moveto +(Time,) ec-lmr10 9.96265 fshow +207.50938 282.50935 moveto +(t=) cmmi10 9.96265 fshow +216.0884 282.50935 moveto +(\265) ts1-lmr10 9.96265 fshow +222.0913 282.50935 moveto +(s) cmr10 9.96265 fshow +gsave [0 1 -1 0 91.99065 326.0785 ] concat 0 0 moveto +(Displacemen) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 91.99065 380.5131 ] concat 0 0 moveto +(t,) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 91.99065 390.4758 ] concat 0 0 moveto +(x=) cmmi10 9.96265 fshow grestore +gsave [0 1 -1 0 91.99065 401.15111 ] concat 0 0 moveto +(mm) cmr10 9.96265 fshow grestore + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 114.5 302.584 moveto +114.5 304.334 lineto stroke +newpath 114.5 441.25 moveto +114.5 439.5 lineto stroke +112.00935 295.2945 moveto +(0) cmmi10 9.96265 fshow +newpath 143.833 302.584 moveto +143.833 304.334 lineto stroke +newpath 143.833 441.25 moveto +143.833 439.5 lineto stroke +newpath 173.083 302.584 moveto +173.083 304.334 lineto stroke +newpath 173.083 441.25 moveto +173.083 439.5 lineto stroke +170.59235 295.2945 moveto +(4) cmmi10 9.96265 fshow +newpath 202.417 302.584 moveto +202.417 304.334 lineto stroke +newpath 202.417 441.25 moveto +202.417 439.5 lineto stroke +newpath 231.667 302.584 moveto +231.667 304.334 lineto stroke +newpath 231.667 441.25 moveto +231.667 439.5 lineto stroke +229.17636 293.1636 moveto +(8) cmmi10 9.96265 fshow +newpath 261 302.584 moveto +261 304.334 lineto stroke +newpath 261 441.25 moveto +261 439.5 lineto stroke +newpath 290.25 302.584 moveto +290.25 304.334 lineto stroke +newpath 290.25 441.25 moveto +290.25 439.5 lineto stroke +285.26865 295.2945 moveto +(12) cmmi10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 114.5 302.584 moveto +116.25 302.584 lineto stroke +newpath 290.25 302.584 moveto +288.5 302.584 lineto stroke +106.5187 300.43924 moveto +(0) cmmi10 9.96265 fshow +newpath 114.5 322.417 moveto +116.25 322.417 lineto stroke +newpath 290.25 322.417 moveto +288.5 322.417 lineto stroke +newpath 114.5 342.167 moveto +116.25 342.167 lineto stroke +newpath 290.25 342.167 moveto +288.5 342.167 lineto stroke +98.7699 340.99084 moveto +(0:4) cmmi10 9.96265 fshow +newpath 114.5 362 moveto +116.25 362 lineto stroke +newpath 290.25 362 moveto +288.5 362 lineto stroke +newpath 114.5 381.834 moveto +116.25 381.834 lineto stroke +newpath 290.25 381.834 moveto +288.5 381.834 lineto stroke +98.7699 378.6238 moveto +(0:8) cmmi10 9.96265 fshow +newpath 114.5 401.667 moveto +116.25 401.667 lineto stroke +newpath 290.25 401.667 moveto +288.5 401.667 lineto stroke +newpath 114.5 421.417 moveto +116.25 421.417 lineto stroke +newpath 290.25 421.417 moveto +288.5 421.417 lineto stroke +98.7699 419.27225 moveto +(1:2) cmmi10 9.96265 fshow +newpath 114.5 441.25 moveto +116.25 441.25 lineto stroke +newpath 290.25 441.25 moveto +288.5 441.25 lineto stroke + 0 1 dtransform truncate idtransform setlinewidth pop +newpath 145.25 398.917 moveto +146.75 403.167 lineto +148.167 407 lineto +149.667 410.583 lineto +151.083 413.75 lineto +152.583 416.5 lineto +154.083 419 lineto +155.5 421.083 lineto +157 422.833 lineto +158.416 424.25 lineto +159.916 425.333 lineto +161.333 426.083 lineto +162.833 426.583 lineto +164.333 426.75 lineto +165.749 426.666 lineto +167.249 426.416 lineto +168.666 425.916 lineto +170.166 425.25 lineto +171.582 424.333 lineto +173.082 423.333 lineto +174.582 422.167 lineto +175.999 420.917 lineto +177.499 419.583 lineto +178.915 418.167 lineto +180.415 416.667 lineto +181.832 415.167 lineto +183.332 413.667 lineto +184.832 412.167 lineto +186.248 410.667 lineto +187.748 409.167 lineto +189.165 407.75 lineto +190.665 406.334 lineto +192.081 405.084 lineto +193.581 403.834 lineto +195.081 402.584 lineto +196.498 401.501 lineto +197.998 400.501 lineto +199.414 399.584 lineto +200.914 398.751 lineto +202.414 398.001 lineto +203.831 397.418 lineto +205.331 396.834 lineto +206.747 396.334 lineto +208.247 396.001 lineto +209.664 395.668 lineto +211.164 395.501 lineto +212.664 395.335 lineto +214.08 395.252 lineto +215.58 395.252 lineto +216.997 395.335 lineto +218.497 395.418 lineto +219.913 395.585 lineto +221.413 395.835 lineto +222.913 396.085 lineto +224.33 396.335 lineto +225.83 396.668 lineto +227.246 397.001 lineto +228.746 397.334 lineto +230.163 397.751 lineto +231.663 398.084 lineto +233.163 398.501 lineto +234.579 398.834 lineto +236.079 399.25 lineto +237.496 399.584 lineto +238.996 400 lineto +240.412 400.333 lineto +241.912 400.667 lineto +243.412 401 lineto +244.829 401.333 lineto +246.329 401.583 lineto +247.745 401.833 lineto +249.245 402.083 lineto +250.662 402.333 lineto +252.162 402.5 lineto +253.662 402.666 lineto +255.078 402.833 lineto +256.578 402.916 lineto +257.995 402.999 lineto +259.495 403.083 lineto +260.995 403.166 lineto +262.411 403.249 lineto +263.911 403.249 lineto +265.328 403.249 lineto +266.828 403.249 lineto +268.244 403.249 lineto +269.744 403.166 lineto +271.244 403.166 lineto +272.661 403.083 lineto +274.161 402.999 lineto +275.577 402.916 lineto +277.077 402.833 lineto +278.494 402.75 lineto +279.994 402.666 lineto +281.494 402.583 lineto +282.91 402.5 lineto +284.41 402.333 lineto +285.827 402.25 lineto +287.327 402.167 lineto +288.743 402.083 lineto +290.243 402 lineto stroke +newpath 114.5 302.584 moveto +116 303.084 lineto +117.417 304.417 lineto +118.917 306.667 lineto +120.333 309.667 lineto +121.833 313.25 lineto +123.25 317.417 lineto +124.75 322.083 lineto +126.25 327.167 lineto +127.666 332.583 lineto +129.166 338.25 lineto +130.583 344.083 lineto +132.083 349.999 lineto +133.499 355.916 lineto +134.999 361.916 lineto +136.499 367.749 lineto +137.916 373.499 lineto +139.416 379.082 lineto +140.832 384.416 lineto +142.332 389.582 lineto +143.832 394.415 lineto +145.249 398.915 lineto stroke +showpage +%%EOF + +%%EndDocument + @endspecial eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/macros/latex/contrib/sistyle/figs/fig2.mps b/macros/latex/contrib/sistyle/figs/fig2.mps new file mode 100644 index 0000000000..2369aa4eb7 --- /dev/null +++ b/macros/latex/contrib/sistyle/figs/fig2.mps @@ -0,0 +1,239 @@ +%!PS +%%BoundingBox: 84 280 296 442 +%%HiResBoundingBox: 84.51865 280.01865 295.23135 441.5 +%%Creator: MetaPost 0.901 +%%CreationDate: 2006.12.14:1206 +%%Pages: 1 +%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98 +%*Font: cmmi10 9.96265 9.96265 30:e8a4000000000000088 +%*Font: ts1-lmr10 9.96265 9.96265 b5:8 +%*Font: cmr10 9.96265 9.96265 6d:82 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 0 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 114.5 302.584 moveto +114.5 441.25 lineto +290.25 441.25 lineto +290.25 302.584 lineto +114.5 302.584 lineto stroke +178.72899 282.50935 moveto +(Time,) ec-lmr10 9.96265 fshow +207.50938 282.50935 moveto +(t=) cmmi10 9.96265 fshow +216.0884 282.50935 moveto +(\265) ts1-lmr10 9.96265 fshow +222.0913 282.50935 moveto +(s) cmr10 9.96265 fshow +gsave [0 1 -1 0 91.99065 326.0785 ] concat 0 0 moveto +(Displacemen) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 91.99065 380.5131 ] concat 0 0 moveto +(t,) ec-lmr10 9.96265 fshow grestore +gsave [0 1 -1 0 91.99065 390.4758 ] concat 0 0 moveto +(x=) cmmi10 9.96265 fshow grestore +gsave [0 1 -1 0 91.99065 401.15111 ] concat 0 0 moveto +(mm) cmr10 9.96265 fshow grestore + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 114.5 302.584 moveto +114.5 304.334 lineto stroke +newpath 114.5 441.25 moveto +114.5 439.5 lineto stroke +112.00935 295.2945 moveto +(0) cmmi10 9.96265 fshow +newpath 143.833 302.584 moveto +143.833 304.334 lineto stroke +newpath 143.833 441.25 moveto +143.833 439.5 lineto stroke +newpath 173.083 302.584 moveto +173.083 304.334 lineto stroke +newpath 173.083 441.25 moveto +173.083 439.5 lineto stroke +170.59235 295.2945 moveto +(4) cmmi10 9.96265 fshow +newpath 202.417 302.584 moveto +202.417 304.334 lineto stroke +newpath 202.417 441.25 moveto +202.417 439.5 lineto stroke +newpath 231.667 302.584 moveto +231.667 304.334 lineto stroke +newpath 231.667 441.25 moveto +231.667 439.5 lineto stroke +229.17636 293.1636 moveto +(8) cmmi10 9.96265 fshow +newpath 261 302.584 moveto +261 304.334 lineto stroke +newpath 261 441.25 moveto +261 439.5 lineto stroke +newpath 290.25 302.584 moveto +290.25 304.334 lineto stroke +newpath 290.25 441.25 moveto +290.25 439.5 lineto stroke +285.26865 295.2945 moveto +(12) cmmi10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 114.5 302.584 moveto +116.25 302.584 lineto stroke +newpath 290.25 302.584 moveto +288.5 302.584 lineto stroke +106.5187 300.43924 moveto +(0) cmmi10 9.96265 fshow +newpath 114.5 322.417 moveto +116.25 322.417 lineto stroke +newpath 290.25 322.417 moveto +288.5 322.417 lineto stroke +newpath 114.5 342.167 moveto +116.25 342.167 lineto stroke +newpath 290.25 342.167 moveto +288.5 342.167 lineto stroke +98.7699 340.99084 moveto +(0:4) cmmi10 9.96265 fshow +newpath 114.5 362 moveto +116.25 362 lineto stroke +newpath 290.25 362 moveto +288.5 362 lineto stroke +newpath 114.5 381.834 moveto +116.25 381.834 lineto stroke +newpath 290.25 381.834 moveto +288.5 381.834 lineto stroke +98.7699 378.6238 moveto +(0:8) cmmi10 9.96265 fshow +newpath 114.5 401.667 moveto +116.25 401.667 lineto stroke +newpath 290.25 401.667 moveto +288.5 401.667 lineto stroke +newpath 114.5 421.417 moveto +116.25 421.417 lineto stroke +newpath 290.25 421.417 moveto +288.5 421.417 lineto stroke +98.7699 419.27225 moveto +(1:2) cmmi10 9.96265 fshow +newpath 114.5 441.25 moveto +116.25 441.25 lineto stroke +newpath 290.25 441.25 moveto +288.5 441.25 lineto stroke + 0 1 dtransform truncate idtransform setlinewidth pop +newpath 145.25 398.917 moveto +146.75 403.167 lineto +148.167 407 lineto +149.667 410.583 lineto +151.083 413.75 lineto +152.583 416.5 lineto +154.083 419 lineto +155.5 421.083 lineto +157 422.833 lineto +158.416 424.25 lineto +159.916 425.333 lineto +161.333 426.083 lineto +162.833 426.583 lineto +164.333 426.75 lineto +165.749 426.666 lineto +167.249 426.416 lineto +168.666 425.916 lineto +170.166 425.25 lineto +171.582 424.333 lineto +173.082 423.333 lineto +174.582 422.167 lineto +175.999 420.917 lineto +177.499 419.583 lineto +178.915 418.167 lineto +180.415 416.667 lineto +181.832 415.167 lineto +183.332 413.667 lineto +184.832 412.167 lineto +186.248 410.667 lineto +187.748 409.167 lineto +189.165 407.75 lineto +190.665 406.334 lineto +192.081 405.084 lineto +193.581 403.834 lineto +195.081 402.584 lineto +196.498 401.501 lineto +197.998 400.501 lineto +199.414 399.584 lineto +200.914 398.751 lineto +202.414 398.001 lineto +203.831 397.418 lineto +205.331 396.834 lineto +206.747 396.334 lineto +208.247 396.001 lineto +209.664 395.668 lineto +211.164 395.501 lineto +212.664 395.335 lineto +214.08 395.252 lineto +215.58 395.252 lineto +216.997 395.335 lineto +218.497 395.418 lineto +219.913 395.585 lineto +221.413 395.835 lineto +222.913 396.085 lineto +224.33 396.335 lineto +225.83 396.668 lineto +227.246 397.001 lineto +228.746 397.334 lineto +230.163 397.751 lineto +231.663 398.084 lineto +233.163 398.501 lineto +234.579 398.834 lineto +236.079 399.25 lineto +237.496 399.584 lineto +238.996 400 lineto +240.412 400.333 lineto +241.912 400.667 lineto +243.412 401 lineto +244.829 401.333 lineto +246.329 401.583 lineto +247.745 401.833 lineto +249.245 402.083 lineto +250.662 402.333 lineto +252.162 402.5 lineto +253.662 402.666 lineto +255.078 402.833 lineto +256.578 402.916 lineto +257.995 402.999 lineto +259.495 403.083 lineto +260.995 403.166 lineto +262.411 403.249 lineto +263.911 403.249 lineto +265.328 403.249 lineto +266.828 403.249 lineto +268.244 403.249 lineto +269.744 403.166 lineto +271.244 403.166 lineto +272.661 403.083 lineto +274.161 402.999 lineto +275.577 402.916 lineto +277.077 402.833 lineto +278.494 402.75 lineto +279.994 402.666 lineto +281.494 402.583 lineto +282.91 402.5 lineto +284.41 402.333 lineto +285.827 402.25 lineto +287.327 402.167 lineto +288.743 402.083 lineto +290.243 402 lineto stroke +newpath 114.5 302.584 moveto +116 303.084 lineto +117.417 304.417 lineto +118.917 306.667 lineto +120.333 309.667 lineto +121.833 313.25 lineto +123.25 317.417 lineto +124.75 322.083 lineto +126.25 327.167 lineto +127.666 332.583 lineto +129.166 338.25 lineto +130.583 344.083 lineto +132.083 349.999 lineto +133.499 355.916 lineto +134.999 361.916 lineto +136.499 367.749 lineto +137.916 373.499 lineto +139.416 379.082 lineto +140.832 384.416 lineto +142.332 389.582 lineto +143.832 394.415 lineto +145.249 398.915 lineto stroke +showpage +%%EOF diff --git a/macros/latex/contrib/sistyle/sistyle.dtx b/macros/latex/contrib/sistyle/sistyle.dtx new file mode 100644 index 0000000000..c9eccae8d2 --- /dev/null +++ b/macros/latex/contrib/sistyle/sistyle.dtx @@ -0,0 +1,2191 @@ +% \iffalse meta-comment +% +% sistyle.dtx +% Copyright (C) 2004--2008 Danie Els +% +% ------------------------------------------------------------------- +% The SIstyle package +% for SI units and number typesetting +% ------------------------------------------------------------------- +% This work may be distributed and/or modified under the conditions +% of the LaTeX Project Public License, either version 1.3c of this +% license or (at your option) any later version. The latest version +% of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status 'maintained'. +% +% This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za) +% +% This package consists of the files: sistyle.dtx +% sistyle.ins +% and the derived file: sistyle.sty +% ------------------------------------------------------------------- +% \fi +% +% +% +% \CheckSum{830} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%<*dtx> +\ProvidesFile{sistyle.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{sistyle} +%\ProvidesFile{sistyle.drv} +%\ProvidesFile{sistyle.dtx} + [2008/07/16 v2.3a SI units and numbers (DNJ Els)] +%<*driver> +\documentclass[a4paper]{ltxdoc} +\usepackage{calc} +\usepackage{amsmath} +%\usepackage[T1]{fontenc} +\usepackage{textcomp} +%\usepackage{lmodern} +\usepackage{sistyle} + \SIdefaultNfam{\mathnormal} + \SIdefaultMfam{\mathrm} + \SIthousandsep{\,} + \SIunitsep{\;} + \SIunitdot{\cdot} + \SIproductsign{\times} + \SIobeyboldfalse +% \newcommand*{\micro}{\ensureupmath{\mbox{\textmu}}} +\usepackage{array} +\usepackage{graphicx} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\setlength\hfuzz{15pt} +\hbadness=7000 +\begin{document} + \DocInput{sistyle.dtx} +\end{document} +% +% \fi +% +% +% \changes{v1.0}{2004/02/01}{Initial version} +% \changes{v2.0}{2004/07/12}{Better display math detection with \cs{displaywidth}} +% \changes{v2.1}{2006/07/09}{Add user definable commands for \cs{mathrm}, \cs{mathsf}, \cs{mathtt}} +% \changes{v2.2}{2006/12/14}{Correct bug in \cs{ang} when French package is loaded} +% \changes{v2.3}{2006/12/20}{Make \cs{ang} work in side commands when ; is active} +% \changes{v2.3a}{2008/07/16}{Final version} +% +% +% \DoNotIndex{\,} +% \DoNotIndex{\., \;} +% \DoNotIndex{\@car, \@empty, \@firstofone, \@firstoftwo, \@ifstar, +% \@ifundefined, \@nameuse,\@nil, \@nnil, \@onlypreamble, +% \@secondoftwo, \@undefined} +% \DoNotIndex{\AtBeginDocument} +% \DoNotIndex{\begingroup, \bfseries, \bgroup, \boldmath} +% \DoNotIndex{\catcode, \cdot, \chardef, \check@mathfonts, \circ, +% \csname} +% \DoNotIndex{\DeclareMathSymbol, \DeclareRobustCommand, \def} +% \DoNotIndex{\edef, \egroup, \else, \endcsname, \endgroup, \ensuremath, +% \ensureupmath, \expandafter} +% \DoNotIndex{\f@family, \f@series, \fam, \fi} +% \DoNotIndex{\gdef, \GetMathFontFams, \global} +% \DoNotIndex{\if, \ifinner, \ifmmode, \ifnum, \ifx} +% \DoNotIndex{\kern} +% \DoNotIndex{\let, \long, \lowercase} +% \DoNotIndex{\math@version, \mathcode, \mathord, \mathrm, \mathsf, +% \mathtt, \mbox, \mdseries} +% \DoNotIndex{\NeedsTeXFormat, \newcommand, \newif, \newtoks, \noexpand} +% \DoNotIndex{\Omega} +% \DoNotIndex{\PackageError, \prime, \providecommand, \ProvidesPackage} +% \DoNotIndex{\relax, \renewcommand, \RequirePackage, \rmfamily} +% \DoNotIndex{\sbox, \scriptspace, \sfdefault, \sffamily} +% \DoNotIndex{\text, \textsuperscript, \the, \times, \ttdefault, +% \ttfamily} +% \DoNotIndex{\unboldmath, \upshape} +% \DoNotIndex{\zap@space} +% +% +% \makeatletter +% +%^^A==== Temporaries ================================================ +% +% \newsavebox{\tboxa} +% \newsavebox{\tboxb} +% \newlength{\tdima} +% +%^^A==== Doc Environments =========================================== +% +% \newenvironment{Item}[2][\textsl]{^^A +% \begin{list}{}^^A +% {\renewcommand{\makelabel}[1]{\mbox{#1{##1:}}\hfill}^^A +% \settowidth{\labelwidth}{#1{#2:}}^^A +% \setlength{\labelsep}{1em}^^A +% \setlength{\leftmargin}{\labelwidth}^^A +% \addtolength{\leftmargin}{\labelsep}^^A +% \addtolength{\textwidth}{-\leftmargin}^^A +% \addtolength{\textwidth}{-\rightmargin}}^^A +% \item[#2]^^A +% }{\end{list}} +% +% \newenvironment{cmddef}[1][l]^^A +% {\nopagebreak\par\small +% \addvspace{3.2ex plus 0.8ex minus 0.2ex}^^A +% \vskip -\parskip +% \noindent^^A +% \begin{tabular}{|#1|} +% \hline\rule{0pt}{1em}\ignorespaces}^^A +% {\\\hline +% \end{tabular} +% \par\nopagebreak\addvspace{3.2ex plus 0.8ex minus 0.2ex}^^A +% \vskip -\parskip} +% +%^^A==== Indented Environments ====================================== +% +% \newlength{\mytab} +% \setlength{\mytab}{\parindent} +% \newcommand{\tab}{\hspace*{\mytab}} +% +% \newenvironment{IndentPara} +% {\list{}{\setlength{\leftmargin}{\mytab}^^A +% \setlength{\labelwidth}{0pt}^^A +% \setlength{\labelsep}{0pt}^^A +% \setlength{\itemindent}{\parindent}^^A +% \setlength{\listparindent}{\parindent}^^A +% \setlength{\parsep}{\parskip}^^A +% }^^A +% \item[]}^^A +% {\endlist} +% +% \newenvironment{Ipara}[1][\small]^^A +% {\begin{IndentPara}\noindent#1\ignorespaces}^^A +% {\end{IndentPara}} +% \newenvironment{Itabb}[1][\small] +% {\begin{IndentPara}#1\ignorespaces\begin{tabbing}\ignorespaces}^^A +% {\end{tabbing}\end{IndentPara}} +% +%^^A==== Headings =================================================== +% +% \newcommand{\@headfamily}{\normalfont} +% +% \renewcommand*{\partname}{Part} +% +% \def\@part[#1]#2{^^A +% \ifnum \c@secnumdepth >\m@ne\relax +% \refstepcounter{part}^^A +% \addcontentsline{toc}{part}{\partname\ \thepart. +% \protect\enspace\protect\noindent #1}^^A +% \else +% \addcontentsline{toc}{part}{#1}^^A +% \fi +% \begingroup +% \centering +% \@headfamily +% \ifnum \c@secnumdepth >\m@ne\relax +% {\large\bfseries \partname\ \thepart} +% \vskip 1em +% \fi +% \Large \bfseries #1^^A +% \markboth{}{}\par +% \endgroup +% \nobreak +% \vskip 2em +% \@afterheading} +% +% \@addtoreset{section}{part} +% \renewcommand{\thepart}{\arabic{part}} +% \renewcommand{\thesection}{\thepart.\arabic{section}} +% +%^^A \renewcommand{\@seccntformat}[1]{^^A +%^^A \protect\makebox[0pt][r]{\@nameuse{the#1}\quad}} +% +% \def\section{^^A +% \@startsection {section}{1}{\z@}^^A +% {-3.5ex plus -1ex minus -.2ex}^^A +% {2.3ex plus .2ex}^^A +% {\noindent\@headfamily\raggedright\large\bfseries}} +% +% \def\subsection{^^A +% \@startsection{subsection}{2}{\z@}^^A +% {-3.25ex plus -1ex minus -.2ex}^^A +% {1.5ex plus .2ex}^^A +% {\noindent\@headfamily\normalsize\bfseries}}^^A +% +%^^A==== TOC setup ================================================== +% +%\newcommand\tableofcontentsX{^^A +% \begin{center} +% \large\bfseries\contentsname +% \end{center} +% \@mkboth{\MakeUppercase\contentsname}^^A +% {\MakeUppercase\contentsname}^^A +% \@starttoc{toc}} +% +% \renewcommand\tableofcontents{% +%^^A \section*{\contentsname}^^A +% \centerline{\Large\bfseries\contentsname} +% \medskip +% \@mkboth{\MakeUppercase\contentsname}^^A +% {\MakeUppercase\contentsname}^^A +% \@starttoc{toc}} +% +% \renewcommand*\l@part[2]{^^A +% \ifnum \c@tocdepth >-2\relax +% \addpenalty\@secpenalty +% \bigskip +% \setlength\@tempdima{3em}^^A +% \begingroup +% \parindent \z@ \rightskip \@pnumwidth +% \parfillskip -\@pnumwidth +% {\leavevmode +% \large\bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par +% \nobreak +% \if@compatibility +% \global\@nobreaktrue +% \everypar{\global\@nobreakfalse\everypar{}}^^A +% \fi +% \endgroup +% \smallskip +% \fi} +% +% \renewcommand*\l@section[2]{^^A +% \ifnum \c@tocdepth >\z@ +% \addpenalty\@secpenalty +%^^A \smallskip +% \setlength\@tempdima{2em}^^A +% \begingroup +% \parindent \z@ \rightskip \@pnumwidth +% \parfillskip -\@pnumwidth +% \leavevmode +% \advance\leftskip\@tempdima +% \hskip -\leftskip +% #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par +% \endgroup +% \fi} +% +% \renewcommand*\l@subsection{\@dottedtocline{2}{2em}{3em}} +% +%^^A==== Lists ====================================================== +% +% \renewcommand{\theenumi}{\alph{enumi}} +% \renewcommand{\labelenumi}{(\theenumi)} +% +%^^A==== Misc ======================================================= +% +% \def\meta@font@select{\slshape} +% +% \newcommand{\myemph}[1]{\textsl{#1}} +% \newcommand{\xnum}[1]{\ensuremath{\SI@defaultNfam{#1}}} +% +% \newcommand{\pkg}[1]{\textsf{#1}} +% \newcommand{\RA}{\>$\rightarrow$\quad} +% \newcommand{\RAt}{\quad$\rightarrow$\quad} +% \newcommand*{\tlde}{\text{$\mathtt{\scriptstyle\sim}$}} +% +% \makeatother +% +%^^A==== Titling ==================================================== +% +% \GetFileInfo{sistyle.dtx} +% +% \title{The \pkg{SIstyle} package\thanks{This file has +% version number \fileversion, +% last revised \filedate.}} +% \author{D.N.J.\ Els\\[1ex] +% \texttt{(dnjels@sun.ac.za)}} +% \date{\filedate} +% \maketitle +% +%^^A==== Abstract =================================================== +% +% \begin{abstract} +% \noindent +% The \pkg{SIstyle} package provides macros to type +% numbers and units in a consistent way according to SI +% requirements. The following commands are provided: +% \begin{Itabb} +% \cmd{\SI}\marg{number}\marg{unit}\hspace{3em}\=$\rightarrow$~ Setting numbers with units\\ +% \cmd{\num}\marg{number} \>$\rightarrow$~ Setting a number\\ +% \cmd{\ang}|{|\meta{degs}|;|\meta{mins}|;|\meta{secs}|}| \>$\rightarrow$~ Setting an angle +% \end{Itabb} +% The requirements for formatting and typesetting of SI units and +% numbers listed in this document, were extracted verbatim from the +% \textit{NIST Special Publication 811} (SP 811): +% \begin{Ipara} +% |http://physics.nist.gov/cuu/Units/rules.html| +% \end{Ipara} +% It is not a full list of all the requirements, but only those +% relevant to font type and spacing formatting. +% +% It is the responsibility of the user to use the correct units and +% prefixes, because the purpose of this package is only to typeset +% the SI units and numbers properly. It is therefore recommended +% that the user makes a thorough study of SP 811 or the equivalent +% specification for his or her country. +% \end{abstract} +% \vspace{1cm} +% +% \begin{center} +% \begin{tabular}{|p{0.6\hsize}|} +% \hline +% \texttt{SIstyle v2.3} is the final version of this package. +% No new features will be added in the future. The packages +% will be maintained and bugs will be fixed.\\ \\ +% +% All future development will be done in the \texttt{siunitx} +% package.\\ +% \hline +% \end{tabular} +% \end{center} +% +% +%^^A==== Contents =================================================== +% +% \clearpage +% \tableofcontents +% +%^^A==== Main Document ============================================== +% \clearpage +% \part{Using The \pkg{SIstyle} Package} +% +% \section{Loading the \pkg{SIstyle} Package} +% +% The \pkg{SIstyle} package is loaded in the document preamble with +% \begin{Ipara} +% |\usepackage{sistyle}| +% \end{Ipara} +% +% \section{The Typesetting Commands} +% \subsection{SI numbers with units} +% +% The \cmd{\SI} command typeset SI numbers with units and it +% conforms to the rules as given in Part \ref{prt:SI}. +% +% \begin{cmddef} +% \cmd{\SI}\marg{number}\marg{unit} +% \end{cmddef} +% +% \noindent Inside the \cmd{\SI}\ command the point, ``.'', +% is make active and redefined to \cmd{\SIunitdot}. The hard space, +% ``\tlde'', is redefined to \cmd{\SIunitspace}. This makes for +% convenient shorthand in that by typing \texttt{N.m} you obtain +% ``\SI{}{N.m}'' or \texttt{N\tlde m} gives ``\SI{}{N~m}''. +% +% \begin{cmddef} +% \cmd{\pnt} +% \end{cmddef} +% +% \noindent The point can now not be used as a decimal point as part +% of a unit and the symbol \cmd{\pnt}\ is defined as substitute. It +% is however recommended to use the \cmd{\num} command to ensure +% uniform formatting of numbers. +% +% +% \begin{Item}{Example}\small^^A +% \begin{tabular}[t]{@{}l@{\RAt}l} +% |\SI{}{m.kg/(s^3.A)}| & \SI{}{m.kg/(s^3.A)}\\ +% |\SI{}{(MPa)^{0\pnt 5}}| & \SI{}{(MPa)^{0\pnt 5}}\\ +% |\SI{}{(MPa)^{\num{0.5}}}| & \SI{}{(MPa)^{\num{0,5}}}\\ +% |$v=\SI{10}{m.s^{-1}}$| & $v=\SI{10}{m.s^{-1}}$\\ +% |$v=\SI{10}{m/s}$| & $v=\SI{10}{m/s}$\\ +% |$v=\SI{10}{\tfrac{m}{s}}$| & $v=\SI{10}{\tfrac{m}{s}}$\\ +% |$\tau=\SI{3}{N|\tlde|m}$| & $\tau=\SI{3}{N~m}$ +% \end{tabular} +% \end{Item} +% +% \noindent^^A +% The numbers and units are set inside a math environment with an +% upright font. When the \cmd{\SI}\ command is used in normal text +% or inside inline maths, it follows the surrounding fonts. Display +% maths on the other hand will follow the active math fonts. When +% different text and math fonts are used, it can be problematic, +% because unit that are typed inside normal text will have a +% different font from the units inside display maths. +% +% \begin{Item}{Example} +% The velocity is \SI{15.3}{m/s} at the ...\\ +% \textbf{\itshape The velocity is \SI{15.3}{m/s} at the ...}\\ +% \textsf{The velocity is \SI{15.3}{m/s} at the ...}\\ +% \texttt{The velocity is \SI{15.3}{m/s} at the ...} +% \end{Item} +% +% \noindent The typesetting of SI units obeys the surrounding bold +% text depending on the following switches: +% +% \begin{cmddef} +% \cmd{\SIobeyboldtrue}\\ +% \cmd{\SIobeyboldfalse}\quad(default) +% \end{cmddef} +% +% \begin{Item}{Example} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% \cmd{\SIobeyboldtrue} +% &\SIobeyboldtrue\textbf{\itshape The velocity is \SI{15.3}{m/s} at the ...}\\ +% \cmd{\SIobeyboldfalse} +% &\textbf{\itshape The velocity is \SI{15.3}{m/s} at the ...} +% \end{tabular} +% \end{Item} +% +% +% \subsection{Numbers} +% +% Numbers can be formatted with the \cmd{\num} command. +% +% \begin{cmddef} +% \cmd{\num}\marg{decimal number}\\ +% \cmd{\num*}\marg{decimal number} +% \end{cmddef} +% +% \noindent Numbers may only consist of: +% ``\xnum{+-0\,1\,2\,3\,4\,5\,6\,7\,8\,9\,.\,,\,}e\,E''\@. The input +% decimal separator can be either a point ``|.|'' or a comma +% ``|,|''. The output is formatted according to the +% \cmd{\SIdecimalsign} setting. No thousand separators are allowed +% in the argument (spaces are ignored). +% ``$\mathtt{E}\,x$'' or ``$\mathtt{e}\,x$'' is +% converted to $10^x$. +% +% \begin{Item}{Example} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |\num{1.2e3}| & \num{1.2e3}\\ +% |\num{1,2E3}| & \num{1,2E3} +% \end{tabular} +% \end{Item} +% +% \noindent The \cmd{\num} command simplifies the input of numbers +% and typeset them correctly. +% +% \begin{Item}{Example} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |\num{E1.5}| & \num{E1.5} \\ +% |\num{ - e -.5}| & \num{ - e -.5}\\ +% |\num{+1e-.5}| & \num{+1e-.5} \\ +% |\num{1.23456e5}| & \num{1.23456e5} \\ +% |\num{+1.234}| & \num{+1.234} \\ +% |\num{-.12345}| & \num{-.12345} \\ +% |\num{1.}| & \num{1.} \\ +% |\num{1}| & \num{1} \\ +% |\num{123}| & \num{123} \\ +% |\num{1234}| & \num{1234} \\ +% |\num{12345}| & \num{12345} \\ +% |\num{-123456}| & \num{-123456} +% \end{tabular} +% \end{Item} +% +% \noindent The grouping of the four digits can be switched on or of +% --- e.g., in a table --- with the following switches : +% +% \begin{cmddef} +% \cmd{\SIgroupfourtrue}\quad(default)\\[1ex] +% \cmd{\SIgroupfourfalse} +% \end{cmddef} +% \noindent Please make sure that changes are kept local to ensure +% uniformity throughout a document. +% \begin{Item}{Example} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |{\SIgroupfourtrue\num{1234.5678}}| & \SIgroupfourtrue\num{1234.5678}\\ +% |{\SIgroupfourfalse\num{1234.5678}}| & \SIgroupfourfalse\num{1234.5678} +% \end{tabular} +% \end{Item} +% +% +% \noindent The starred form, \cmd{\num*}, typeset the number in the normal +% active \LaTeX{} font. This is needed when numbers are inserted in +% headings, etc. The unstarred version uses the same upright math +% font as the SI units. +% +% \begin{Item}{Example} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |\textit{There were \num{123} of them}| +% & \textit{There were \num{123} of them}\\ +% |\textit{There were \num*{123} of them}| +% & \textit{There were \num*{123} of them} +% \end{tabular} +% \end{Item} +% +% +% +% \subsection{Angles} +% +% The \cmd{\ang} command is supplied by the \pkg{SIstyle} package to +% typeset angles. Note the degrees, minutes and seconds are +% separated with a semi-colon ``|;|''. +% +% \begin{cmddef} +% \cmd{\ang}|{|\meta{degs}|;|\meta{mins}|;|\meta{secs}|}|\\[1ex] +% \cmd{\ang}\marg{decimal degrees} +% \end{cmddef} +% \begin{Item}{Example} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |\ang{10}| & \ang{10} \\ +% |\ang{10; 12}| & \ang{10;12} \\ +% |\ang{10; 12; 4}| & \ang{10;12;4}\\ +% |\ang{10; 12; 4,01}| & \ang{10;12;4,01}\\[1ex] +% |\ang{; ; 4}| & \ang{; ; 4}\\[1ex] +% |\ang{10.2011}| & \ang{10.2011} \\ +% |\ang{+10}| & \ang{+10} \\ +% |\ang{-10}| & \ang{-10} +% \end{tabular} +% \end{Item} +% +% +% \section{Additional Units Symbols}\label{sec:AddUnits} +% +% Most of the SI unit symbols are characters from the Latin +% alphabet, except for the few listed in table \ref{tab:symbs} and +% which are provided by the \pkg{SIstyle} package. Note +% that the commands are only provided if the user do not +% define the command in the preamble. +% +% If the user redefines or supplies his own commands for +% units, than all the symbols must be available in math mode. For +% symbols that are only available in text mode, e.g., from the +% \pkg{textcomp} package, the symbol must be placed inside a +% \cmd{\mbox} command. The best way to define a new unit command +% is with the aid if the \pkg{SIstyle} internal command +% \cmd{\ensureupmath}. +% +% \subsubsection*{\mdseries\itshape Symbols available in math mode:} +% \newcommand*{\mps}{\ensureupmath{m/s}} +% \begin{Item}{Example} +% |\newcommand*{\mps}{\ensureupmath{m/s}}| +% +% which can be used in text and math mode +% \begin{Itabb} +% |$v/(\mps)=\num{10}$| \=\kill +% |\SI{10}{\mps}| \>\RAt \SI{10.2}{\mps}\\ +% |The unit \mps\ ...| \>\RAt The unit \mps\ ...\\ +% |$v/(\mps)=\num{10}$| \>\RAt $v/(\mps)=\num{10}$ +% \end{Itabb} +% \end{Item} +% +% \subsubsection*{\mdseries\itshape Symbols only available in text mode (\pkg{textcomp})} +% \renewcommand*{\micro}{\ensureupmath{\mbox{\textmu}}} +% \newcommand*{\microsec}{\ensureupmath{\micro s}} +% \begin{Item}{Example} +% |\renewcommand*{\micro}{\ensureupmath{\mbox{\textmu}}}|\\ +% |\newcommand*{\microsec}{\ensureupmath{\micro s}}| +% +% which can be used in text and math mode +% \begin{Itabb} +% |The prefix \micro\ ...| \=\kill +% |\SI{5}{\micro s}| \>\RAt \SI{5}{\micro s}\\ +% |The prefix \micro\ ...| \>\RAt The prefix \micro\ ...\\ +% |$t/\microsec =\num{5}$| \>\RAt $t/\microsec =\num{5}$ +% \end{Itabb} +% \end{Item} +% +% \begin{table}[h] +% \centering +% \caption{Additional SI symbols} +% \label{tab:symbs} +% \smallskip +% \begin{tabular}{@{}lcc@{}} +% \hline\noalign{\vskip3pt} +% Command && Symbol \\ +% \cline{1-1} \cline{3-3} +% \noalign{\vskip3pt} +% \cmd{\angstrom}\hspace{1cm} && \angstrom \\ +% \cmd{\micro}$^a$ && $\mu$ \\ +% \cmd{\ohm} && $\Omega$ \\[1ex] +% \cmd{\degC} && \ensureupmath{{}^{\circ}\kern-\scriptspace C}\\ +% \cmd{\degF}\,$^b$ && \ensureupmath{{}^{\circ}\kern-\scriptspace F} \\[1ex] +% \cmd{\arcdeg} && ${}^{\circ}$ \\ +% \cmd{\arcmin} && \arcmin \\ +% \cmd{\arcsec} && \arcsec \\ +% \hline +% \noalign{\vskip3pt} +% \multicolumn{3}{@{}p{9cm}@{}}{\footnotesize\textsc{Note:} +% Contrary to the common practice in many countries, +% is the correct SI symbol for litre a capital L +% or lowercase l, and \emph{not} the +% script l, $\ell$ (\cmd{\ell}).}\\[2ex] +% \multicolumn{3}{p{9cm-\tabcolsep}@{}}{\footnotesize\makebox[0pt][r]{$^{a}\,$}^^A +% Some fonts have an upright Greek \textmu\ character available +% in the TS1 encoding (\pkg{textcomp} package). +% Fonts such as Lucida and Adobe Symbol also supply upright +% Greek math characters. See also the \pkg{upgreek} and +% \pkg{gensymb} packages.}\\[2ex] +% \multicolumn{3}{p{9cm-\tabcolsep}@{}}{\footnotesize\makebox[0pt][r]{$^{b}\,$}^^A +% Not a standard SI symbol.}\\ +% \end{tabular} +% \end{table} +% +% +% +% \section{Configuring The Output} +% \subsection{Configuring commands} +% +% The output of the \cmd{\SI} command can be formatted by the user +% by setting the following commands: +% +% \begin{cmddef}[ll] +% \cmd{\SIunitsep}\marg{spacing cmd} & |[|default: |{\,} ]|\\ +% \cmd{\SIunitspace}\marg{spacing cmd} & |[|default: |{\,} ]|\\ +% \cmd{\SIunitdot}\marg{cmd} & |[|default: |{\cdot} ]| +% \end{cmddef} +% +% \vspace{-\topsep} +% \begin{itemize} +% \item The spacing between the number and the unit is set with +% \cmd{\SIunitsep}. +% +% \item Inside the \cmd{\SI}\ command the point, ``.'', is make +% active and redefined to \cmd{\SIunitdot}. +% +% \item The hard space, ``\tlde'', is redefined to +% \cmd{\SIunitspace}. +% \end{itemize} +% +% +% +% \noindent The user can change the number format with the following +% commands: +% +% \begin{cmddef}[ll] +% \cmd{\SIdecimalsign}\marg{cmd} & |[|default: |{.} ]|\\ +% \cmd{\SIthousandsep}\marg{spacing cmd} & |[|default: |{\,} ]|\\ +% \cmd{\SIproductsign}\marg{cmd} & |[|default: |{\times}]| +% \end{cmddef} +% +% +% \noindent The default fonts to be selected by the \pkg{SIstyle} +% package can be changed. The following commands are provided: +% +% \begin{cmddef}[ll] +% \cmd{\SImathrm}\marg{math font command} & |[|default: |{\mathrm} ]|\\ +% \cmd{\SImathsf}\marg{math font command} & |[|default: |{\mathsf} ]|\\ +% \cmd{\SImathtt}\marg{math font command} & |[|default: |{\mathtt} ]| +% \end{cmddef} +% +% \vspace{-\topsep} +% \begin{itemize} +% \item\cmd{\SImathrm}: Sets the default math serif font. +% \item\cmd{\SImathsf}: Sets the default math sanserif font. +% \item\cmd{\SImathtt}: Sets the default math typewriter font. +% \end{itemize} +% \vspace{-\topsep} +% +% \begin{cmddef}[ll] +% \cmd{\SIdefaultMfam}\marg{math font command} & |[|default: |{\mathrm} ]|\\ +% \cmd{\SIdefaultNfam}\marg{math font command} & |[|default: |{\mathrm} ]|\\ +% \cmd{\SIdefaultTfam}\marg{text font family} & |[|default: |{\rmfamily}]| +% \end{cmddef} +% +% \vspace{-\topsep} +% \begin{itemize} +% \item\cmd{\SIdefaultMfam}: Sets the default math font of the units. +% \item\cmd{\SIdefaultNfam}: Sets the default math font of the numbers. +% \item\cmd{\SIdefaultTfam}: Sets the default text font when text +% components are included with the units (e.g., from the +% \pkg{textcomp} package) +% \end{itemize} +% +% \begin{Item}{Note} +% An interesting side-effect can be obtained when you are using +% Computer Modern fonts by setting the \cmd{\SIdefaultNfam} to +% \cmd{\mathnormal}. The result is that all the numbers are then in +% lowercase: \xnum{0123456789} as oppose to 0123456789. +% This document was formatted with this setting. +% \end{Item} +% +% +% \subsection{Examples formats}\label{sec:ExmplFmt} +% +% \paragraph{USA:} +% +% NIST Special Publication 811 -- \textit{Guide for the Use of the +% International System of Units (SI)} +% +% \begin{Ipara} +% |\SIdecimalsign{.} |\\ +% |\SIthousandsep{\,} |\\ +% |\SIproductsign{\times}|\\ +% |\SIunitsep{\,} |\\ +% |\SIunitspace{\cdot} |\quad(give \tlde\ and |.| the same output) \\ +% |\SIunitdot{\cdot} | +% \end{Ipara} +% {^^A------------------ +% \SIdefaultNfam{\mathrm} +% \SIdecimalsign{.} +% \SIthousandsep{\,} +% \SIproductsign{\times} +% \SIunitsep{\,} +% \SIunitspace{\cdot} +% \SIunitdot{\cdot} +%^^A +% \noindent This will format a number and unit: +% \begin{Ipara} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |\SI{-1.23456e^3}{N.m}| & \SI{-1.23456e^3}{N.m} +% \end{tabular} +% \end{Ipara} +% \noindent To obtain tighter numbers, put the multiplication and +% half high dot signs inside braces +% \begin{Ipara} +% |\SIproductsign{{\times}}|\\ +% |\SIunitspace{{\cdot}} |\\ +% |\SIunitdot{{\cdot}} | +% \end{Ipara} +% \SIproductsign{{\times}} +% \SIunitspace{{\cdot}} +% \SIunitdot{{\cdot}} +%^^A +% \noindent This will then format the number and unit: +% \begin{Ipara} +% \begin{tabular}[t]{@{}l@{\RAt}l@{}} +% |\SI{-1.23456e^3}{N.m}| & \SI{-1.23456e^3}{N.m} +% \end{tabular} +% \end{Ipara} +% }^^A------------------ +% +% +% +% \section{Locales} +% +% The \pkg{SIstyle} package provides a number of style setup commands +% for the formatting conventions in different countries +% (or your own pivate setting). +% +% \begin{cmddef} +% \cmd{\AddToSIstyle\ }\marg{locale}\\ +% \cmd{\AddToSIstyle*}\marg{locale}\\[1ex] +% \cmd{\SIstyle}\marg{locale}\\[1ex] +% \cmd{\SIstyleToLang}\marg{language}\marg{locale} +% \end{cmddef} +% +% \noindent The \cmd{\AddToSIstyle} appends formatting commands to a +% locale. The starred form clears the list before appending. As an +% example for the USA (see \S\ref{sec:ExmplFmt}) +% +% \begin{Ipara} +% |\AddToSIstyle{USA}{% |\\ +% | \SIdecimalsign{.}% |\\ +% | \SIthousandsep{\,}% |\\ +% | \SIunitsep{\,}% |\\ +% | \SIunitdot{\cdot}% |\\ +% | \SIunitspace{\;}% |\\ +% | \SIproductsign{\times}%|\\ +% | \SIobeyboldfalse |\\ +% | \SIgroupfourtrue} | +% \end{Ipara} +% +% \noindent See table \ref{tab:locales} for a list of predefined +% settings.\footnote{Any contribution shall be appreciated.} +% A predefined setting can then be activated with the \cmd{\SIstyle} +% command, for example: +% +% \begin{Ipara} +% |\SIstyle{USA}| +% \end{Ipara} +% +% \noindent Locales can also be linked to the language setup +% commands of \pkg{babel} with the \cmd{\SIstyleToLang} command, +% for example: +% +% \begin{Ipara} +% |\SIstyleToLang{english}{USA}| +% \end{Ipara} +% +% \noindent The settings of |USA| will then be activated every +% time \pkg{babel} makes |english| the active languge. This +% command is provided because a number formatting are not linked +% to languages (nearly every English speaking country has a +% different number format). +% +% \begin{table}[h] +% \centering +% \caption{Predefined styles} +% \label{tab:locales} +% \small +% \smallskip +% \begin{tabular}{@{}llclcl@{}} +% \hline +% \noalign{\vskip3pt} +% \multicolumn{2}{@{}l}{\bfseries Style} && +% \multicolumn{1}{c}{\bfseries Locale} && +% \multicolumn{1}{c}{\bfseries Example} \\ +% \cline{1-2} \cline{4-4} \cline{6-6} +% \noalign{\vskip3pt} +% Germany & && |German| && \SIstyle{German}\SI{-1.23456e^3}{N.m}\\ +% South Africa& (SABS M 33a:1992) && |S-Africa| && \SIstyle{S-Africa}\SI{-1.23456e^3}{N.m}\\ +% USA & (NIST SP811) && |USA| && \SIstyle{USA}\SI{-1.23456e^3}{N.m}\\ +% \hline +% \noalign{\vskip3pt} +% \end{tabular} +% \end{table} +% +%^^A Einheiten und Formelzeichen +%^^A +%^^A DIN 1301-1 (12/93) Einheiten, Einheitennamen, Einheitenzeichen +%^^A DIN 1302 (12/99) Allgemeine mathematische Zeichen und Begriffe +%^^A DIN 1304-1 (03/94) Formelzeichen; Allgemeine Formelzeichen +%^^A DIN 1313 (12/98) Physikalische Größen und Gleichungen +%^^A DIN 1338 (08/96) Formelschreibweise und Formelsatz +% +%^^A================================================================= +% \changes{v2.0}{2004/07/09}{Documentation of interface with other packages} +% \section{Other packages} +% \subsection{\pkg{textcomp}} +% +% The \pkg{SIstyle} package defines a number of unit +% symbols that are not available as standard characters. +% If the \pkg{textcomp} package is loaded, the symbols in the +% righthand column of table~\ref{tab:textcomp} automatically used. +% +% \begin{table}[h] +% \centering +% \caption{SI symbols defined by \pkg{textcomp} package} +% \label{tab:textcomp} +% \smallskip +% \begin{tabular}{@{}lcccc} +% \hline\noalign{\vskip3pt} +% Command && Symbol &&\pkg{textcomp}\\ +% \cline{1-1} \cline{3-3} \cline{5-5} +% \noalign{\vskip3pt} +% \cmd{\angstrom}\hspace{1cm} && \angstrom && \capitalring{A} \\ +% \cmd{\micro} && $\mu$ && \textmu \\ +% \cmd{\ohm} && $\Omega$ && \textohm \\[1ex] +% \cmd{\degC} && \ensureupmath{{}^{\circ}\kern-\scriptspace C} +% && \textcelsius \\ +% \cmd{\degF} && \ensureupmath{{}^{\circ}\kern-\scriptspace F} +% && \textdegree F \\[1ex] +% \cmd{\arcdeg} && ${}^{\circ}$ && \textdegree \\ +% \hline +% \noalign{\vskip3pt} +% \end{tabular} +% \end{table} +% +% +% \subsection{\pkg{SIunits}} +% +% The \pkg{SIunits} package provides commands for all the SI units and +% prefixes. It can be used together with \pkg{SIstyle}, but care must be +% taken to ensure that both the packages have identical configurations. +% +% \begin{Item}{Example} +% \begin{Itabb} +% |\usepackage{textcomp}|\\ +% |\usepackage[cdot,textstyle]{SIunits}|\\ +% | \let\ohm\relax|\\ +% |\usepackage{sistyle}|\\ +% | \SIunitspace{\cdot}|\\ +% | \SIunitdot{\cdot}| +% \end{Itabb} +% Inside the document \pkg{SIunits} can then be used as +% \begin{Itabb} +% |\SI{30}{\watt\per\square\metre\usk\kelvin}| ~~$\rightarrow$~~ \SI{30}{W/m^2.K} +% \end{Itabb} +% As the author of \pkg{SIunits}, I prefere to write +% \begin{Itabb} +% |\SI{30}{W/m^2.K}| ~~$\rightarrow$~~ \SI{30}{W/m^2.K} +% \end{Itabb} +% \end{Item} +% +% \subsection{\pkg{mathcomp}} +% +% The \pkg{mathcomp} package provided the \pkg{textcomp} symbols in +% math mode. Unfortunately it is only available in the \cmd{\mathrm} +% math alphabet and is therefore of little use to \pkg{SIstyle}. +% +% \subsection{\pkg{upgreek}} +% +% The \pkg{upgreek} package can be used to redefine the \cmd{\micro} +% and \cmd{\ohm} commands. +% +% \begin{Item}{Example} +% \begin{Itabb} +% |\usepackage{sistyle}|\\ +% |\usepackage[Euler]{upgreek}|\\ +% | \newcommand*{\micro}{\ensureupmath{\upmu}}|\\ +% | \newcommand*{\ohm}{\ensureupmath{\upOmega}}| +% \end{Itabb} +% \end{Item} +% +% \subsection{\pkg{gensymb}} +% +% The \pkg{gensymb} package provides generic commands \cmd{\degree}, +% \cmd{\celsius}, \cmd{\perthousand}, \cmd{\micro} and \cmd{\ohm} +% which work both in text and math mode. Note that \pkg{SIstyle} typeset +% all its symbols in math mode which will cause \pkg{gensymb} to provide +% only math symbols. The result is that only the \cmd{\mathrm} versions +% of the symbols are then output in a document, thereby ignoring the +% font changing mechanism of \pkg{SIstyle}. +% +% +% +% \subsection{\pkg{arev}} +% +% The \pkg{arev} sanserif font has a slanted math sanserif font. To get an upright +% math font the \cmd{\mathrm} font must be used in place of \cmd{\mathsf}. The +% package \pkg{textcomp} is included inside \pkg{arev}, but it do not give the +% proper symbol for \pkg{arev}. We can use the \cmd{\textmu} symbol from the +% BeraSans typewriter font loaded internaly by \pkg{arev} +% +% \begin{Item}{Example} +% \begin{Itabb} +% |\usepackage{arev}|\\ +% |\usepackage{sistyle}|\\ +% | \SImathsf{\mathrm}|\\ +% | \SIdefaultTfam{\sffamily}|\\ +% | \newcommand*{\micro}{\ensureupmath{\text{\ttfamily\textmu}}}|\\ +% | \newcommand*{\ohm}{\ensureupmath{\Omega}}|\\ +% | \newcommand*{\degC}{\ensureupmath{{}^{\circ}\kern-\scriptspace C}}|\\ +% | \newcommand*{\degF}{\ensureupmath{{}^{\circ}\kern-\scriptspace F}}| +% \end{Itabb} +% \end{Item} +% +% +% +%^^A================================================================= +% \clearpage +% \part{Typesetting SI Units}\label{prt:SI} +% +% \section{SI Units}\label{sec:1} +% \subsection{Typeface} +% +% Unit symbols are printed in normal roman (upright) +% type regardless of the type used in the surrounding text. +% +% \begin{Item}{Example} +% {\bfseries\itshape A torque of\/ \SI{10}{N.m} was applied.} +% \end{Item} +% \begin{Item}{Listing}\small +% |{\bfseries\itshape A torque of\/ \SI{10}{N.m} was applied.}| +% \end{Item} +% +% +% +% \subsection{Unit symbols obtained by multiplication} +% +% Symbols for units formed from other units by multiplication are +% indicated by means of either a half-high (that is, centered) dot +% or a space. However, the half-high dot is preferred, because it is +% less likely to lead to confusion. +% +% \begin{Item}{Example} +% \SI{}{N~m} or \SI{}{N.m} +% \end{Item} +% \begin{Item}{Listing}\small +% |\SI{}{N~m} or \SI{}{N.m}| +% \end{Item} +% +% \begin{Item}{Notes} +% \end{Item} +% \begin{enumerate} +% \item A half-high dot or space is usually imperative. For example, +% \SI{}{m.s^{-1}} is the symbol for the metre per second while +% \SI{}{ms^{-1}} is the symbol for the reciprocal millisecond +% (\SI{1e3}{s^{-1}}). +% +% \item The ISO 31-0 specification suggests that if a space is used +% to indicate units formed by multiplication, the space may be +% omitted if it does not cause confusion. This possibility is +% reflected in the common practice of using the symbol +% \SI{}{kWh} rather than \SI{}{kW.h} or \SI{}{kW~h} for the kilowatt +% hour. Nevertheless, is the position taken that a +% half-high dot or a space should always be used to avoid +% possible confusion; and that for this same reason, only one +% of these two allowed forms should be used in any given +% manuscript. +% \end{enumerate} +% +% +% +% \subsection{Unit symbols obtained by division} +% +% Symbols for units formed from other units by division are +% indicated by means of a solidus (oblique stroke, \texttt{/} ), a +% horizontal line, or negative exponents. +%^^A +% \begin{Item}{Example} +% \SI{}{m/s},~ \SI{}{\dfrac{m}{s}},~ or~ \SI{}{m.s^{-1}} +% \end{Item} +% \begin{Item}{Listing}\small +% |\SI{}{m/s}, \SI{}{\dfrac{m}{s}}, or \SI{}{m.s^{-1}}| +% \end{Item} +%^^A +% \noindent However, to avoid ambiguity, the solidus must not be +% repeated on the same line unless parentheses are used. +%^^A +% \begin{Item}{Examples} +% \begin{tabular}[t]{@{}lll@{}} +%^^A \SI{}{m.kg/(s^3.A)}~ or~ \SI{}{m.kg.s^{-3}.A^{-1}}~~~\=\kill +% \SI{}{m/s^2}~ or~ \SI{}{m.s^{-2}}~ +% & \myemph{but not:} +% & \SI{}{m/s/s} \\ +% \SI{}{m.kg/(s^3.A)}~ or~ \SI{}{m.kg.s^{-3}.A^{-1}} +% & \myemph{but not:} +% & \SI{}{m.kg/s^3/A} +% \end{tabular} +% \end{Item} +% \begin{Item}{Listing}\small +% |\SI{}{m.kg/(s^3.A)} or \SI{}{m.kg.s^{-3}.A^{-1}}| +% \end{Item} +%^^A +% \noindent Negative exponents should be used in complicated cases. +% +% +% +% +% \section{Rules for Expressing Values of Quantities} +% \subsection{Value and numerical value of a quantity} +% \label{sec:numval} +% +% The \myemph{value} of a quantity is its magnitude expressed as the +% product of a number and a unit, and the number multiplying the +% unit is the \myemph{numerical} value of the quantity expressed in +% that unit. +% +% More formally, the value of quantity $A$ can be written as $A +% {=}\{A\}[A ]$, where $\{A\}$ is the numerical value of $A$ when the +% value of $A$ is expressed in the unit $[A]$. The numerical value +% can therefore be written as $\{A\}{=}A/[A]$, which is a convenient +% form for use in figures and tables. Thus, to eliminate the +% possibility of misunderstanding, an axis of a graph or the heading +% of a column of a table can be labeled ``$t/\SI{}{\degC}\,$'' +% instead of ``$t\,(\SI{}{\degC})$'' or ``Temperature +% $(\SI{}{\degC})$.'' +% +% \begin{figure}[!b] +% \sbox{\tboxa}{\includegraphics{figs/fig1}}^^A +% \sbox{\tboxb}{\includegraphics{figs/fig2}}^^A +% \setlength{\tdima}{\wd\tboxa}^^A +% \addtolength{\tdima}{\wd\tboxb}^^A +% \addtolength{\tdima}{1em}^^A +% \centering^^A +% \makebox[0pt][c]{ +% \begin{minipage}[t]{\tdima} +% \begin{minipage}[t]{\wd\tboxa} +% \usebox{\tboxa} +% \caption{Units included with the scale of the graph. This +% form is usually difficult to obtain with most +% graphing software.} +% \label{fig:1} +% \end{minipage} +% \hfill +% \begin{minipage}[t]{\wd\tboxb} +% \usebox{\tboxb} +% \caption{The graph labels includes the units and the scales +% are dimensionless. Notice that there is no +% ambiguity with this form of labeling, because +% everything makes mathematical sense.} +% \label{fig:2} +% \end{minipage} +% \end{minipage}} +% \end{figure} +% +% +% \begin{Item}{Example} +% \end{Item} +% \begin{enumerate} +% \item In the SI, the value of the velocity of light in vacuum is +% $c = \SI{299792458}{m/s}$ exactly. The number +% \num{299792458} is the numerical value of $c$ when $c$ is +% expressed in the unit \SI{}{m/s}, and equals $c/(\SI{}{m/s})$. +% +% \begin{Item}{Listing}\small +% |$c = \SI{299792458}{m/s}$|\\ +% |$c/(\SI{}{m/s})$| +% \end{Item} +% +% \item The ordinate of a graph is labeled $t/\SI{}{\micro s}$, +% where $t$ is the symbol for time and \SI{}{s} is the unit +% symbol for second, and has scale marks at \num{0}, \num{4}, +% \num{8}, and \num{12}. If the ordinate +% value of a point on a curve in the graph is estimated to +% be \num{3.2}, the corresponding time is ~ +% $t/\SI{}{\micro s}=\num{3.2}$ ~ or ~ $t =\SI{3.2}{\micro s} +% = \SI{3.6e-6}{s}$. Notice +% the lack of ambiguity in this form of labelling compared +% with ``Time $(\SI{}{\micro s})$.'' See figures +% \ref{fig:1} and \ref{fig:2} for examples. +% +% \item An expression such as $\ln(p/\SI{}{MPa})$, where $p$ is the +% quantity symbol for pressure and \SI{}{MPa} is the unit symbol +% for megapascal, is perfectly acceptable because $p/\SI{}{MPa}$ +% is the numerical value of $p$ when $p$ is expressed in the +% unit \SI{}{MPa} and is simply a number. +% \begin{Item}{Listing}\small +% |$\ln(p/\SI{}{MPa})$| +% \end{Item} +% \end{enumerate} +% +% +% +% \begin{Item}{Notes} +% \end{Item} +% \begin{enumerate} +% \item For the conventions concerning the grouping of digits, see +% section~\S\ref{sec:digits}. +% +% \item An alternative way of writing $c/(\SI{}{m/s})$ is +% $\{c\}_{\SI{}{m/s}}$, meaning the numerical value of $c$ when +% $c$ is expressed in the unit \SI{}{m/s}. +% +% \begin{Item}{Listing}\small +% |$\{c\}_{\SI{}{m/s}}$| +% \end{Item} +% \end{enumerate} +% +% +% \subsection{Space between numerical value and unit symbol} +% +% In the expression for the value of a quantity, the unit symbol is +% placed after the numerical value and a \myemph{space} is left +% between the numerical value and the unit symbol. Note that this +% rule includes the persentage sign \%. +% +% The only exceptions to this rule are for the unit symbols for +% degree, minute, and second for plane angles: \arcdeg, \arcmin, and +% \arcsec, respectively, in which case no space is left between the +% numerical value and the unit symbol. +% +% \begin{Item}{Examples} +% $x = \SI{10}{mm}$\\ +% $q = \SI{25}{\%}$\\ +% $\theta = \ang{30;22;8}$ +% \end{Item} +% \begin{Item}{Listing}\small +% |$x = \SI{10}{mm}$|\\ +% |$q = \SI{25}{\%}$|\\ +% |$\theta = \ang{30;22;8}$| +% \end{Item} +% +% \noindent This rule means that: +% +% \begin{enumerate} +% \item The symbol \degC\ for the degree Celsius is preceded by a +% space when one expresses the values of Celsius temperatures. +% +% \begin{Item}{Example} +% $t = \SI{30.2}{\degC}$~~ +% \myemph{but not:}~~ +% $t = \num{30.2}\degC$ ~~or~~ +% $t = \num{30.28}\mathrm{{}^{\circ}~C}$ +% \end{Item} +% \begin{Item}{Listing}\small +% |$t = \SI{30.2}{\degC}$| +% \end{Item} +% +% \item Even when the value of a quantity is used in an adjectival +% sense, a space is left between the numerical value and the +% unit symbol. (This rule recognizes that unit symbols are not +% like ordinary words or abbreviations but are mathematical +% entities, and that the value of a quantity should be +% expressed in a way that is as independent of language as +% possible.) +% +% \begin{Item}{Examples} +% a \SI{1}{m} end gauge +% \myemph{but not:} +% a \num{1}-\SI{}{m} end gauge +% +% a \SI{10}{kV} resistor +% \myemph{but not:} +% a \num{10}-\SI{}{kV} resistor +% \end{Item} +% +% However, if there is any ambiguity, the words should be +% rearranged accordingly. For example, the statement ``the +% samples were placed in \SI{22}{mL} vials'' should be +% replaced with the statement ``the samples were placed in +% vials of volume \SI{22}{mL}.'' +% +% \begin{Item}{Note} +% When unit names are spelled out, the normal rules of +% English apply. Thus, for example, ``a roll of +% \num{35}-millimetre film'' is acceptable. +% \end{Item} +% \end{enumerate} +% +% \subsection{Clarity in writing values of quantities} +% +% The value of a quantity is expressed as the product of a number +% and a unit (see section~\S\ref{sec:numval}). Thus, to avoid +% possible confusion, this \myemph{Guide} takes the position that +% values of quantities must be written so that it is completely +% clear to which unit symbols the numerical values of the quantities +% belong. Also to avoid possible confusion, this \myemph{Guide} +% strongly recommends that the word ``to'' be used to indicate a +% range of values for a quantity instead of a range dash (that is, a +% long hyphen) because the dash could be misinterpreted as a minus +% sign. (The first of these recommendations once again recognizes +% that unit symbols are not like ordinary words or abbreviations but +% are mathematical entities --- see section~\S\ref{sec:numval}.) +% +% \begin{Item}{Examples} +% \end{Item} +% \begin{tabbing} +% \hskip1pc\=\hskip15pc\=\kill \> +% $\SI{51}{mm}\times\SI{51}{mm}\times\SI{25}{mm}$ \> +% \myemph{but not:} ~ +% $\num{51}\times\num{51}\times\SI{25}{mm}$ \\[1ex] +% +% \> \SI{225}{nm} to \SI{2400}{nm} or +% $(\num{225}\text{ to }\num{2400})\,\SI{}{nm}$ \> +% \myemph{but not:} ~ +% \num{225} to \SI{2400}{nm}\\[1ex] +% +% \> \SI{0}{\degC} to \SI{100}{\degC} or +% $(\num{0}\text{ to }\num{100})\,\degC$ \> +% \myemph{but not:} ~ +% $\SI{0}{\degC} - \SI{100}{\degC}$\\[1ex] +% +% \> \SI{0}{V} to \SI{5}{V} or (\num{0} to \num{5})\,V \> +% \myemph{but not:} ~ +% $\num{0} - \SI{5}{V}$ \\[1ex] +% +% \> (\num{8.2}, \num{9.0}, \num{9.5}, \num{9.8}, +% \num{10.0})\,\SI{}{GHz} \> +% \myemph{but not:} ~ +% \num{8.2}, \num{9.0}, \num{9.5}, \num{9.8}, \SI{10.0}{GHz}\\[1ex] +% +% \> $\SI{63.2}{m} \pm \SI{0.1}{m}$ or $(\num{63.2} \pm +% \num{0.1})\,\SI{}{m}$ \> +% \myemph{but not:} ~ +% $\num{63.2} \pm \SI{0.1}{m}$ or $\SI{63.2}{m} \pm \num{0.1}$ \\[1ex] +% +% \> $\SI{129}{s} - \SI{3}{s} = \SI{126}{s}$ or +% $(\num{129}-\num{3})\,\SI{}{s} = \SI{126}{s}$ \> +% \myemph{but not:} ~ +% $\num{129} - \SI{3}{s} = \SI{126}{s}$ +% +% \end{tabbing} +% +% \begin{Item}{Note} +% For the conventions concerning the use of the multiplication sign, +% see section~\S\ref{sec:mult}. +% \end{Item} +% +%^^A========================================================== +% +% \section{Printing Numbers} +% +% \subsection{Typeface for numbers} +% +% Arabic numerals expressing the numerical values of quantities are +% generally printed in lightface (that is, regular) roman type +% irrespective of the type used for the surrounding text. Arabic +% numerals other than numerical values of quantities may be printed +% in lightface or bold italics, or in bold roman type, but lightface +% roman type is usually preferred. +% +% \subsection{Decimal sign or marker} +% +% The sign or marker being used depends very much on the practices +% of a country (and/or language), e.g., in the United States is the +% dot on the line, while in Germany it is the comma. +% +% For numbers less than one, a zero is written before the decimal +% marker. For example, \SI{0.25}{s} is the correct form, not +% \xnum{.25}\,s. +% +% \subsection{Grouping digits}\label{sec:digits} +% +% Because the comma is widely used as the decimal marker, it should +% not be used to separate digits into groups of three (there are +% exceptions for certain countries). Instead, digits should be +% separated into groups of three, counting from the decimal marker +% towards the left and right, by the use of a thin, fixed space. +% However, this practice is not usually followed for numbers having +% only four digits on either side of the decimal marker except when +% uniformity in a table is desired. +% \begin{Item}{Examples} +% \begin{tabbing} +% \xnum{8012.5947} or \xnum{8\;012.594\;7}~\= \myemph{is highly preferred to:}~~\=\kill +% \num{76483522} \> \myemph{but not:} \>\xnum{76{,}483{,}522}\\ +% \num{43279.16829} \> \myemph{but not:} \>\xnum{43{,}279.168\;29}\\ +% \xnum{8012} or \xnum{8\;012} \> \myemph{but not:} \>\xnum{8{,}012}\\ +% \num{0.4917223} \> \myemph{is highly preferred to:} \>\xnum{0.4917223}\\ +% \xnum{0.5947} or \xnum{0.594\;7} \> \myemph{but not:} \>\xnum{0.59\;47}\\ +% \xnum{8012.5947} or \xnum{8\;012.594\;7}\> \myemph{but not:} \>\xnum{8\;012.5947} or \xnum{8012.594\;7} +% \end{tabbing} +% \end{Item} +% +% \begin{Item}{Note} +% The practice of using a space to group digits is not usually +% followed in certain specialized applications, such as engineering +% drawings and financial statements. +% \end{Item} +% +% +% \subsection{Multiplying numbers}\label{sec:mult} +% +% When the dot is used as the decimal marker (USA convention), the +% preferred sign for the multiplication of numbers or values of +% quantities is a cross (that is, multiplication sign) ($\times$), +% not a half-high (that is, centered) dot ($\cdot$). +% +% \begin{Item}{Examples} +% \begin{tabular}[t]{@{}lll@{}} +% $\num{25}\times\num{60.5}$ &\myemph{but not:}& $\num{25}\cdot\num{60.5}$\\ +% $\SI{53}{m/s}\times\SI{10.2}{s}$ &\myemph{but not:}& $\SI{53}{m/s}\cdot\SI{10.2}{s}$\\ +% $\num{15}\times\SI{72}{kg}$ &\myemph{but not:}& $\num{15}\cdot\SI{72}{kg}$\\ +% \end{tabular} +% \end{Item} +% +% +% \begin{Item}{Notes} +% \end{Item} +% \begin{enumerate} +% \item When the comma is used as the decimal marker, the preferred +% sign for the multiplication of numbers is the half-high dot +% (German convention). +% \begin{Ipara}[\normalsize] +% \xnum{3{,}645\;98 \cdot 10^2} ~ or ~ +% \xnum{2{,}58 \cdot 31{,}2} +% \end{Ipara} +% The comma is also used together with the cross for the +% multiplication of values of quantities (South African Convention). +% \begin{Ipara}[\normalsize] +% \xnum{3{,}645\;98 {\times} 10^2} ~ or ~ +% \xnum{2{,}58 \times 31{,}2} +% \end{Ipara} +% +% \item The multiplication of quantity symbols (or numbers in +% parentheses or values of quantities in parentheses) may be +% indicated in one of the following ways: $ab$, $a\;b$, $a\cdot b$, +% $a\times b$. +% \end{enumerate} +% +% +%^^A================================================================= +% \StopEventually{\PrintChanges\PrintIndex} +% \clearpage +% \part{Implementation: \pkg{SIstyle}} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \section{Utilities} +% +% We need the \cmd{\text} command from the \AmS\ package +% \pkg{amstext} for the typesetting of text in math mode. +% \begin{macrocode} +\RequirePackage{amstext} +% \end{macrocode} +% +% \subsection{Test for $\varepsilon$-\TeX} +% \begin{macrocode} +\newif\ifSI@eTeX +\SI@eTeXfalse +\ifx\eTeXversion\@undefined +\else + \ifx\eTeXversion\relax + \else + \ifnum\eTeXversion>\z@ + \SI@eTeXtrue + \fi + \fi +\fi +% \end{macrocode} +% +% \subsection{Test for empty argument} +% +% \begin{macro}{\SI@ifempt} +% Test for a empty argument (Wilson, Arseneau in +% \pkg{ifmtarg.sty}).\\ +% Usage: \cmd{\SI@ifempt}\marg{arg}\marg{true}\marg{false} +% +% \begin{macrocode} +\begingroup + \catcode`\Q=3 + \long\gdef\SI@ifempt#1{\SI@xifempt#1QQ\@secondoftwo\@firstoftwo\@nil} + \long\gdef\SI@xifempt#1#2Q#3#4#5\@nil{#4} +\endgroup +% \end{macrocode} +% \end{macro} +% +% \subsection{Font test commands} +% +% \begin{macro}{\GetMathFontFams} +% There exists no hook to test for the current active +% math font. Get the different families at the beginning +% of the document. We only look for \cmd{\mathsf} and +% \cmd{\mathtt}. The others are set with the default +% math font (\cmd{\mathrm}). +% \begin{macrocode} + \newcommand{\GetMathFontFams}{% + \sbox{0}{$% + \@ifundefined{mathsf} + {\global\chardef\SI@sffam=99}% + {\mathsf{\global\chardef\SI@sffam=\fam}}% + \@ifundefined{mathtt} + {\global\chardef\SI@ttfam=99}% + {\mathtt{\global\chardef\SI@ttfam=\fam}}% + $}% + } +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\AtBeginDocument{\GetMathFontFams} +% \end{macrocode} +% +% \begin{macro}{\IfTbold} +% Test if bold text (\cmd{\bfseries} or \cmd{\bxseries}) is +% active.\\ +% Usage: \cmd{\IfTbold}\marg{true}\marg{false} +% \begin{macrocode} +\newcommand{\IfTbold}[2]{% + \if b\expandafter\@car\f@series\@nil% + #1\else #2\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\IfMbold} +% Test if \cmd{\boldmath} is active. +% Usage: \cmd{\IfMbold}\marg{true}\marg{false} +% \begin{macrocode} +\newcommand{\IfMbold}[2]{% + \edef\temp@bm{bold}% + \ifx\math@version\temp@bm + #1\else #2\fi} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Font user setup commands} +% +% \begin{macro}{\SIobeybold} +% User flag to obey bold text and math bold setting for +% SI units and numbers. +% \begin{macrocode} +\newif\ifSIobeybold +\SIobeyboldfalse +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SI@mathrm} +% \begin{macro}{\SI@mathsf} +% \begin{macro}{\SI@mathtt} +% \begin{macro}{\SImathrm} +% \begin{macro}{\SImathsf} +% \begin{macro}{\SImathtt} +% Make user commands to override \cmd{\mathrm}, \cmd{\mathsf} +% and \cmd{\mathtt}, +% \begin{macrocode} +\newcommand*{\SI@mathrm}{\mathrm} +\newcommand*{\SI@mathsf}{\mathsf} +\newcommand*{\SI@mathtt}{\mathtt} +\newcommand*{\SImathrm}[1]{\renewcommand*{\SI@mathrm}{#1}} +\newcommand*{\SImathsf}[1]{\renewcommand*{\SI@mathsf}{#1}} +\newcommand*{\SImathtt}[1]{\renewcommand*{\SI@mathtt}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\SIdefaultMfam} +% \begin{macro}{\SI@defaultMfam} +% The default upright math font for typesetting SI units. This +% is normally the \cmd{\mathrm} command, but the user may select +% a different font. +% \begin{macrocode} +\newcommand*{\SI@defaultMfam}{\SI@mathrm} +\newcommand*{\SIdefaultMfam}[1]{\renewcommand*{\SI@defaultMfam}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\SIdefaultNfam} +% \begin{macro}{\SI@defaultNfam} +% The default upright math font for typesetting numbers. This +% is normally the \cmd{\mathrm} command, but the user may select +% a different font, for example \cmd{\mathnormal} to obtain +% old-style digits. +% \begin{macrocode} +\newcommand*{\SI@defaultNfam}{\SI@mathrm} +\newcommand*{\SIdefaultNfam}[1]{\renewcommand*{\SI@defaultNfam}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SIdefaultTfam} +% \begin{macro}{\SI@defaultTfam} +% The default text font for units set inside a \cmd{\mbox}, +% such as symbols from the \pkg{textcomp} package. It sets the +% font when the surrounding text font is not \cmd{\sffamily} or +% \cmd{\ttfamily} or if it is set inside display math. +% \begin{macrocode} +\newcommand*{\SI@defaultTfam}{\rmfamily} +\newcommand*{\SIdefaultTfam}[1]{\renewcommand*{\SI@defaultTfam}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SIupmath} +% This command set units and numbers in an upright font. +% When called inside a normal text paragraph or inside +% inline math |$...$|, it will follow the surrounding +% text font: sansserif or typewrite otherwise it will +% default to the roman font. Inside display math it will +% follows the active math font. +% +% The prerequisite to toggle the \cmd{\boldmath} math version +% results in setting the argument inside the \AmS\ \cmd{\text} +% command. It has the added benefit of scaling with the active +% math style. +% +% Usage: \cmd{\SIupmath}\oarg{math font}\marg{argument} +% +% \begin{macro}{\ifupmath} +% Flag to indicate whether we are inside \cmd{\SIupmath}. +% \begin{macrocode} +\newif\ifupmath +\upmathfalse +% \end{macrocode} +% \begin{macrocode} +\newcommand*{\SIupmath}[2][\SI@defaultMfam]{% +\begingroup + \upmathtrue + \edef\temp@sf{\sfdefault}% + \edef\temp@tt{\ttdefault}% + \let\SI@bold=\relax + \ifmmode + \ifdim\displaywidth>0pt\relax%--- DISPLAY MATH ------------ + \ifnum\the\fam=\SI@sffam + \let\SI@mfam=\SI@mathsf + \let\SI@tfam=\sffamily + \else \ifnum\the\fam=\SI@ttfam + \let\SI@mfam=\SI@mathtt + \let\SI@tfam=\ttfamily + \else + \let\SI@mfam=#1% + \let\SI@tfam=\SI@defaultTfam + \fi\fi + \IfMbold{\def\SI@bold{\bfseries}}% + {\def\SI@bold{\mdseries}}% + \else%--- INLINE MATH ---------- + \ifx\f@family\temp@sf + \let\SI@mfam=\SI@mathsf + \let\SI@tfam=\sffamily + \else\ifx\f@family\temp@tt + \let\SI@mfam=\SI@mathtt + \let\SI@tfam=\ttfamily + \else + \let\SI@mfam=#1% + \let\SI@tfam=\SI@defaultTfam + \fi\fi + \IfTbold{\def\SI@bold{\boldmath}}% + {\def\SI@bold{\unboldmath}}% + \fi + \else%----- NORMAL TEXT -------------- + \ifx\f@family\temp@sf + \let\SI@mfam=\SI@mathsf + \let\SI@tfam=\sffamily + \else\ifx\f@family\temp@tt + \let\SI@mfam=\SI@mathtt + \let\SI@tfam=\ttfamily + \else + \let\SI@mfam=#1% + \let\SI@tfam=\SI@defaultTfam + \fi\fi + \IfTbold{\def\SI@bold{\boldmath}}% + {\def\SI@bold{\unboldmath}}% + \fi%----- END OF TEST -------------- + \text{% + \ifSIobeybold\SI@bold\else\unboldmath\mdseries\fi + \upshape\SI@tfam + $\SI@mfam{#2}$}% +\endgroup +\check@mathfonts} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ensureupmath} +% A user command to use the \cmd{\SIupmath} command. +% \begin{macrocode} +\DeclareRobustCommand{\ensureupmath}{% + \ifupmath + \expandafter\@firstofone + \else + \expandafter\SIupmath + \fi} +% \end{macrocode} +% \end{macro} +% +% +% \section{Typeset Numbers} +% +% \subsection{Setup for typesetting numbers} +% +% \begin{macro}{\SIdecimalsign} +% \begin{macro}{\SI@decsign} +% User command to set decimal sign. +% \begin{macrocode} +\newcommand*{\SI@decsign}{{.}} +\newcommand*{\SIdecimalsign}[1]{\renewcommand*{\SI@decsign}{{#1}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SIthousandsep} +% \begin{macro}{\SI@thousandsep} +% User command to set thousands separator. +% \begin{macrocode} +\newcommand*{\SI@thousandsep}{{\,}} +\newcommand*{\SIthousandsep}[1]{\renewcommand*{\SI@thousandsep}{{#1}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SIproductsign} +% \begin{macro}{\SI@prod} +% User command to set product sign. +% \begin{macrocode} +\newcommand*{\SI@prod}{\ensuremath{{}\times{}}} +\newcommand*{\SIproductsign}[1]{\renewcommand*{\SI@prod}{\ensuremath{{}#1{}}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifSIgroupfour} +% User flag for the grouping of four digits. +% \begin{macrocode} +\newif\ifSIgroupfour +\SIgroupfourtrue +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Number parser} +% +% \begin{macro}{\SI@num} +% Main command for typesetting numbers. Zap all input spaces and +% make E's lowercase. +% \begin{macrocode} +\def\SI@num#1{% + \SI@ifempt{#1}{}{% + \edef\SI@tmpa{\lowercase{\noexpand\SI@@num{\zap@space#1 \@empty}}}% + \SI@tmpa}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SI@@num} +% \begin{macro}{\SI@numsplit} +% Split of the exponential part (Downes, Oberdiek on c.t.t) +% \begin{macrocode} +\def\SI@@num#1{\SI@numsplit#1ee\SI@numexp\SI@realp\@empty} +\def\SI@numsplit#1e#2e#3#4#5{#4{#1}{#2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SI@p@tst} +% \begin{macro}{\SI@m@tst} +% Temporaries to test for $+$ and $-$. +% \begin{macrocode} +\def\SI@p@tst{+} +\def\SI@m@tst{-} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SI@numexp} +% Type the exponent if the argument contains an ``E'' or ``e''. +% \begin{macrocode} +\def\SI@numexp#1#2{% + \SI@ifempt{#1}{}{% + \def\SI@tmpb{#1}% + \ifx\SI@tmpb\SI@p@tst\ensuremath{+}\else + \ifx\SI@tmpb\SI@m@tst\ensuremath{-}\else + \SI@realp{#1}{}\SI@prod% + \fi\fi}% + \ifmmode + 10^{\SI@realp{#2}{}}% + \else + 10\textsuperscript{\SI@realp{#2}{}}% + \fi} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\SI@realp} +% \begin{macro}{\SI@realpsplit} +% Split of the integer and decimal part (for decimal point). +% \begin{macrocode} +\def\SI@realp#1#2{\SI@realpsplit#1..\SI@realfrc\SI@realc\@empty} +\def\SI@realpsplit#1.#2.#3#4#5{#4{#1}{#2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SI@realc} +% \begin{macro}{\SI@realcsplit} +% Split of the integer and decimal part (for decimal comma). +% \begin{macrocode} +\def\SI@realc#1#2{\SI@realcsplit#1,,\SI@realfrc\SI@signedint\@empty} +\def\SI@realcsplit#1,#2,#3#4#5{#4{#1}{#2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\SI@realfrc} +% Type the number if it contains a fraction part. Insert a zero +% if the integer is empty (no sign either). +% \begin{macrocode} +\def\SI@realfrc#1#2{% + \SI@ifempt{#1}{\SI@int{0}}% + {\SI@signedint{#1}{}}% + \SI@decsign\SI@dec{#2}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SI@signedint} +% Split the plus and minus from the integer. +% \begin{macrocode} +\def\SI@signedint#1#2{\SI@@signedint#1 } +\def\SI@@signedint#1#2 {% + \if +#1\ensuremath{+}% + \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}% + \else + \if -#1\ensuremath{-}% + \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}% + \else + \SI@int{#1#2}\fi \fi} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\SI@not@v} +% \begin{macro}{\SI@@not@v} +% Test for a fifth digit. +% \begin{macrocode} +\def\SI@not@v#1{\SI@@not@v#1\@empty\@empty\@empty\@empty\@empty\@nil} +\def\SI@@not@v#1#2#3#4#5\@nil{% + \ifx\@empty#5\@empty + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\SI@int} +% Set the integer. If \cmd{\ifSIgroup} is true and the number has +% four or less digits, then set the number. Otherwise pass it +% on to the formatting command. +% \begin{macrocode} +\def\SI@int#1{% + \ifSIgroupfour + \SI@not@v{#1}{#1}{\SI@intfmt{}#1\@empty\@empty\@empty}% + \else + \SI@intfmt{}#1\@empty\@empty\@empty% + \fi} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\SI@intfmt} +% \begin{macro}{\SI@intfmtafterfi} +% \begin{macro}{\SI@addthousandsep} +% Finally typeset the integer in groups of three. (From a macro +% to typeset Dollar amounts by Donald Arseneau on c.t.t.) +% \begin{macrocode} +\def\SI@intfmt#1#2#3#4{% + \ifx\@empty#2\@empty% + \SI@addthousandsep#1\relax + \else + \ifx\@empty#3\@empty% + \SI@addthousandsep\@empty\@empty#1#2\relax + \else + \ifx\@empty#4\@empty% + \SI@addthousandsep\@empty#1#2#3\relax + \else + \SI@intfmtafterfi{#1#2#3#4}% + \fi + \fi + \fi} +% \end{macrocode} +% +% \begin{macrocode} +\def\SI@intfmtafterfi#1\fi\fi\fi{\fi\fi\fi\SI@intfmt{#1}} +% \end{macrocode} +% +% \begin{macrocode} +\def\SI@addthousandsep#1#2#3#4{#1#2#3% + \if\relax#4\relax + \else + \SI@thousandsep\expandafter\SI@addthousandsep\expandafter#4% + \fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SI@dec} +% \begin{macro}{\SI@decfmt} +% Set the decimal part (from \pkg{frenchb.ldf} by by Johannes L. Braams) +% \begin{macrocode} +\def\SI@dec#1{% + \ifSIgroupfour + \SI@not@v{#1}{#1}{\SI@decfmt#1\@empty\@empty\@empty\@empty}% + \else + \SI@decfmt#1\@empty\@empty\@empty\@empty% + \fi} +% \end{macrocode} +% +% \begin{macrocode} +\def\SI@decfmt#1#2#3#4{#1#2#3% + \ifx\@empty#4\@empty% + \else + \SI@thousandsep\expandafter\SI@decfmt\expandafter#4% + \fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% +% +% \subsection{Number commands} +% +% \begin{macro}{\SInum} +% Command to typeset a number in upright math font +% with \cmd{\SIupmath} +% \begin{macrocode} +\newcommand*{\SInum}[1]{{% + \let\SI@unitdot=\pnt% + \SIupmath[\SI@defaultNfam]{\SI@num{#1}}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\num} +% The robust user command to typeset a number. +% The starred form gives a number in the normal active +% font. +% \begin{macrocode} +\DeclareRobustCommand*{\num}{\@ifstar{\SI@num}{\SInum}} +% \end{macrocode} +% \end{macro} +% +% +% \section{Typesetting Angles} +% +% +% \begin{macro}{\ang} +% \begin{macro}{\SI@ang} +% \begin{macro}{\SI@@ang} +% \begin{macro}{\SI@ang@xii} +% \begin{macro}{\SI@@ang@xii} +% \begin{macro}{\SI@ang@xiii} +% \begin{macro}{\SI@@ang@xiii} +% The robust user command to typeset angles. Note that we +% have to make provisions for packages such as French that +% make the semicolon (;) active +% \begin{macrocode} +\ifSI@eTeX + \DeclareRobustCommand{\ang}{% + \begingroup + \catcode`;=12\relax + \catcode`@=11\relax + \SI@ang} + \def\SI@ang#1{% + \scantokens{\SI@@ang#1;;;\@nil}% + \endgroup} + \def\SI@@ang#1;#2;#3;#4\@nil{% + \SI@@@ang{#1}{#2}{#3}}% +\else + \DeclareRobustCommand{\ang}[1]{% + \@nameuse{SI@ang@\romannumeral\catcode`\;}{#1}}% + \begingroup + \catcode`\;=12\relax + \gdef\SI@ang@xii#1{\SI@@ang@xii#1;;;\@nil} + \gdef\SI@@ang@xii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}} + \catcode`\;=\active\relax + \gdef\SI@ang@xiii#1{\SI@@ang@xiii#1;;;\@nil} + \gdef\SI@@ang@xiii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}} + \endgroup +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SI@degs} +% \begin{macro}{\SI@mins} +% \begin{macro}{\SI@secs} +% \begin{macro}{\SI@@@ang} +% Scratch commands to hold definitions and typeset angles. +% \begin{macrocode} +\let\SI@degs=\relax +\let\SI@mins=\relax +\let\SI@secs=\relax +% \end{macrocode} +% \begin{macrocode} +\newcommand*{\SI@@@ang}[3]{{% + \SI@ifempt{#3}{}{\def\SI@secs{\SInum{#3}\SIupmath{\arcsec}}% + \def\SI@mins{\SInum{0}\SIupmath{\arcmin}}% + \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}% + \SI@ifempt{#2}{}{\def\SI@mins{\SInum{#2}\SIupmath{\arcmin}}% + \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}% + \SI@ifempt{#1}{}{\def\SI@degs{\SInum{#1}\SIupmath{\arcdeg}}}% + \SI@degs\SI@mins\SI@secs}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \section{Typesetting Units} +% \subsection{Unit setup commands} +% +% \begin{macro}{\SIunitsep} +% \begin{macro}{\SI@unitsep} +% User command to set unit separation width from the number. +% \begin{macrocode} +\newcommand*{\SI@unitsep}{\,} +\newcommand*{\SIunitsep}[1]{\renewcommand*{\SI@unitsep}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SIunitspace} +% \begin{macro}{\SI@unitspace} +% User command to set the spacing between units when +% ``\tlde'' is issued. +% \begin{macrocode} +\newcommand*{\SI@unitspace}{\,} +\newcommand*{\SIunitspace}[1]{\renewcommand*{\SI@unitspace}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SIunitdot} +% \begin{macro}{\SI@unitdot} +% User command to set the unit dot when ``.'' is +% given between units. +% \begin{macrocode} +\newcommand*{\SI@unitdot}{{\cdot}} +\newcommand*{\SIunitdot}[1]{\renewcommand*{\SI@unitdot}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\pnt} +% Supply \cmd{\pnt} command for ``.'' in mathmode. +% Define the point ``.'' as a command when active +% (|\mathcode`.="8000|) inside math environment. +% \begin{macrocode} +\DeclareMathSymbol{\pnt}{\mathord}{letters}{58} %(\pnt = .) +{\catcode`\.=13 \gdef.{\SI@unitdot}} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Commands for units} +% +% \begin{macro}{\SIunit} +% Command that sets the environment for typesetting units. +% The ``.'' is made active and the ``\tlde'' is redefined. +% \begin{macrocode} +\newcommand*{\SIunit}[1]{% +\begingroup% + \mathcode`.="8000% + \def~{\SI@unitspace}% + \SIupmath{#1}% +\endgroup} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SI} +% Command to typeset numbers with units. +% +% Usage: \cmd{\SI}\marg{number}\marg{unit} +% \begin{macrocode} +\DeclareRobustCommand*{\SI}[2]{% + \SI@ifempt{#1}{}{\SInum{#1}\SI@unitsep}% + \SIunit{#2}} +% \end{macrocode} +% \end{macro} +% +% \section{Additional Units} +% +% \noindent +% Additional non Latin user symbols are defined: +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{textcomp}{% + \providecommand*{\micro}{\ensureupmath{\mbox{\textmu}}}% + \providecommand*{\ohm}{\ensureupmath{\mbox{\textohm}}}% + \providecommand*{\degC}{\ensureupmath{\mbox{\textcelsius}}}% + \providecommand*{\degF}{\ensureupmath{\mbox{\textdegree F}}}% + \providecommand*{\arcdeg}{\ensureupmath{\mbox{\textdegree}}}% + \providecommand*{\angstrom}{\ensureupmath{\mbox{\capitalring{A}}}}% + }{% + \providecommand*{\micro}{\ensureupmath{\mu}}% + \providecommand*{\ohm}{\ensureupmath{\Omega}}% + \providecommand*{\degC}{% + \ensureupmath{{}^{\circ}\kern-\scriptspace C}}% + \providecommand*{\degF}{% + \ensureupmath{{}^{\circ}\kern-\scriptspace F}}% + \providecommand*{\arcdeg}{\ensureupmath{{}^{\circ}}}% + \providecommand*{\angstrom}{\ensureupmath{\mbox{\AA}}}% + }% + \providecommand*{\arcmin}{\ensureupmath{{}^{\prime}}}% + \providecommand*{\arcsec}{\ensureupmath{{}^{\prime\prime}}}% +} +% \end{macrocode} +% +% \section{Locales} +% \subsection{Macros} +% +% Temporary tokens. +% \begin{macrocode} +\newtoks\ttoks@A +\newtoks\ttoks@B +% \end{macrocode} +% +% \begin{macro}{\SIstyle} +% The main command to activate a spesific style. +% \begin{macrocode} +\newcommand{\SIstyle}[1]{% + \@ifundefined{SIstyle#1}% + {\PackageError{SIstyle}{Style `#1' is not defined}% + {See SIstyle package documentation}}% + {\@nameuse{SIstyle#1}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\AddToSIstyle} +% \begin{macro}{\SI@s@addto@stl} +% \begin{macro}{\SI@addto@stl} +% Append the command list in |#2| to the style command |\SIstyle#1|. +% The starred form clears the list before appending. +% \begin{macrocode} +\newcommand{\AddToSIstyle}{% + \@ifstar{\SI@s@addto@stl}{\SI@addto@stl}} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\SI@s@addto@stl}[1]{% + \expandafter\let\csname SIstyle#1\endcsname\relax + \SI@addto@stl{#1}} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\SI@addto@stl}[2]{% + \expandafter\SI@addto@list\csname SIstyle#1\endcsname{#2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macrocode} +\@onlypreamble\AddToSIstyle +% \end{macrocode} +% +% \begin{macro}{\SIstyleToLang} +% Links a locale to the \pkg{babel} language changing +% |\extras|\meta{lang}. +% +% \begin{macrocode} +\newcommand*{\SIstyleToLang}[2]{% + \expandafter\SI@addto@list + \csname extras#1\expandafter\endcsname + \csname SIstyle#2\endcsname} +% \end{macrocode} +% \begin{macrocode} +\@onlypreamble\SIstyleToLang +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SI@addto@list} +% The general macro to append to a list +% (stolen for \pkg{varioref}). +% +% \begin{macrocode} +\newcommand{\SI@addto@list}[2]{% + \ttoks@A{#2}% + \ifx#1\@undefined + \edef#1{\the\ttoks@A}% + \else + \ifx#1\relax + \edef#1{\the\ttoks@A}% + \else + \ttoks@B\expandafter{#1}% + \edef#1{\the\ttoks@B\the\ttoks@A}% + \fi + \fi + \ttoks@A{}\ttoks@B\ttoks@A} +% \end{macrocode} +% \end{macro} +% +% \subsection{Country spesific setup} +% +% \paragraph{USA:} +% NIST Special Publication 811 -- \textit{Guide for the Use of the +% International System of Units (SI)} +% +% \begin{macrocode} +\AddToSIstyle{USA}{% + \SIdecimalsign{.}% + \SIthousandsep{\,}% + \SIunitsep{\,}% + \SIunitdot{\cdot}% + \SIunitspace{\;}% + \SIproductsign{\times}% + \SIobeyboldfalse + \SIgroupfourtrue} +% \end{macrocode} +% \paragraph{Germany:} +% \begin{macrocode} +\AddToSIstyle{German}{% + \SIdecimalsign{,}% + \SIthousandsep{\,}% + \SIproductsign{\cdot}% + \SIunitsep{\,}% + \SIunitspace{\,}% + \SIunitdot{\cdot}% + \SIobeyboldfalse + \SIgroupfourtrue} +% \end{macrocode} +% \paragraph{South Africa:} +% SABS M 33a:1992 -- \textit{The international metric system (SI). +% Guide to the use of the SI in South Africa.} +% \begin{macrocode} +\AddToSIstyle{S-Africa}{% + \SIdecimalsign{,}% + \SIthousandsep{\,}% + \SIproductsign{\times}% + \SIunitsep{\,}% + \SIunitspace{\,}% + \SIunitdot{\cdot}% + \SIobeyboldfalse + \SIgroupfourtrue} +% \end{macrocode} +% \begin{macrocode} +% +% \end{macrocode} +% The end of this package. +% \Finale +\endinput diff --git a/macros/latex/contrib/sistyle/sistyle.ins b/macros/latex/contrib/sistyle/sistyle.ins new file mode 100644 index 0000000000..5c5e15ff47 --- /dev/null +++ b/macros/latex/contrib/sistyle/sistyle.ins @@ -0,0 +1,76 @@ +% sistyle.ins +% Copyright (C) 2004--2008 Danie Els +% +% ------------------------------------------------------------------- +% The SIstyle package +% for SI units and number typesetting +% ------------------------------------------------------------------- +% This work may be distributed and/or modified under the conditions +% of the LaTeX Project Public License, either version 1.3c of this +% license or (at your option) any later version. The latest version +% of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status 'maintained'. +% +% This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za) +% +% This package consists of the files: sistyle.dtx +% sistyle.ins +% and the derived file: sistyle.sty +% ------------------------------------------------------------------- + + +\def\batchfile{sistyle.ins} +\def\filedate{2008/07/16} +\input docstrip.tex +\keepsilent + +\declarepreamble\DNJEpreamble + +Copyright (C) 2004--2008 Danie Els + +------------------------------------------------------------------- + The SIstyle package + for SI units and number typesetting +------------------------------------------------------------------- +This work may be distributed and/or modified under the conditions +of the LaTeX Project Public License, either version 1.3c of this +license or (at your option) any later version. The latest version +of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3c or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status 'maintained'. + +This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za) + +This package consists of the files: sistyle.dtx + sistyle.ins + and the derived file: sistyle.sty +------------------------------------------------------------------- + +\endpreamble + +\generate{% + \askforoverwritefalse + \usepreamble\DNJEpreamble + \file{sistyle.sty}{\from{sistyle.dtx}{package}}} + +\obeyspaces% +\Msg{*********************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the *} +\Msg{* following file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* sistyle.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file sistyle.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{*********************************************************} +\endbatchfile diff --git a/macros/latex/contrib/sistyle/sistyle.sty b/macros/latex/contrib/sistyle/sistyle.sty new file mode 100644 index 0000000000..fa774b060d --- /dev/null +++ b/macros/latex/contrib/sistyle/sistyle.sty @@ -0,0 +1,373 @@ +%% +%% This is file `sistyle.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% sistyle.dtx (with options: `package') +%% +%% Copyright (C) 2004--2008 Danie Els +%% +%% ------------------------------------------------------------------- +%% The SIstyle package +%% for SI units and number typesetting +%% ------------------------------------------------------------------- +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status 'maintained'. +%% +%% This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za) +%% +%% This package consists of the files: sistyle.dtx +%% sistyle.ins +%% and the derived file: sistyle.sty +%% ------------------------------------------------------------------- +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{sistyle} + [2008/07/16 v2.3a SI units and numbers (DNJ Els)] +\RequirePackage{amstext} +\newif\ifSI@eTeX +\SI@eTeXfalse +\ifx\eTeXversion\@undefined +\else + \ifx\eTeXversion\relax + \else + \ifnum\eTeXversion>\z@ + \SI@eTeXtrue + \fi + \fi +\fi +\begingroup + \catcode`\Q=3 + \long\gdef\SI@ifempt#1{\SI@xifempt#1QQ\@secondoftwo\@firstoftwo\@nil} + \long\gdef\SI@xifempt#1#2Q#3#4#5\@nil{#4} +\endgroup + \newcommand{\GetMathFontFams}{% + \sbox{0}{$% + \@ifundefined{mathsf} + {\global\chardef\SI@sffam=99}% + {\mathsf{\global\chardef\SI@sffam=\fam}}% + \@ifundefined{mathtt} + {\global\chardef\SI@ttfam=99}% + {\mathtt{\global\chardef\SI@ttfam=\fam}}% + $}% + } +\AtBeginDocument{\GetMathFontFams} +\newcommand{\IfTbold}[2]{% + \if b\expandafter\@car\f@series\@nil% + #1\else #2\fi} +\newcommand{\IfMbold}[2]{% + \edef\temp@bm{bold}% + \ifx\math@version\temp@bm + #1\else #2\fi} +\newif\ifSIobeybold +\SIobeyboldfalse +\newcommand*{\SI@mathrm}{\mathrm} +\newcommand*{\SI@mathsf}{\mathsf} +\newcommand*{\SI@mathtt}{\mathtt} +\newcommand*{\SImathrm}[1]{\renewcommand*{\SI@mathrm}{#1}} +\newcommand*{\SImathsf}[1]{\renewcommand*{\SI@mathsf}{#1}} +\newcommand*{\SImathtt}[1]{\renewcommand*{\SI@mathtt}{#1}} +\newcommand*{\SI@defaultMfam}{\SI@mathrm} +\newcommand*{\SIdefaultMfam}[1]{\renewcommand*{\SI@defaultMfam}{#1}} +\newcommand*{\SI@defaultNfam}{\SI@mathrm} +\newcommand*{\SIdefaultNfam}[1]{\renewcommand*{\SI@defaultNfam}{#1}} +\newcommand*{\SI@defaultTfam}{\rmfamily} +\newcommand*{\SIdefaultTfam}[1]{\renewcommand*{\SI@defaultTfam}{#1}} +\newif\ifupmath +\upmathfalse +\newcommand*{\SIupmath}[2][\SI@defaultMfam]{% +\begingroup + \upmathtrue + \edef\temp@sf{\sfdefault}% + \edef\temp@tt{\ttdefault}% + \let\SI@bold=\relax + \ifmmode + \ifdim\displaywidth>0pt\relax%--- DISPLAY MATH ------------ + \ifnum\the\fam=\SI@sffam + \let\SI@mfam=\SI@mathsf + \let\SI@tfam=\sffamily + \else \ifnum\the\fam=\SI@ttfam + \let\SI@mfam=\SI@mathtt + \let\SI@tfam=\ttfamily + \else + \let\SI@mfam=#1% + \let\SI@tfam=\SI@defaultTfam + \fi\fi + \IfMbold{\def\SI@bold{\bfseries}}% + {\def\SI@bold{\mdseries}}% + \else%--- INLINE MATH ---------- + \ifx\f@family\temp@sf + \let\SI@mfam=\SI@mathsf + \let\SI@tfam=\sffamily + \else\ifx\f@family\temp@tt + \let\SI@mfam=\SI@mathtt + \let\SI@tfam=\ttfamily + \else + \let\SI@mfam=#1% + \let\SI@tfam=\SI@defaultTfam + \fi\fi + \IfTbold{\def\SI@bold{\boldmath}}% + {\def\SI@bold{\unboldmath}}% + \fi + \else%----- NORMAL TEXT -------------- + \ifx\f@family\temp@sf + \let\SI@mfam=\SI@mathsf + \let\SI@tfam=\sffamily + \else\ifx\f@family\temp@tt + \let\SI@mfam=\SI@mathtt + \let\SI@tfam=\ttfamily + \else + \let\SI@mfam=#1% + \let\SI@tfam=\SI@defaultTfam + \fi\fi + \IfTbold{\def\SI@bold{\boldmath}}% + {\def\SI@bold{\unboldmath}}% + \fi%----- END OF TEST -------------- + \text{% + \ifSIobeybold\SI@bold\else\unboldmath\mdseries\fi + \upshape\SI@tfam + $\SI@mfam{#2}$}% +\endgroup +\check@mathfonts} +\DeclareRobustCommand{\ensureupmath}{% + \ifupmath + \expandafter\@firstofone + \else + \expandafter\SIupmath + \fi} +\newcommand*{\SI@decsign}{{.}} +\newcommand*{\SIdecimalsign}[1]{\renewcommand*{\SI@decsign}{{#1}}} +\newcommand*{\SI@thousandsep}{{\,}} +\newcommand*{\SIthousandsep}[1]{\renewcommand*{\SI@thousandsep}{{#1}}} +\newcommand*{\SI@prod}{\ensuremath{{}\times{}}} +\newcommand*{\SIproductsign}[1]{\renewcommand*{\SI@prod}{\ensuremath{{}#1{}}}} +\newif\ifSIgroupfour +\SIgroupfourtrue +\def\SI@num#1{% + \SI@ifempt{#1}{}{% + \edef\SI@tmpa{\lowercase{\noexpand\SI@@num{\zap@space#1 \@empty}}}% + \SI@tmpa}} +\def\SI@@num#1{\SI@numsplit#1ee\SI@numexp\SI@realp\@empty} +\def\SI@numsplit#1e#2e#3#4#5{#4{#1}{#2}} +\def\SI@p@tst{+} +\def\SI@m@tst{-} +\def\SI@numexp#1#2{% + \SI@ifempt{#1}{}{% + \def\SI@tmpb{#1}% + \ifx\SI@tmpb\SI@p@tst\ensuremath{+}\else + \ifx\SI@tmpb\SI@m@tst\ensuremath{-}\else + \SI@realp{#1}{}\SI@prod% + \fi\fi}% + \ifmmode + 10^{\SI@realp{#2}{}}% + \else + 10\textsuperscript{\SI@realp{#2}{}}% + \fi} +\def\SI@realp#1#2{\SI@realpsplit#1..\SI@realfrc\SI@realc\@empty} +\def\SI@realpsplit#1.#2.#3#4#5{#4{#1}{#2}} +\def\SI@realc#1#2{\SI@realcsplit#1,,\SI@realfrc\SI@signedint\@empty} +\def\SI@realcsplit#1,#2,#3#4#5{#4{#1}{#2}} +\def\SI@realfrc#1#2{% + \SI@ifempt{#1}{\SI@int{0}}% + {\SI@signedint{#1}{}}% + \SI@decsign\SI@dec{#2}} +\def\SI@signedint#1#2{\SI@@signedint#1 } +\def\SI@@signedint#1#2 {% + \if +#1\ensuremath{+}% + \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}% + \else + \if -#1\ensuremath{-}% + \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}% + \else + \SI@int{#1#2}\fi \fi} +\def\SI@not@v#1{\SI@@not@v#1\@empty\@empty\@empty\@empty\@empty\@nil} +\def\SI@@not@v#1#2#3#4#5\@nil{% + \ifx\@empty#5\@empty + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\def\SI@int#1{% + \ifSIgroupfour + \SI@not@v{#1}{#1}{\SI@intfmt{}#1\@empty\@empty\@empty}% + \else + \SI@intfmt{}#1\@empty\@empty\@empty% + \fi} +\def\SI@intfmt#1#2#3#4{% + \ifx\@empty#2\@empty% + \SI@addthousandsep#1\relax + \else + \ifx\@empty#3\@empty% + \SI@addthousandsep\@empty\@empty#1#2\relax + \else + \ifx\@empty#4\@empty% + \SI@addthousandsep\@empty#1#2#3\relax + \else + \SI@intfmtafterfi{#1#2#3#4}% + \fi + \fi + \fi} +\def\SI@intfmtafterfi#1\fi\fi\fi{\fi\fi\fi\SI@intfmt{#1}} +\def\SI@addthousandsep#1#2#3#4{#1#2#3% + \if\relax#4\relax + \else + \SI@thousandsep\expandafter\SI@addthousandsep\expandafter#4% + \fi} +\def\SI@dec#1{% + \ifSIgroupfour + \SI@not@v{#1}{#1}{\SI@decfmt#1\@empty\@empty\@empty\@empty}% + \else + \SI@decfmt#1\@empty\@empty\@empty\@empty% + \fi} +\def\SI@decfmt#1#2#3#4{#1#2#3% + \ifx\@empty#4\@empty% + \else + \SI@thousandsep\expandafter\SI@decfmt\expandafter#4% + \fi} +\newcommand*{\SInum}[1]{{% + \let\SI@unitdot=\pnt% + \SIupmath[\SI@defaultNfam]{\SI@num{#1}}}} +\DeclareRobustCommand*{\num}{\@ifstar{\SI@num}{\SInum}} +\ifSI@eTeX + \DeclareRobustCommand{\ang}{% + \begingroup + \catcode`;=12\relax + \catcode`@=11\relax + \SI@ang} + \def\SI@ang#1{% + \scantokens{\SI@@ang#1;;;\@nil}% + \endgroup} + \def\SI@@ang#1;#2;#3;#4\@nil{% + \SI@@@ang{#1}{#2}{#3}}% +\else + \DeclareRobustCommand{\ang}[1]{% + \@nameuse{SI@ang@\romannumeral\catcode`\;}{#1}}% + \begingroup + \catcode`\;=12\relax + \gdef\SI@ang@xii#1{\SI@@ang@xii#1;;;\@nil} + \gdef\SI@@ang@xii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}} + \catcode`\;=\active\relax + \gdef\SI@ang@xiii#1{\SI@@ang@xiii#1;;;\@nil} + \gdef\SI@@ang@xiii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}} + \endgroup +\fi +\let\SI@degs=\relax +\let\SI@mins=\relax +\let\SI@secs=\relax +\newcommand*{\SI@@@ang}[3]{{% + \SI@ifempt{#3}{}{\def\SI@secs{\SInum{#3}\SIupmath{\arcsec}}% + \def\SI@mins{\SInum{0}\SIupmath{\arcmin}}% + \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}% + \SI@ifempt{#2}{}{\def\SI@mins{\SInum{#2}\SIupmath{\arcmin}}% + \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}% + \SI@ifempt{#1}{}{\def\SI@degs{\SInum{#1}\SIupmath{\arcdeg}}}% + \SI@degs\SI@mins\SI@secs}} +\newcommand*{\SI@unitsep}{\,} +\newcommand*{\SIunitsep}[1]{\renewcommand*{\SI@unitsep}{#1}} +\newcommand*{\SI@unitspace}{\,} +\newcommand*{\SIunitspace}[1]{\renewcommand*{\SI@unitspace}{#1}} +\newcommand*{\SI@unitdot}{{\cdot}} +\newcommand*{\SIunitdot}[1]{\renewcommand*{\SI@unitdot}{#1}} +\DeclareMathSymbol{\pnt}{\mathord}{letters}{58} %(\pnt = .) +{\catcode`\.=13 \gdef.{\SI@unitdot}} +\newcommand*{\SIunit}[1]{% +\begingroup% + \mathcode`.="8000% + \def~{\SI@unitspace}% + \SIupmath{#1}% +\endgroup} +\DeclareRobustCommand*{\SI}[2]{% + \SI@ifempt{#1}{}{\SInum{#1}\SI@unitsep}% + \SIunit{#2}} +\AtBeginDocument{% + \@ifpackageloaded{textcomp}{% + \providecommand*{\micro}{\ensureupmath{\mbox{\textmu}}}% + \providecommand*{\ohm}{\ensureupmath{\mbox{\textohm}}}% + \providecommand*{\degC}{\ensureupmath{\mbox{\textcelsius}}}% + \providecommand*{\degF}{\ensureupmath{\mbox{\textdegree F}}}% + \providecommand*{\arcdeg}{\ensureupmath{\mbox{\textdegree}}}% + \providecommand*{\angstrom}{\ensureupmath{\mbox{\capitalring{A}}}}% + }{% + \providecommand*{\micro}{\ensureupmath{\mu}}% + \providecommand*{\ohm}{\ensureupmath{\Omega}}% + \providecommand*{\degC}{% + \ensureupmath{{}^{\circ}\kern-\scriptspace C}}% + \providecommand*{\degF}{% + \ensureupmath{{}^{\circ}\kern-\scriptspace F}}% + \providecommand*{\arcdeg}{\ensureupmath{{}^{\circ}}}% + \providecommand*{\angstrom}{\ensureupmath{\mbox{\AA}}}% + }% + \providecommand*{\arcmin}{\ensureupmath{{}^{\prime}}}% + \providecommand*{\arcsec}{\ensureupmath{{}^{\prime\prime}}}% +} +\newtoks\ttoks@A +\newtoks\ttoks@B +\newcommand{\SIstyle}[1]{% + \@ifundefined{SIstyle#1}% + {\PackageError{SIstyle}{Style `#1' is not defined}% + {See SIstyle package documentation}}% + {\@nameuse{SIstyle#1}}} +\newcommand{\AddToSIstyle}{% + \@ifstar{\SI@s@addto@stl}{\SI@addto@stl}} +\newcommand{\SI@s@addto@stl}[1]{% + \expandafter\let\csname SIstyle#1\endcsname\relax + \SI@addto@stl{#1}} +\newcommand{\SI@addto@stl}[2]{% + \expandafter\SI@addto@list\csname SIstyle#1\endcsname{#2}} +\@onlypreamble\AddToSIstyle +\newcommand*{\SIstyleToLang}[2]{% + \expandafter\SI@addto@list + \csname extras#1\expandafter\endcsname + \csname SIstyle#2\endcsname} +\@onlypreamble\SIstyleToLang +\newcommand{\SI@addto@list}[2]{% + \ttoks@A{#2}% + \ifx#1\@undefined + \edef#1{\the\ttoks@A}% + \else + \ifx#1\relax + \edef#1{\the\ttoks@A}% + \else + \ttoks@B\expandafter{#1}% + \edef#1{\the\ttoks@B\the\ttoks@A}% + \fi + \fi + \ttoks@A{}\ttoks@B\ttoks@A} +\AddToSIstyle{USA}{% + \SIdecimalsign{.}% + \SIthousandsep{\,}% + \SIunitsep{\,}% + \SIunitdot{\cdot}% + \SIunitspace{\;}% + \SIproductsign{\times}% + \SIobeyboldfalse + \SIgroupfourtrue} +\AddToSIstyle{German}{% + \SIdecimalsign{,}% + \SIthousandsep{\,}% + \SIproductsign{\cdot}% + \SIunitsep{\,}% + \SIunitspace{\,}% + \SIunitdot{\cdot}% + \SIobeyboldfalse + \SIgroupfourtrue} +\AddToSIstyle{S-Africa}{% + \SIdecimalsign{,}% + \SIthousandsep{\,}% + \SIproductsign{\times}% + \SIunitsep{\,}% + \SIunitspace{\,}% + \SIunitdot{\cdot}% + \SIobeyboldfalse + \SIgroupfourtrue} +\endinput +%% +%% End of file `sistyle.sty'. -- cgit v1.2.3