First commit : 0.14.0 version (with roadmap in doc instead of
[cloog/uuh.git] / doc / cloog.ps
blob0a9d8894a9bca06de45204e131b689b1acb732b8
1 %!PS-Adobe-2.0
2 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
3 %%Title: cloog.dvi
4 %%Pages: 44
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 596 842
7 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMBXTI10 CMTI10 CMB10 CMMI10
8 %%+ CMMI7 CMR7 CMEX10 CMTT12 CMTT9
9 %%EndComments
10 %DVIPSWebPage: (www.radicaleye.com)
11 %DVIPSCommandLine: dvips -o cloog.ps cloog.dvi
12 %DVIPSParameters: dpi=600, compressed
13 %DVIPSSource:  TeX output 2005.11.22:0255
14 %%BeginProcSet: texc.pro
16 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
17 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
18 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
19 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
20 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
21 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
22 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
23 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
24 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
25 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
26 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
27 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
28 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
29 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
30 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
31 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
32 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
33 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
34 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
35 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
36 sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
37 rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
38 gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
39 /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
40 /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
41 A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
42 get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
43 ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
44 fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
45 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
46 chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
47 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
48 forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
49 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
50 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
51 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
52 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
53 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
54 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
55 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
56 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
57 /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{
58 /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
59 (LaserWriter 16/600)]{A length product length le{A length product exch 0
60 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
61 end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
62 grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
63 imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
64 exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
65 fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
66 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}
67 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{
68 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
69 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
71 %%EndProcSet
72 %%BeginProcSet: f7b6d320.enc
73 % Thomas Esser, Dec 2002. public domain
75 % Encoding for:
76 %     cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
77 %     cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
78 %     cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
79 %     cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
81 /TeXf7b6d320Encoding [
82 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
83 /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
84 /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
85 /suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
86 /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
87 /period /slash /zero /one /two /three /four /five /six /seven /eight
88 /nine /colon /semicolon /exclamdown /equal /questiondown /question /at
89 /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
90 /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
91 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
92 /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
93 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
94 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
95 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
96 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
97 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
98 /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
99 /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
100 /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
101 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
102 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
103 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
104 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
105 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
106 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
107 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
108 ] def
110 %%EndProcSet
111 %%BeginProcSet: 09fbbfac.enc
112 % Thomas Esser, Dec 2002. public domain
114 % Encoding for:
115 %     cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
116 /TeX09fbbfacEncoding [
117 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
118 /Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
119 /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
120 /germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
121 /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
122 /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
123 /two /three /four /five /six /seven /eight /nine /colon /semicolon /less
124 /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
125 /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
126 /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
127 /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
128 /asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
129 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
130 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
131 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
132 /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
133 /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
134 /quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
135 /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
136 /OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
137 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
138 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
139 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
140 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
141 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
142 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
143 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
144 ] def
146 %%EndProcSet
147 %%BeginProcSet: bbad153f.enc
148 % Thomas Esser, Dec 2002. public domain
150 % Encoding for:
151 %     cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
153 /TeXbbad153fEncoding [
154 /minus /periodcentered /multiply /asteriskmath /divide /diamondmath
155 /plusminus /minusplus /circleplus /circleminus /circlemultiply
156 /circledivide /circledot /circlecopyrt /openbullet /bullet
157 /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
158 /greaterequal /precedesequal /followsequal /similar /approxequal
159 /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
160 /arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
161 /arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
162 /arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
163 /prime /infinity /element /owner /triangle /triangleinv /negationslash
164 /mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
165 /latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
166 /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
167 /unionmulti /logicaland /logicalor /turnstileleft /turnstileright
168 /floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
169 /angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
170 /backslash /wreathproduct /radical /coproduct /nabla /integral
171 /unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
172 /dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
173 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
174 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
175 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
176 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
177 /minus /periodcentered /multiply /asteriskmath /divide /diamondmath
178 /plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
179 /circlemultiply /circledivide /circledot /circlecopyrt /openbullet
180 /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
181 /lessequal /greaterequal /precedesequal /followsequal /similar
182 /approxequal /propersubset /propersuperset /lessmuch /greatermuch
183 /precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
184 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
185 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
186 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
187 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
188 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
189 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
190 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
191 ] def
193 %%EndProcSet
194 %%BeginProcSet: 74afc74c.enc
195 % Thomas Esser, Dec 2002. public domain
197 % Encoding for:
198 %     cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
200 /TeX74afc74cEncoding [
201 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
202 /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
203 /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
204 /suppress /exclam /quotedblright /numbersign /sterling /percent
205 /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
206 /hyphen /period /slash /zero /one /two /three /four /five /six /seven
207 /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
208 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
209 /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
210 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
211 /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
212 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
213 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
214 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
215 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
216 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
217 /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
218 /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
219 /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
220 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
221 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
222 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
223 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
224 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
225 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
226 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
227 ] def
229 %%EndProcSet
230 %%BeginProcSet: aae443f0.enc
231 % Thomas Esser, Dec 2002. public domain
233 % Encoding for:
234 %     cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
236 /TeXaae443f0Encoding [
237 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
238 /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
239 /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
240 /omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
241 /arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
242 /arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
243 /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
244 /sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
245 /greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N
246 /O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow
247 /slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p
248 /q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector
249 /tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
250 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
251 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
252 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
253 /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
254 /.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
255 /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
256 /phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
257 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
258 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
259 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
260 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
261 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
262 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
263 /.notdef /.notdef /.notdef /.notdef /.notdef
264 ] def
266 %%EndProcSet
267 %%BeginProcSet: texps.pro
269 TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
270 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
271 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
272 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
273 pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
274 div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
275 /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
276 definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
277 sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
278 mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
279 exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
280 forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
283 %%EndProcSet
284 %%BeginProcSet: special.pro
286 TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
287 /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
288 /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
289 /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
290 /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
291 X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
292 /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
293 /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
294 {userdict/md get type/dicttype eq{userdict begin md length 10 add md
295 maxlength ge{/md md dup length 20 add dict copy def}if end md begin
296 /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
297 atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
298 itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
299 transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
300 curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
301 pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
302 if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
303 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
304 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
305 yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
306 neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
307 noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
308 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
309 neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
310 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
311 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
312 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
313 TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
314 Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
315 }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
316 save N userdict maxlength dict begin/magscale true def normalscale
317 currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
318 /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
319 psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
320 psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
321 TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
322 @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
323 newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
324 closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
325 /@beginspecial{SDict begin/SpecialSave save N gsave normalscale
326 currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
327 N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
328 neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
329 rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
330 scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
331 lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
332 ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
333 /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
334 pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
335 restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
336 /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
337 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
338 moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
339 matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
340 savematrix setmatrix}N end
342 %%EndProcSet
343 %%BeginFont: CMTT9
344 %!PS-AdobeFont-1.1: CMTT9 1.0
345 %%CreationDate: 1991 Aug 20 16:46:24
346 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
347 11 dict begin
348 /FontInfo 7 dict dup begin
349 /version (1.0) readonly def
350 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
351 /FullName (CMTT9) readonly def
352 /FamilyName (Computer Modern) readonly def
353 /Weight (Medium) readonly def
354 /ItalicAngle 0 def
355 /isFixedPitch true def
356 end readonly def
357 /FontName /CMTT9 def
358 /PaintType 0 def
359 /FontType 1 def
360 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
361 /Encoding 256 array
362 0 1 255 {1 index exch /.notdef put} for
363 dup 0 /.notdef put
364 readonly def
365 /FontBBox{-6 -233 542 698}readonly def
366 /UniqueID 5000831 def
367 currentdict end
368 currentfile eexec
369 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
370 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
371 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
372 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
373 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
374 2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
375 2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
376 650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
377 F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
378 D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
379 F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
380 4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
381 438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
382 BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
383 A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
384 AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
385 D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
386 CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
387 082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
388 9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
389 4BA1EBFAFDBEC531EA13DFBD6700E53818CE04D23886B8AE75DCC36BCD3189B1
390 0D55FAE27D0D126E82AEF31D7B5DF27E58C30BB0867D6D7AC1DA9EFB8A2DF095
391 B5B934A68EE122DA0A83B36C952431586B957990206194E89339048AA6EE4C53
392 703763505ED57C494DD907D0EEA04F6B1D4C8F3BA778F4E7AA832AAB4D75F024
393 61E91C6D25FD6823CB24FC863D30827CE2A822687A9126A9945746BA60637666
394 76BF6467AC0F0957DF2E69E3D890BE0D29E1F4877318B99A57881E627A745C43
395 CF869075406D6884519D73365FDD98BE0BD47B351E4BA2A15EEE8D6716B46E22
396 9A6A9E1422A56A4D156635039B7DD5EBEEB5E5A4D4D1E3928138569E25A67779
397 0635D8A609F0CB4C1C75B88296F9D537921B17CFDE3E2046ACBC0F97C6868623
398 485D045033418E2E774520101084144B1CE1A72B4485CC11F73795BE2B6119E6
399 00A4EB956D0C2F5A146EB6B127C08F6BD9B064BB5E041DAEDBD0B779E9C497B6
400 F4D9FFA9C8BA06190D1FE1819B8F4706311B488CEBF20170611D6D25C760BE9A
401 CDF1D34575D5FA23C9DDE6CB82251D4160F3CBA6C357BCD0C0ED47A31E7997AD
402 CA94B6039C9B5A4951FCE22217E964F61158A192CB0E6D2C8C7CB2F58DF7A037
403 E4824516A8A4CFC1D51290F429F55F77072A58E74D255ABE3BFEF4724C8BC73A
404 932FD79D6C01CC7EA25E1D4E6C3EF323FC20051D8521D6C71BA5FD1DFD41367E
405 5308F52E4E90CF66C3D6E562407B7E94C56EC187235D22EFA9D860D59CD1C35A
406 3BA7F4A9C375ED3CFD3156F1E744583A7E9AF813706C743478DA823BC076815C
407 1BCD73556BCB51BDD9870EB2CD11FEC95637F187C17F9926A76533E571CEE081
408 024B05A38F2D64F97E8E9E4616306BAE693AF3220FA53DE19BCE89D73650C0A8
409 4F93653E9D260AFF22F16E09CE342F05A2A93D78174F593FE72F35A6EE7A0648
410 6B177FD0AE57E343461F303F8677E6397548240ACD142D4FE498E564F42D128C
411 7E1A68D1F29D7F4ACF8996AAC28CDD896BECB6E50F022953786F9E2B9F550A3C
412 0EB9BA15FCE81847ACA241B69BD61189C47C9DCB42244BCBF54470927E63AB6E
413 5E57E6FADF686BE1537256EDB82C735B6661714D7132434CAF59034F847E6CA4
414 F008935E61B3A5B42400BD83D9407B1976283F1EE1073770B719B8D0C56BC96F
415 5C43C6602832562D6EA601D05A998D879667BBA555D0DC1AE7B1BFC006AA87AB
416 2FD5295426A99FEF6EDEED7532D489B58E0889F70D21CF45EC268C35F81E89DA
417 E025171D0616CFAEA8D47E8CCBA3316E56DE312889A5A36E579F04BF6DFEAE6D
418 C16889A2F1AC1B798D029FCE4961C3DCCE657AD839468E92C166241AECC3AE80
419 DE03A160DFAC6143BA17E4DCEFF5176BD43B9A4EE2E2B12759BD13E84D2DC329
420 B0EBD77B8758675DB135842CADFBC58E4A636FDA424AA4AAF6A9E5332063E743
421 22E14C0773755351BE19C1A8DA9F6818340C5CE6D954767C7B4A69B6E0103A96
422 DF090B4BD9BFD01366B144EFBA254C06C3986A48BE75AA5901EA78D72C6C2EFB
423 7734492489732175D61D4E538C0830687FCC3B42F084414293C3F5C815082154
424 E4E735259E620CFC576355EA5B696545AA5ED01DFF41070005546FE4F465B428
425 E3599833A3BEC6712F87BBEF4504CD944878929F34A4A5A8D0507347BDE71FE1
426 7F963D9C6FDCFBAE20D47A0A4EBC12EB55FB7CA2DBA1A9DD1081FC63C292AD2E
427 478BB21F4D44A8C24735ED4F23D24D306F09834041AFD5C244A0EEBDD94C06CC
428 B34E802D02BD77FCB3E81EC13B613D3C189A1A07FBC82266C59687F4B7B6B3D4
429 2A2E9BA2F0C186F0C275CFC29380EEC2DAA0282EEA796090721429D52D9DDC97
430 24F0AD1F932A2954048E1C34B35D3D6081B2F11146FE7F8236C02F89A8607473
431 D4526841C7C203430E9A8322A9E0EB2B6D281EAB752CD693DFE57ACDF0E2EFF6
432 EDF137E476DEF3770851456DFDDC1EF614D54CF17EE4A93BFB2782B8419CECA1
433 473081F5AD9A9B3CC46A77F0613F417D3EDC21E16A8C82CA5C1290B2EA5CF99D
434 F7A3C79B83DA2D724D70E5A1861FA07BC81E1FE0F41B197F98482B46309C72BF
435 D7CE82C9EC25619EAB5165E7D84030E9613CBDB302B5CA6989ECB7D97EB8220B
436 18D8FBFC9F86925176D2EFC2460119B0A024E4114F2EAB9504E97D358E71DF6D
437 83ED6D67DF49AD2B350DA953214C190A816023A5FEC230B3B950EC3DAA1AA629
438 EA6394934950F3A4D1E0708689A329F4B8DDDEB80FD9B53CBCA0768283D7FBDF
439 E51095492FAF2D3D6DBFD77DCC8A84A0F8582E2BD6ACD77785FE5CEBF137FD42
440 83AF86EA6921FD512BAF908A0C0F242F45EA3FA07E67CBE14C04903EE604ECE4
441 CC962DA348177A736386444D265377D1F376329C3F014BE66B6E78DC3EA4A43F
442 0AA9DAD2CFEC4EFDCF0DEC49F21229D061C57F533A2349F28E626FEE0F565404
443 F4097C6B2DE2F623E2CC05272FD361CC5BE5652BB0866CAF714A362DEC875E18
444 69561F8D0948DD416805BE99A2DE46D9E4B1008D6A0EDDC65F0A60EFCD4B0185
445 8C037408367E29A8C7995B8FA50AC26A4E22F6D6D4F3422997B8D6944AF8272C
446 E9586C0A4D2E0B0E6C462F61AE7DF09A96D8E3E532D084C3AD371929C5150B5D
447 BE37098FC4D69BE365CC4031130B8FE182A5528A366FE7063F8FD5BAF8376F0F
448 4B523D3E8F14A611E2FC32175DAF77EB746368CE1EB090E58CEB9DC64E6CC173
449 5B0D0AE51466B6DDF3FDDF8B291748EA54ACF97F1E53BF5AF4ABC0357F4F23DB
450 6FAD5FC9863C3EBDE747678E0640E359B0FA16A63BA3AFFC54CDD9AD31162BAF
451 A89EAF41DB87A5C5235E8634985450680BA6AB5278018DEB22C7C02400B200E4
452 C84F2A6AC58E0CB64E11A96358F4E518D12FFFD20B01CF7DE640808A52EAF176
453 29A93EC2C1599208A9DAE241D6D30B8FF19400FDB4CF3955A2FAA35C93E9A0A9
454 D3424E65AF9DE3167E278BDC0B771C855AE272C33469DCED7E7DEA322B7E6760
455 70D038435D797F8E89BF7764F7C59D61FA8BE684B28EAAD12FC22EE6F31E91E7
456 22669FE968447BEF843F976B30735AE3F1C4BAF587AD31F045E0D962C34E4E01
457 E1D55DE361DECAD51146065C163D4BFCFF1CBD0F023854A8B564F30F5DBD1119
458 10E3CD9B453847222C3C655867E62401FFE2F8C39B17868580E98D9C179EDAD5
459 D70DFB21A45C1301301017EB031E90AB9F776ED5517A21C459599E44E9C429AA
460 4A352679A2C6B0E5D3D9DEA94919C633CDD62199B5CCA03D641752F3AAAD4360
461 6B5501E172786B741D648B2FB8EF96B9987D0D7F7FFA8771F81FBEACC42F89EE
462 05E346C290F8A761C4EC570B6A7807394AE94DB07FD11ED019E4083D0F950AEA
463 864FF5F2E76DD3141BA3B792E63EB53077226420E722E6C0169EFB1792BAA3B9
464 FF43E7DE0BCDDC715347247E4EE63E37AF049BA1E3D7F2C178D67E35925066E4
465 BBEBACB63AEF0C09E1E2EC505E98F5EB6C9A3FE5298A294F43FFA8B9B6412989
466 9AE55F59E5CDFA41BFA654F138B6634103E2ABAA876B866CB87028FF9FD8B8F7
467 022385EFC8DB7272E303E8EB24385921F057F765F3AC45A7423374CBF20C9842
468 A4D73FA701E0CA9322AFF39D4D905197B4DCE30737AAD4CE86284ED1A634CDF2
469 A2C1AE4BDC7A9C77A875F4D8134267E85F0D170BCB7BE393807AA2A4B84591F7
470 09BF5E8B3DEC8239219701A5AB03AD82C1E37B530CC8A771615148D468B95FA3
471 C731CEC36557AA1EC0E0D518C43897CF853608E76D7738BFF6379FE50EEAD129
472 83A553DDC90E1C778D7C684CA50C18208A68094587ED4B5FF6BD439ED49EE5BB
473 CEA039DF90980B882C86FA3CACEB731D87D7916BA4EF7C5051FF0F0613D240DB
474 1777497FA966C5A3EA2F725D4FB3C4A2AC8EDB5F14DF06A00E81BAB3B5E67392
475 55E3508921924DBB775F0F8BAF13A52A3D5833BF3DEF400570115613AA6EFE0D
476 DC024FCED8DD69F5EE33FACBE247E8E1CEFE5E6ED56D767C51B7F6E365A00484
477 EEF943A7917B7C201CCEB30721DD0CF39B13D4DB9748ECE5991BEA0284120E7A
478 3FD71B9DA150469FECEBC63112805CD809EE4EB81110824B3CE509C2B3BC0C14
479 452591B44DEB1253AFD71A6822B29778A140292AA92D0CD18A286D049D09B323
480 B997BEAB41B344EE65C7BED00A461AF0AF5B907F46F955B2E3E183DCD1BC36D4
481 8C049979D5BDF62364BE386A4DE48E1C6907DD262FF025795914D95D06DD3C34
482 DC4AF9091793996B0090363CAA8C95581BD3344B6C970ED8F7C3DAF627A36CFA
483 A74E833DB2B275708DFA292CA7797FB2E9C4476C69924B76D541B4D445FAD54A
484 518DC7D46275A26F81F5A4BDFE4EF61ECCE415D3190190894D1910538A871637
485 1447CC34DF26FC383D21F6EEECD49C279E3BE72DFBAF1EA51E3A6E6229FE0A54
486 EA3DB0BD288B04B34BB2E6215001298B03390C682CFC578750731FBFB19B5991
487 9AA463FD0580E3F2C2E838830722B0E15B4824030B106ADFAB189C85E3F6146C
488 FF4CB2054095863681BE3ED83B14A4B597D00B5FAC1CD80F838C9A060FE485FE
489 8AE0743EE75CFA1BAED50A93C124319A7621DF48CA7EB7A0C3351C05ECD09B10
490 C9F9F3788E8CEB055C00DDBA762612BDE3C74093862398BDD0AB6A5B3622714E
491 BF7411334878A18536B8B46034E7BB5E1F5A43C7E5D87F664B3FE4DA1102F564
492 2B6C00823DB96FDAF7051B77CE4E1A6A6BCBBB8383340AFCEE5CEF8F09B6851C
493 7D993FF82EE3A27A4CDB844E8CA7AD9A90F694B2045FCA508337847DB7DFFBD9
494 B5B6B6AD469FB4B538F118AA39AECDDBFAE5DD5350772BBDE292048020758E96
495 3AA6D808626E83570C7114073471FBD9766327E90FAA81C4B519F9BEB885247E
496 B828C1C5770F9F0351E50E0A4804F27EF4F0CB81DD944E4A07E77BBF5DDF8B7B
497 9FD8659EA5F054821AB50185A22947902C26F6A6DD55EFBA753D8C610729E87F
498 C02CB7CF2C036B93550D443E0608E4AE1D40A37144AE69DE7B87CA017A8461E6
499 4D67076EE5569B92293CB8B090862930D5F16168A386180118705CDC01E448EA
500 1E4C9AE77C29A4F9A01D31ECD9034233AFAF3B4D2081EBAA92A54DB43B2A0C8F
501 334316EA67F56A0716C2CFAAF8444FB0BEE618E362033380750A9B59F3783F55
502 403CAFB81BE9FFB909227BFADB6C66A521D0C6C06F5DEA9708F7C252D92E34CF
503 B84D626DD211FE47612DE78C37579CD0A23B82A2F36EA02215AC993E9C468C26
504 2C53F5F5058AEB42AC6BA4328B95E299BF39A051A5AC1DC6702F3B3F1E97C9F9
505 210346DC2B561AED655DCA9E0F5905E7D910FF32755B5C80AA6162E70C6A351C
506 B34AD587CF21292985D19FAF80CBF8FB327751BECA1E2175400DF5AF46EABCB7
507 A1BCB72F784B613B2596DBE01AECEA1DCCB333D461B88AA814FF8894CE8E5184
508 3D5D8A936F6B0E11E515438EE97116C6F2D64F75BB4F11A4F9F01C0E32D64E19
509 56A09E5C5B7D61277228B996D8827541B0192BC269D0FB19C484FEA25A1D1DF5
510 64A72EB7F6942C0737C0E14067482F07E7FD720B4293876EB977EBE55FC61EF6
511 A403735734C620D48EB753B4D4C19D1536435747DB36FC460CC6C8A9B5D12820
512 2DBF19748981A69D128B626B1D3A4FDEBDC50C04141BCB9428CE0A0387988DE8
513 F52260D1344B48176BD4311D6BA69D835E3447A138C48A10E52EBBD2040CAD9D
514 DF9632F766D74945D09F5E948EB1754D7CC110939B0D3D0ACAB8293B94CD5369
515 8AC7C1CBA562EDC1DC4B9233D1490A0CAB8A06939842DBAFC8ACA357A8BFB05B
516 D3DAB5845520918091BA81A78058F5664A0D3CE04B3E56813D03AAD02911C9F6
517 D6FE78E2DCD05DB6F89C7D41BBF3AC04F59AD5AAF363092404A908DB53B8CE99
518 18A137319D3082AF7E2A01C7B0DCE6D009A26EA0BD3161CDFEC26E84BA2ABF22
519 C649E6AAF718987B60D9C2726233A379875904979982E77576631C3480CF1A8B
520 0527DF3888F8DF2A38B3BFAC90A6E5AC167A89B395F4D263779520C897847A54
521 57B6D087838F17182AC1978CCD120CCB9F2C2883202BFE3D7C17FA9AE490C792
522 34F9B789F1D2BB4F42A706DD4AC45026A3D957969AE093DCE83906C058852551
523 5A3DFF6CFFBDBA0C4AE76AFDB0BA1A732ABC46A9335E1ABD562EE26B55750355
524 1F48F10CD0993282AD2FE8DB54D3308C575DEAE6FCE859E617A478136410E664
525 DA6C9036EB24AC65DB88C995B138F4EC72414A138952218B51003452384A942E
526 0754C1EC537F903DB0EB42269D3245C129A4476D1F860AE1DFE29BC965B08386
527 1B8DA2ACF64C9051A2282494691943F19B0670594FD048B2201188177B5903E7
528 BE3E943F1CCB633F18993AD2E5736BE149E6B47562EC5C1DD407C12157016BF9
529 562D02752FB9375AC9457C202C379945C8C57F12FACDE1A3409A5962E9CE8FEA
530 5C46FDCB4D0423722C0B4948808F1B98D55A458272F5D1D012F86AA5285A785B
531 061E9181AB6A4230F28EBA47A015BBD8DF31F9D7EE3972F80615EB558076006A
532 B19DECBD608BA5294060D98D13B93ABAD0FC0A642E3585E6EA3F4A56A49594C5
533 A9A8B15E089D430AA3CD6045C319F6EDEED78497192CF6B3C7305AE71A7014C7
534 25A3D95AD8047D1D170A95E541C2D4F6ED7BEC8B5DB8DC91CCE0175501D73D60
535 DE41ACBCF8F260B3955A0EBCBDC02ACE6D0C294256458539861A3C3862267098
536 10F4CFFA57A01B1CFB743EA74721BB36FFF63A042DE03F835838FB29908F5698
537 1C58B436592EEDC555D3C078D7D1784836D5EE9FC9284172DAB148BFF293EFAA
538 FBF3A9ADCBB0157137B041173DD3DFB6478A303FEFAE97CAF0BB6B7AFBD921A4
539 F288B99043242DA87B1D700942240B2E6794AF30C3CDC4ECA7A6A9FDF904511D
540 1FF3EB302B82ACE1FDA5797B8FA5F4E5CB0731B05909E99EB1C73EDABA270981
541 B97B2E985360E592EF3E4E5D47E3E44FAB853601C82844714F37C8FA5CBC98DD
542 DB9973C3EB387888BB7979C84C5F64AE20C33145B18F770DD70FCCF52B50CA49
543 F9A45AAC1165A399366553D8BE9B6DB34AF135A3F6C1F1ED50EC340D16DE5B3A
544 FF8FA17D57509EB088467431086AE76A96F3BF55C00B095D8D39F1378A144A3D
545 8D12856DEF2A2A7D878F27246F279E9388E5905C7A450443461BA6B483A54F25
546 492EFA86EE5C5C9ADC90D02C96FF5767A7847E7492C15287C7A3F376F8F6734A
547 F043999F51E352F2F2694416FC93C11842466C6076F2EE573832878A154EFCC3
548 5776FE3C6D8171555850D7A7A0A7983DCE3E3A73DA591CB37307E64033666D88
549 EF331449FCA9A4F0113101C7CB378523AD3C8671F7709246C13166CD1DD802A5
550 1960EEF75F0E150F9C6A54FA78440B93A6EDE50AC073343ECF1EECDB25796138
551 4CE08003080222895BC2B1494F042B076A5E3AAF88A8857BCF5B8A507E4FC1AA
552 88F0314B6290AF81021724ED94DF051FCBABBCFD52E743F9C79B458AC11EF110
553 7260937F6E3E8D5B6CCB93443DC59906EC08F7FE469C9328625AC5BC3F99D30A
554 CEC55CFF1E14FCE5CE853622C046822D91F6378D7F5918B3D46D76AE04F9881B
555 8C24801F350A66FB156205D83E9C3281D7CEA8D895E9536D3F44D4DBC7E8E003
556 3669D0B5FE75DA8B1C6A709F53250B899CB356E95575AF6FD3361660AAC54509
557 F0A2BF615E4DA21648AC17780C83D818BE4AEC03F482501F6C87BCA9382B2A89
558 DE37F8D6020CDD528DB6493BCDBE0522B50419E4F98C6EBE30BF9C91AFD02FE8
559 4F77802C4C8BAB4771EB83514B4CE56E0EA773AB5C7AFFBF1592FEC3A837A49E
560 BB283D5EC91E6AB164309E62391E2771F5D66E19AB58B169A9928ECE4EBF5A29
561 E75011F5169713230B14A3A10C14782F8450D037F88EB4CA145699789E899881
562 AE954E9ABB64FADF4D115F0B3E6E8057CA2D7C0C04FE8D2714B63E63772DDB5F
563 EFE7F541A1E4A4FAD0C3EFF9437D8F4FB97151958C599C3692A9FA628FF15550
564 72066BAD5C925F21B7B9DC433F1F2AC03F17731D7D8B1BC62E3129712F9294F2
565 A1894C9A9F25F7EE027999
566 0000000000000000000000000000000000000000000000000000000000000000
567 0000000000000000000000000000000000000000000000000000000000000000
568 0000000000000000000000000000000000000000000000000000000000000000
569 0000000000000000000000000000000000000000000000000000000000000000
570 0000000000000000000000000000000000000000000000000000000000000000
571 0000000000000000000000000000000000000000000000000000000000000000
572 0000000000000000000000000000000000000000000000000000000000000000
573 0000000000000000000000000000000000000000000000000000000000000000
574 cleartomark
575 %%EndFont 
576 %%BeginFont: CMTT12
577 %!PS-AdobeFont-1.1: CMTT12 1.0
578 %%CreationDate: 1991 Aug 20 16:45:46
579 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
580 11 dict begin
581 /FontInfo 7 dict dup begin
582 /version (1.0) readonly def
583 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
584 /FullName (CMTT12) readonly def
585 /FamilyName (Computer Modern) readonly def
586 /Weight (Medium) readonly def
587 /ItalicAngle 0 def
588 /isFixedPitch true def
589 end readonly def
590 /FontName /CMTT12 def
591 /PaintType 0 def
592 /FontType 1 def
593 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
594 /Encoding 256 array
595 0 1 255 {1 index exch /.notdef put} for
596 dup 0 /.notdef put
597 readonly def
598 /FontBBox{-1 -234 524 695}readonly def
599 /UniqueID 5000833 def
600 currentdict end
601 currentfile eexec
602 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
603 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
604 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
605 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
606 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
607 2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
608 C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
609 3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
610 426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
611 D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
612 E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
613 6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
614 A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
615 0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
616 85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
617 F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
618 C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
619 12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
620 048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
621 0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
622 741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
623 9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
624 306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
625 CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
626 1353CC1FC512D59DFF847ACCD04B2B61CF028B0C8EC4C4FD846C34F65CB9A546
627 6576549862A15033A0CC5F4053B4DE28DD9A6B1B4EC484E4FCB34EDC0578434A
628 EFDB8E771E805C47FC64F1B19D22AD32CDFABC7C76E2D3BB7E4998CE79088CFF
629 BC896BF1A478A37658C2AADAF730A10ABB502B9D92C0CCB308F67B8372E51E0E
630 E73B695ACCE13A513E270DC55217BC77BD1BD318CFDEAA2921D060C7335641BA
631 D015D54939CE397DA4208CE45B9CFD40F3A524B2E3B67D82E22F87726A462D3D
632 EAEBC368D0CDE464E09AF04DC465855F46C4E45C1897255846A6AA96E0FAD90D
633 1AD8961CE3E8ED6D9BC00E27DF7A7F68A18FA150371AC7CCC5C222B9B71E331D
634 387BDC979D89338D9AA171D2C7EDDFEB2E2A544C42FAC0A031B406C0FE1A7BD8
635 47F94CA6250077E9B024C48798472779ADB2A3E33E6DA7948200B1319C293834
636 0F3E16BFC32AD7CC37A626236F0BE4A37FD0E63877ABBB9596C62692EC4DD033
637 46DA78D1E82746A7EE2FC91E8BF194E3D5B7E95CAB3934F29B8AD68867B7237C
638 093859CEE4D92BB4FA3F1EE07D458A2B02D23AEC7C3EB9B5A9AF0B792E286B73
639 A490E92A1B0219625B945F32EA38F5CF442C54248E981E50F6525231C7915DF8
640 2AC0BEE27AB98F5520633D42A96CD55432F4558E204ED3C38E16ADDC7AA944F0
641 485EBEF5A1FE09AC98AB52802085417A780409A2E2B44747D3B4DE29657B932B
642 7F6597EF0E8AA7CF5C1C630269EBA5CDA72C5BB6DAA529233B7E4BC6BC12D23A
643 32720AEA0B4C4025D2BA10AB9B7AED1E9A60424B584614D1C39E64C63D28D6A0
644 86BD00764A4AC22E4892D5FD9056C56764BC1910DF97830D9EEFBB35228C5AAC
645 3E824DAC38F0F285DB0677FA411A79AE2869633F4C99A7B3D8B1D03309DE61A4
646 A46170519904B581D83967CE644C6547FBFC8E1A3FC32428D1FC884E32A48CBA
647 CF0B2C82181DE86971222CA8AEDDBC4460DA4D71C7F0DE659197A14AFFB7F0F3
648 0A1D9D1B4C95D10BDD2C1A41A68FE58363D4EAD894FF9E326785B8FA67F746CF
649 14DD28D461C9BEF20D9E5C286F09FD21F17BDBA2304D29C7F16C12FD6A1C9644
650 55B4837C1FB7B904A7553F25CD873B3F18F155018FB4B3A22ACE5DC4C0042B48
651 3B17F087BD914ED705EA4B79C81AF39595F55D2BEB2F26C649E26F8140958727
652 76D428AB60557735DB2402F64971D46A274B4F15CB23817378C94EC78BCF6B59
653 50D62B2DC7BDC50ACAF74EB8718DF7902E0DAE8AB5C50C182EEA0F8D8EE57242
654 E55470F99F5366EABB3ECB2CC19AF6B58248365EF3F34BB14F0195F75B4C7950
655 A0B556A2C458F7DF6EA48989F2FF91CEC64AFDEDE60D8FA2A945EF1BFD153B65
656 63BF557B87E411E7086C20BEB4D3BFF98E9BD497EA1D66A2C3C4456AF1B726B4
657 C44F10A98EEB6DC72AC85EA3B9A380FF5813CB04D24FFA18B49D900BA22C22A6
658 22E2B3AE820FDA16EE28994F9E68CDD5442592D1E0C7C96A857C2DE33DC5BA14
659 9EC655B5BC08C76B6C52EAFAD3D953AFE0EDD88E5D795EB76ABCCBE2795F4D81
660 83FA75FCE2CB4326808BA388C7C9CB28D1D50F7E52CBC4E48180DD2771058075
661 EFC72CB2FB03E5009A089E355879C72D64F9ED1E0675B7BF6030B1D6F24B5DA7
662 97E6427ADFB87D7C07788B5B57CCD7FDE97E1D4D306936DADB5B6D66D20AC881
663 BAE8BFC7C8215933E0639ACFE50B3F2AB2686F716DD3EEE3C28953DDE1633E3D
664 C1EE4AC527CED6B33129A284518A84DFF4203C7AF786E1729CCD4728F4868E62
665 8E5CD526830CFE32348C8CB346FAACF0927F2BFA62D177E66DDF5A9D23C37ADD
666 CB4842F0D1035ADD4CE6356A73C7154CB100E09585A98415F6F6C27535381D32
667 B267E6D2162FF196DCB66F3F5245FB6D93316EF2895DCACDCB1B80C5E342A326
668 136E4DD88A91F3B0D3B8ADFCC52DA200747150E603030A437EED54636E3C5AD4
669 629750FCA78CC9DC78E28B042EE66D51A68A06A8B7C10C5E6D31D8AA32069A03
670 0259987F945F27E57C207C952E276257D6579FB5EEC1F9F03841FD7B9FA00B66
671 2245D4076C607234F7B077FD0B35B5404923307704146111030BFD996D00A4DF
672 118022A5A250E5FD7DA117C76BA41BDDC3B4D63043D36304B67D7D94CF908FCD
673 37BDDE54D439CADCBDBB42AAE94FB0032227AF75DD3EB2593CB66A90EA9C0750
674 960F8DD3B34792B2B614DA22024192C9F8A4A0F2489C20899693F52590972181
675 5E9263DFA62457D51BCA5E5F13505BC26107B392FC80EDA8C44F0B9DDA0E7475
676 48BCAC7AF873D1885F063435821989A651827831F0B46FB19204F2E3ECFBCF8A
677 35C86665F5A2C1CEBF4725264A44445259D11D9C607353F2904F5107617D6F2B
678 FC9BC3D660143442FFFD53ABCA973CF5B5E9DCE75E9F6D1BBD215F0CC4489091
679 7D316C1AB4493CE9E1C8788338108C53915BECF6C615124CBF91B79E81207897
680 3E5F12D7F79287D597A4EAFD05336177D7ECAD1F8B95945543E75565A954BDC8
681 F7DCA01374D0EA94F7A5F1F5449C210F6AC4B481ED9015ED493FD81AF5952820
682 F0A3DE3B536B5ED9DF1A8307A13C3F4FA072FAE61869552C2EE73C8F5807189A
683 E22FF156F18D8F8F6C61C8D62F5384E1AB6B3D487194D908099B25F1BB608C17
684 CA7FAB495E9567A73DC3E66AA1864B9254CA7824EFC0468CAA83157093B9139C
685 8D818439616E8A255974CB2971969DBE84F9A9AB1EFC8770C5963B147592B131
686 B27B3536B545C6646B87C99BC41EB24515376D8A4662831A390CAE6CA9B52E36
687 56FD35BFB3C00DC2A86FE2B25385A433E1163CA7F3414A3E5A4D1B031002F200
688 80835FF6846182E0496AE5E5624E3C3B23891993EBA4E052506A3AFA872E869C
689 35C66C61383D39A1817BB8FA49D7B79F45E5086532330D75351EDC55C854B9B6
690 1DCF564695CD086D24503FAB3297549476093BEECCCD113FF17A5F579FB150B9
691 02B9115A8118B2029495C33D356E7726D9C527579EEA758DD530C1E7328D6877
692 5235E469B706AFCDDC8965C94FE01550B1032B4BF881252B77415EDF5EAF431E
693 9BB92E9D4A35A0DB7C4E904C2CE64B4F5DB59CC1388D39DF1B7CA3C9E081F49C
694 CB3614C7A8C5B8DAA02F1B64320FCB8336A9FF1340D59FBDB2EFD2C47778F5EE
695 C08EB2DD0E1A0C8803C1EE72053C2696281CB243FB32392B6AC48A9CC7C977F4
696 A9026EAB35F02AC043851B45822B19086B63F15BC8584813E967A8F6045485B8
697 14B201D18C10EF865BD1BC9A0DB3EAD9958E74DC31B29D90E71599D321FBE607
698 04652BB17C5225E23A0F2FA46F76250EADD926EB73125AE87D0CC1CC0945F31A
699 A6D6DE2EC78982BA5BEE01A264658CBA301FBA2B724B3BBFC92A2B6ACDD205CC
700 235BB38A43264A7FB446653B2A617AB7707FD37FD0B41AEB868BDD394498DE8D
701 86C9F978D2C5128784AE258D1BD35A84CA440AEFC3258E0AE7D0A7C054CDCFDA
702 F45D5E5DD3E04C26BA56A82FAF86EDA4D24AD18991F534362C6AF2F43AD28CC6
703 997A20139299C13FC552122240A11F9E09FB6590A29ECA86C338CC1625B1E532
704 A8DBEAC7E10695EAB195FE641E7A233FE863F51E58622D6439C8ADACC099C97A
705 4B17A5E9576BA904B1B793E23CB4F2E843A076A225C86FAD6A71F02281B736F9
706 703792ED5BE65113B8D288B1C4BB51462129686B98C8A8EBA47EC5226DB89DBC
707 E55B475F5E7865862C46F420BD95C0D86F24ADE80125C88FE1EE1BC35996DA48
708 60715BB1B9BDDBB906A2C3D77416F5934854FA735F5B16258EFF0D085DD2BD4F
709 768D8F84A098376A4BEF55C94422DED05432883AEF06F66D760013D4B944E8A0
710 D3A38CF6200A4CB113F0DAB2F8C2BA779BF893409B16718EA502D8F50F1B6682
711 C0406C78A4AB623F41A206401EC5BAB0C9BB6CA7DC80803E6B1C7529D62DCCCB
712 421AE54B379C39A25642D22ACB89D5617F80869ADB48EF70C4984F1E6B6BF4E8
713 C491B8D6513614FC120C12FFCEC55BF25272CA32E999E4A873F800EAABD362E0
714 1D9080A74A568556278CA3AFF0F10F813EAF2798A38A5D88EE545E6D9439F2D5
715 8632F0A0ADB4017F7AA9761B6A5D3CF7B8A4B39A61A1F29B001B98471B338660
716 5D9A7A33F80BBC8981FE0668004DF446B5462A79634EF02234CD5BD6949E2957
717 15D0A7AB2BE2C842414EEAD2590A0F7F8A09641936F47A8C458D4829BEB27911
718 03CDF1BA55461B8DA7A0BAACEE6E0E96C44B9B39400A1A910DB288BA0427A872
719 308583010AAD1AA30C706D7644735D6DDEEFE9BBC5FF613B467B004A8452008A
720 71846F6D31C890B50CF68AEECCBF8D54A559B59ECF19D9436F97365F70BE1202
721 72047F0A4D66587EF766731642D30B7CF8D2AE28F97ECAA2F81CA263E38B867A
722 98C69ECD7C32F73DACA4BB8AD7F6CF23BA23C49735E75885E0050E69A2A73809
723 41CE63D280E849DEAD2475B203300D2E3A9E2CC5E97A7F0C9C3F055BA3AAAFA5
724 8AB44263EE711A410E80F4E9A7D8DC79D4CCFDE1DD62A2689571877A40A70EF4
725 5DB43E7429D9DB655A0DF42F66EFC3EE7A7935F3449B12EB8700E8322EB3A3B9
726 FD88649313174683CEB9B34D3B4F9B6FBB8BC1337498AF
727 0000000000000000000000000000000000000000000000000000000000000000
728 0000000000000000000000000000000000000000000000000000000000000000
729 0000000000000000000000000000000000000000000000000000000000000000
730 0000000000000000000000000000000000000000000000000000000000000000
731 0000000000000000000000000000000000000000000000000000000000000000
732 0000000000000000000000000000000000000000000000000000000000000000
733 0000000000000000000000000000000000000000000000000000000000000000
734 0000000000000000000000000000000000000000000000000000000000000000
735 cleartomark
736 %%EndFont 
737 %%BeginFont: CMBX12
738 %!PS-AdobeFont-1.1: CMBX12 1.0
739 %%CreationDate: 1991 Aug 20 16:34:54
740 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
741 11 dict begin
742 /FontInfo 7 dict dup begin
743 /version (1.0) readonly def
744 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
745 /FullName (CMBX12) readonly def
746 /FamilyName (Computer Modern) readonly def
747 /Weight (Bold) readonly def
748 /ItalicAngle 0 def
749 /isFixedPitch false def
750 end readonly def
751 /FontName /CMBX12 def
752 /PaintType 0 def
753 /FontType 1 def
754 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
755 /Encoding 256 array
756 0 1 255 {1 index exch /.notdef put} for
757 dup 0 /.notdef put
758 readonly def
759 /FontBBox{-53 -251 1139 750}readonly def
760 /UniqueID 5000769 def
761 currentdict end
762 currentfile eexec
763 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
764 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
765 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
766 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
767 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
768 2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
769 B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
770 AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
771 7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
772 20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
773 B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
774 68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
775 D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
776 26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
777 F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
778 77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
779 BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
780 C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
781 30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
782 148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
783 E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
784 E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
785 337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
786 0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
787 472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
788 A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
789 30F40A9C74C8E7773BE601C0E245E7FC10C029398B71B3A91C685AE00CF42D33
790 8431A9C71520F67EC995576BD17BCFCD8B09F507534E1AA39C4FFA6E7D55E358
791 FC91453C1D85F9D663C222B0F9A2800D95BB8840D4BD9033A87C49DEBE11B0D7
792 103C268A2E26A4AD63BD93B79F9CD0FAFA24552111EDA7A26C0B8D1EEE6D6D56
793 5D60AAFC9B4740243F3167A63ACFCE6BEE762CE736023CD2CFB5AAEA510D4C54
794 BBAD1D5C15FBF3573A7D278C93E48F11A52E9BC4C8259A78B2015992A5811529
795 1A0F62317FC709F57A34C85D551959663733C6281D696B2F249F4DA2A6342072
796 466B33D8187D0C5CAF022B277B99376F5AB9317DE8CB2D07FF6DE9CE1D9181BC
797 33714EC309FC0102921AC76426CBB5A95742451A525202A05E5DA3EC72A5600C
798 A3246F252D6228793282372B1A4A0B0657962768BBBF3324F3670437E146E7CB
799 3356E6E1B327B8F1FAAC86894B9B2BE8DF4DB3F8E496EFE12730C638A92660DA
800 267DB98F2DB9A8ED37A09810062E6C1A91C4257DB7E36AA87284E68D52264A6B
801 213F34E78DA2BB9FDC9CFF0D1D9408F1FF197934B907478C4E18475EC2385E6A
802 65370583D16D6041132F5314920F5AF5844974AC80F4DDC534FE625C4609F9F0
803 90FF015657192985FA4BF32A009A9B21762EF1A3925481EB46397DDE66813447
804 D2AD7D75A67CEA0D44350A9524857C91508ED1FEA1FFE8EEEF6CC89696F4A02C
805 05BF0A9559EDEF8F7D54BE85982AE6B8F63DEE982AFCA7445A58F685420B9CE6
806 A95BFCE4A4D241C09DA22F7AA6EE57C0566C594CBFE11D8941FA4F20B6F91868
807 FFF18859365B9BF6752AFB8C7290C810AEB6A005A1BA4924EE98266DF04AF44B
808 EF803C266B46F09C561CDE42BE2C3C75C728C181D43B1B3A69D5BA82EC955CE4
809 36ED47DD1557899CAEE7F9BB44407471BC6DA94031D611CD460E76240BB5A88F
810 F71B9CE799F06A7D50E77554948C656B0089FBFF4A1061976583AFF318704724
811 7DC07AAEC4872854CFF7D6CDD58A59AB7A17EA83B825061BA251C88A75C240A4
812 2E0D30B42F868921AF20C364FB4A7D749A5CE14DC5CFAC4ED315CE3081E3ED99
813 96D5EC16D6FE9D82A34A2C6658B3C56E1101230E5D9E458144BDAC639DAC23F1
814 D3EED62B70DDFDA5918733102FACA1749C863DE47FEB9A3C88426A5E1DBE70DE
815 3BD1350685CFB4022651D68882E1C77C61052E704C9F34FFF6148505AB23D27D
816 AAC60BBCB4160FE7EAD6D4948587B3B0E8D06750FE36BEBE3096D5D58FBF3464
817 568C6C6D1C65D22EDC7DA2FDDABB4497B6FB88018A569F26B20F25B4AF7E3FB2
818 ED1B24BBBF7ADC52BDA2C8B3B8853C5458FE6880808DD143BE2B3C3AB0868DD3
819 2D5C79F4170F4679E159EE9BDE53941A45F732744C2C41BBA68496D3E7784E19
820 608061FDC03CA89B62A4A7AEEB9D250CD755E394CBF1336E9B4319D8B379615F
821 E1BF0AD41ECF115C768174BFE6F1CCDF3F06A1FE67703FC603C44DF8B5A951E0
822 85F22DE379F646A0A30E3B5022109BD5F21A8C175F8BF6EAE883D4CF6A03CB79
823 260287BE651FF353F29D95D2933A8D45A8446FF60002ACC8E18743FCD6294610
824 B52F56C1671CF2C0F46340E6E728BF5F271FF02DF6029745875F1E2DF70562F8
825 4FFC876DD8C84F6BFBE8E52C721FE4298ABA8F8C1DAE8BC3915A3FC0CE001D79
826 9A3AF2EC85C992D32BECC4F93E68449838EC546B2AE09701874308AADA82037A
827 0C63621C8699F6F8478539159DD7F91461C438DAD36B899D6FDB98D208EF3B3E
828 8F2659553A18BEE42AA78B4E7D000803FF6812B52289117A811806764A2D4CA9
829 E1C9F8D82C092E713E42CE1AF91202EAB66E8CA50D49B91B0A572A101D62D031
830 874CAA29CCCAF4EA3AAB61011EF13711A08C6953190DCF650699A62294EB6ECC
831 BD382F29CD7845551279ED402B66E96E43E09FCF46A51992D39FDE233A9A0621
832 C392ADDA38D66978451385300691715AB1CEA82E8C45C751790B4DDD88894213
833 CCAAAA50E101C9B721CDF82728ED282BB382A5153CA802FD63B0E499067AC6C2
834 24D8379CBA5DB4BD333FD29613484FF70E54DA7FE020DBCA1948351D422C2787
835 F5A71A6AEDA082A1DACD7DAE48EB7A56E5504D2B0FADD45B3B7B26E43BF0432A
836 86400E07D039CE0679000E8339045F645E545989355F00862A54E5B54BF0FF0B
837 ADF92521A83A641F74E727CBCF98BC18B6FA46FDDBAA03903CC971FE4938DEAC
838 6DA2C86227E6E30348F58B1BD8E52E74C849EC0595667C1D929849A29D775116
839 6FAFFA5D4AF5643B723A1EE7684218C0BC9C751C835E20FB0BDB3F5952BD9E19
840 8B919C96FA2C6961E24E6E126C457ABA6C0D15347AC7343A5EDD29D7CDB875D9
841 9C01435382ED3864A445E9BAD28E5E9183DEC3A245454772747F0E18F7E0710C
842 931F3BC9C5C676CD6E55E3FAD82BD9F6D7BF0F4FF821380656940058E9670CB9
843 F375F6E16192F8FA4E3E7FBFC84B03C48FA9D0FDAEC2C86C2E853506D135BC74
844 2B2E671515C707FE8126AAE6783A4090F9DAE57AAE591EAAA6FA5A2DC1CB3B4B
845 CF50D1870C2EEC02B5525D687B8C0CEEECDDE9C5D3D57AB82EFD161C97C9CA30
846 5D1EEF05E42AB07E544A5A960E9E5D352A59372EB050D4CACA139146FAA4B436
847 5CE504DADAD63C7FE7808DC84DBDBF427C8F1B8120F76BAEC8DCE6F43D09244C
848 4221A1C42E1822F84FAC4D0231AB4DC761CCEA2B638262F6B9315D8EAC4BC402
849 7246C655A2A7ABE228FB27FF1B9FE025687D7A576F890BACF2B9F74A830CE474
850 0D5C2BFDE4183CF7C208FC688294C624A2567EDA66EF3A62DD98A0BB5A5554BC
851 A6A96F98DD6C72F3C203AA55B26A306FA012328CAABF7F6CC0950AFB24F49804
852 E84A623EBE1B82EDD08F8414C96B469A94CAC1096A92713308E38B8E433662D8
853 9BE5004ABD555726729F9CD5976E793A2010E1C67D0C5319F599DF04555E3C5F
854 A613A1F82DFB17E190D20CF902EE4CE5680603F1A9AFF790F25396885913AABB
855 3531B30DECF979065BEF8FC92AEEEEA6AD5FD444DE3ED98944BE5C3EF0E98676
856 FC908F7B1FEC37E0E4607086738B87E6A9FED231B9A061240AD000DA7776D39A
857 18B4FF8BEE0ECB5ED5A0A529B68BFC785C3E79CF51E9B45907AA8E180772CC84
858 5C0B4E7F6AEF266B531B14B86DB2A2FA8B5BBE4181A4A408226DB302539F048A
859 483DE37AB14EE02D782311DA94E1A1561325076B2B64DE4183C2FEBFD642772D
860 F2F2F913D57DC7AA92DAE9E7AF9EFE5F8D333D1B6006714138BD5EC6849527F1
861 6257C14B25F6B05BB67F13D738BF0FD380E295B03B434763BD10E048BBE70F15
862 17FF3DC6CAB40B34C0107F4B458D9731D7E06D8DC869A965B8B61B918D35807E
863 6F75F9D296FCFE61F03C8676A82ADFE8237AD2FCCB5E7F9DEB041F57A08716DC
864 51B72C30DCA150138D58922D62F0717FF8FAB2629F3C3194D767EF672B3E9F01
865 2E9746F96E712ED0389CDE3103FF134771103ABEFD4B729A4969783162A8E805
866 7E21010BDF916E852BD6F0F68373C78ECE8766C5899A9FF80DB71AD4C287BA34
867 07FB6542D28E8BC1522460D2CF5EDF652315326D4D16D64A7FD1861860DCA9A1
868 B2EAF31F6A858B086EA7543FC490342C955599E769CADD18195D9F4731CC8AF4
869 625015483F06248DE5B3C02E00B6961C7150DF624AD98BE2B275216776C2FC99
870 A921887B18401F7A3F3FEBEAAE5B8068719342EE1752F460593CC2D1F74CDF2E
871 897F1CBF1C9269CC06AB5E254785293E37F19F2A66EE93237370B125C67D268F
872 B7C2932A19D7017C48B3F5C00ABF6F2BCCB43ACCD4270A5D4D049BAD39D3B35B
873 14A527A6F8C7A19F788C060F39F9E461365B724EBAD6896E7B5FD70930092D25
874 22E4772ECADBA577A22969445BF3F8019B7DC21DF34C4548F54857B98C3F5F4D
875 43FBE238CF646DAFA4E273364DD90520CA8C5B11883F03CEE44C7A990E139120
876 BB411383F2DDB42F92FBC6BC95D681CD5C893D7D1BB412BD6800461DE8B65087
877 1ADFA29C74A5F2EDFDE12A38C60C478AA75360656FC3F4484D0FEC1252F45513
878 74D98437539672C4E1306BAE46F6572313E8352EC67348911796F972C93CF480
879 74F0ED6E95672689DA7AC1E9980D8CEB47F4BDA3947E28750E3978693CF91995
880 45CC09BE9E3C238317814D53363C7F0DEB5283B585B25993855D6F66C4F90C5F
881 27ED332D9A783F225A4B3EB481CDA73A61ECE4DDE176EBFE9D5A799C0598BA99
882 C45BC029A35B483F448E8541C6A4A78DDCECB45917F3D0A8CAEABB5A6C042E50
883 632FB4D769D4C19597937234273E0C252EC2C6BEBD43C53932BF67334EE469CB
884 63DD339A4498F1AED72B5953445CB1B1EB8E9E6FC052D0C6A0E9BCAA7FE6B862
885 1796F7AA4E3B12AA9C8E8CCC2C896F9B0CDB053D40974F5F6332B30D3430F5FC
886 683276A1054DEE095CE4CFCC82EA1CDFD55930F5CCB96143E8D40361ED8311D4
887 5A94449510C3DE83B0038B36C20A99EFBAAA6813F5E787C61360D8AC240F1F1E
888 98A3BBA728F664478A5C7E4EE2A5CD96833C30363141128DB6E8F3AE236F0419
889 E7736D96A4AEF4CF63490E8BA58E1AC21446AC27CB7EB57B695BAA8278BDB3DF
890 C318CCB78DB7CB80C38AC8B9DC73D4BDDB71BEEA3DAA78AA3658B8A79D048758
891 F231431303D546613AAC1902FCE3174E5A760C2E67E4E50A14A4FF1A9968C6A8
892 4021F8CB8D3758B515F883893361AEDD3E31B53E187D9CDE94EF45A2151F163B
893 2DE42ACFA226DB904661A52C2FCF58B9966DB8684853CCE9AE0DC588AC638B01
894 570BC69B91864A572ECDD4E94EDFFA9155EDDA54613C79240FED48DDC20A59EB
895 F62362CADFF7B79D1587D2D9751A3D2183054D4D827E04698F3CBD51F0018A11
896 96CACF9CB230EDB5325B9DCAFFD2C3163C509831F25FBBE694327A83176A5BF0
897 56DD10BC6E0022E0F99F49BC7439FAD21F740D9533517E46220F207F4AE4B1BC
898 4C57E787AAD358A4BE78AD275534E6282A6C25685E8A25E7BEBDFA633EAD627E
899 9AD53C2ABD94DC5F52EF02BD59DAD0990D1B19D14A3E70AB77DE87EE961BECCE
900 77D777ACB72661E3B86DD111A179E6215110032F2E40932BCABEAF818CFF644C
901 63022A4441E8B501BBC976D09E67903621C07A6053386CE0CB9596F30E87D519
902 7734CF297224529098D64FD6A043BF371687F5E7988B2EC3161A30177C73D69B
903 EC9E87B6D6B0A44909C10513A5392ADF9BC3C99EBE2177ECBE2B08FEA6A4C9C3
904 D7C26AE3F5CF87B8BC136403D32BAF9304382A6F6C7E7AB712F801BECB93CB45
905 B663F7868134987D022F94033BD78FD2B89C0C0857EE1B8AFE032CF20F17E3F2
906 246B489C63E4C5C4767021F85EF8D0BCBD635E5CDB23F22FA510864C545DF573
907 69F69D89E9C1B310F3A6AF25AE725655185C841126B3245AEF7AEC6B1646B4A2
908 574A0DE5CF3FCDF8642B439DE0D94EDD0924E60C1D51627BFEDA67FA659C9E0B
909 E986AACCA7F60C210EB601275B13BE7FC792A306C0B40CDE773AFDD2E5D77A0B
910 AAC072AFE3DFC6407AD146964FEE1AAC3D77649F83B5DBBDB352A6B2516A5B09
911 6223E1DDC02825FEE31A1DB04A6CB7AED785E330154F2FF3703904AA85FB2054
912 0F9F7B057F212649E4DE69D57733B9AFAF8C8B4B00370175A4DE7CF180276F4B
913 DF3A386DBEEDC15EC6AE9EE54EA9BE27C0DA18D9846EF964ECD1816BEA8F2987
914 FDE0E8E78B3952259B30B13DEF104431807F190187386C5A16878235E6389A57
915 F8F453B7765F39E2C25359BCD05449F1AA427CC8D9085C7EEF9532EAEA8A6B74
916 FEFD02E34D5B072911A83744882A4B4F246EFE154BECA49B9AAFA9216BC5E6C4
917 1CA0EFA332E348030F4C9E65EC8C247A47BE4C92D124FBE9A01D00AE6DD407C7
918 6066206661BFB0B156C3A0645D6756ADAE11E7B45619D906DE1277DE5F17E9BA
919 A6252E050DE217599A6D5B5106C4D2377C937617E690AC6FC46EEAEE177B7B05
920 C0DFE39B57FCFFA93C53BD0AFC5B66E02752597D35F07367661913E8C848DDB7
921 78A3C6803038BD64D581608C977506ECC9538C4B3C78111F26D0E4290F6EFF44
922 BA0A7D7BA3317941436C52D2FFBC64BEE973925907C2C3D1DF6CE6EFBC2A77B0
923 B264029E42A39ED7BCDA9AF6D00D7FA53A273E180D043AD16DA0263E8412DB86
924 89F877EC28EE04D6A167BA9D3050D15AE04C3B9DE831E59BDE28BA638E1F38CA
925 0C7FCBC82773C8643E978378BF45271D3F521930ECE6CF573C51DEEBE8E44012
926 613CB7F422F106E443AB79EBE22262E2B73209C22B3B49838F60D6BC328DBC45
927 C885DD6666ADC2690DF93064723B6CA0E633DB8CE862A0D74D2F2D83023AFB6E
928 471579CEE7C5BA092D9F9098E6242238A191A012730B79FBB4E8B9BAB12443FF
929 B1EC0C364B56F8A9F432E7DD154DA76A30A7070DA4885FD6A3F784150E5E2752
930 A5507826D1D275DEB53A7915DC012D2FD74521D22268D21E15A34CDDEF919F4B
931 90D184900EA6E79A30A94FFC4328BB68CF0ED5DB2B72BEF20DB82206D4A7AF6D
932 EFD0B68121956CE185F7C1AE5EACEA7B840A634727286447CB2F44A3142E8FB0
933 D157D53E05F86C20328B29D8B2220DBC89A225B3650659EE364715FA0EA6FC39
934 1D4A78B1817D052951AE81609F82566A99A7DE0AB2F010C349DBA48E9F765BA3
935 5405E674AAC834B72593411848D6A4DEEA96B11DEFAC72647733B26E81B74E06
936 077717DE80BCA63C63BB97ECE3255E8BCC3815416397B2DD3BCC7CA140F61BAF
937 E3EE274DD9E4F2BD0349DC4638D260D8848C94E166223F7C99DBD71520CD6801
938 A8339D02C1B14D122EE9ED2A912BDB63A450EDE0CD8D297C238F73E41C3E36B4
939 0DA57F2637B26592EC2DD639E0FC84C759A0ACBE8BC9F9A750D9223ABEB29A5D
940 C176EB9C9DC4995EFE356505532FF6D752CE2E628F5F9D07905C31CD7B6BDA5A
941 6DB371D84902683C556F187FB6441AEDE78DEFCF2089DDF04046CE563B74A762
942 24105BEF3D3C1FA0A8BA7F53D0D8ADF7A8C71F2A830BB2078BE6574CBFD95096
943 FFF1847BD22820629B6F3E2B623C81E10B10A09818541EF2FAAC5F109EB14940
944 F8EDB77BC1EA272098BCCBEBE0115672C55D4AC3442FC517DE01ED9B68956F58
945 D6BB9FE89839977278CAEC6B7B549DD9E4D178B6D45934A0A13D74C26D720FD9
946 66000CBA7621377F570BFB903EEA7C80734C5A85B7900973B1B1E2726D82D5B4
947 CE1FF14D30D1CBC3AFBAC00F0AC31DE8A33AACAC68CB8A4719F62F893562F308
948 11A3AAF807D81CB34867EA99080F54194C245DD836A2C03B57AAF068EFB32F4E
949 74EC09D624400E69EA410E8C5EA9E1968B7D14D448B3DFAB70AFB47F79F3C0E5
950 A739C97927E658582603B6EA35892C94F3AE920582BD702C5B251F923AF31B32
951 88FAD56D153F2A428B0227F1BDF8F86C4C5479801FCF800E03CC8732CD26D7AE
952 6DC68F9F42BA6A4FB5E4A971E364562B09959F1E4FB7A3E782C3DB7728D303CD
953 A257A6A1C963078A9CB303922550F4DB416DEA1F56A1E8E2C0185254A4D9E444
954 DEE7F09A75654A0A1285962FA56AB050D18EDD04F28856C68CA42518B23EAEA1
955 5D69EDBD7BC106FA3B514532438F4F697AE0302F0FDF186FE659E3393DCC0FCF
956 B9F6E3A741D4C6A782616ED00F0B5FAD27D0DEBF97D5AD4331764155634FF8CC
957 8BAEA47D7BFD2BF49601048B090B2B23E549945EDCBC6FFB04C44F0BD8AF0DE8
958 6B893729F5ECEF5CB1BE74A9B9C4B312D86F754D541BDDF0CFB62DB67948FE2B
959 FA54FD28F4BDE5676FFCA0D45DF430EC353661CFF29B1A4E978DBB72C1FB3824
960 AF1ADB9B8F33527BCEF0A072B8FF52A987C9156B3BD900821385211FAC9B84E6
961 814991D24B5CB5B7103445234BCAC8D81275B13030742F9D64E849E9F087EBD3
962 1FFAE9F44CEA4441A531AC2163931B7F38F859265939FFD3F1B763ABE72F4151
963 72DF32CCE3680B03D0706AA4D87794D604E76C5090A018C5D39B89299D3254F7
964 8B8DDBDDC2631D47006013BCEDFA454538F16CC1A18866C33ADC5E9886A22118
965 78E2285F3FA6851CBFE1D77787011F47773090D717D6492A1C90361DAA23FA6D
966 9C2CF3F07AEEB397F48064EE6C58A0FE9D4D66CAA106E4B0E5CA8C655F0C9E68
967 31AF88927E4E8E7685AB571FA6E510E95D18621058EA451484BDEFFFBC76E0A5
968 C99ECA42D42121F8D27A46B191DEC40EDAA74EF49749C964C5CEF698335AD272
969 76ED6795685AB6935706687992D80DBC29032C238472402B7AABDB2881D5042E
970 3F00E67AAB1476D42179A454ED8AEC91E526666A3F1AEAEFBDB16E6992B81EAD
971 A4FC409E2BF76BFD182148AA26FAC7D6BE78AA3B1502D5A08FCBDDBDBAFBEFE0
972 0734DC7866271E01788DB0702596877EF25ADB68D3B1360371EE100A913EBAF3
973 3C746FDD50A90B3CF31AE4BD38044F73C9281C26ED903A2BB187B48BF81C27B7
974 EDBD54118453F2425279495D1A8EE76517BEA7DE70509415B2BBA15EF3D1E0BE
975 A209148263D8810FEC0E8510369075A52B13D5502342254AA7E5F1C72B84A372
976 6EECB053D0D53EE5EAD1B9F34854EE5828831C386DAF3E1771611FAADDFC3C28
977 3DAA67C368E04C6697B2D3AFB00EE1DD191590DB6FF3E1096AE4D644DEF0C4C6
978 E104D2A5077C43E3384E25E881FD94D1B7D1EC9942AB862CD8FAE61E2D20CB5D
979 4D886DBE53591771FE1255A31898E2C1AA5A471A0634715116948490BC5FD162
980 4C507BA45B80A066AF69819EAC947EF4C8EA94EFB2F7A0B26B0D784D6864748F
981 00294C347A89B1DB71271281AE4F9C121BAF2B1626438EE3E3C362C34F126BAF
982 B7DF48328BEEB0A13814D30303C005E144B5E83775EC48174375A9CC6F1349D9
983 DC2704E0AFB2F599C54CEB1C7E7651D712B321C74CB93C26F0A23FDE001FF769
984 FBC62A4D004EB03883A609BC9962C33E47723B7851615C291351F8A3937DC841
985 F2404A4C0C5326701FB88CAC8949141667E11129B976082B7BE8A4C424773DCE
986 AE26F1D7EA5B59E1A0644578C8B30801ADE81DA5BAA14D0BB269C029B431A339
987 086C83F8C1F471EC36E7A43C60BDBA58F3D7803DE70EDE5A8E8CA823E2FC2E49
988 CBAF481BB368CAD352EEC46010185D1B22EF43B5EB58EB9D4F65FE2B1DD4F627
989 B64C3B814E38DDAB448E5706878C36F3F7887C2D7B5F718CDC1F5414EDEB6683
990 659E40597DCA88F952C10BD12475A0E6C6D24964FD47594A04F08711C507CCAA
991 BC0754A494061F069B50D980BF5644EF51C1325040CF376CACB7702E283DD301
992 A0BA736D4F831F562A0AEF1CDE546611641F7F4FBC21AF677F1BE87AC5EE208F
993 77625B185ACBCE8756F816F6B4683A031B6756B4D9DBC147BB76091412601AD2
994 1E749B50D391C310826978B7A52F7011EFF980784331B57456A7EA82A52C72F7
995 EC98781B73DAF0EBF28146CC41CFA43B1826EEE8D7730E0D845C59D848A62446
996 3CB2CDEFD01C046D2FD27EE72D5F3093059432DB068DF398680EC37F613E1DBF
997 AD17B33EDE86119FCF137E07056973C50C6E850F07BA2B5EDCAC76D4470DBF51
998 117748B3E37160E0208C85587617A742248D5553E4EBA8FBE7640858811F2E3F
999 5BE29A12A0AA8776D773DED782BE04507FEA952CAC362B3AB5B63E0851133806
1000 8AA96277502EB0D2490CA146B60A3396562B1F6ABECA7EBE6A6C87C40B5A78F8
1001 15844F3DB142C5775C9BAE7678F8040DA2ACC57FC953977E494A71C2214789EF
1002 E19F9B5FD119EDA3F6598FE869135B3CB0036EC5BD0AAB41BCC147C6C91958FE
1003 31B0331DEBCE5EA8AC018DD7A0A31F25D5587EEB78D727DF73B2B9A9F093A0A0
1004 859799BCAD8526DF873B08053DF9C02A9541E53A04E4EA13569E36B1A031DD50
1005 68AA339BB0605454A3442FFFD88C75595E094AAF53E4F3E85868E302198CF926
1006 9A32DE839C76E34E4A9986351FBB7EB332AB51391D38DCE284D7E9D677ECA3ED
1007 DC6F13262D13CAED33573D67C9320DAD37C59C0832E1DC0F2FB327056BAE1BDB
1008 BECC7891DE65533BA7C06F69A03CB8C62B7A5B6DBD5C90EA92CEAC0303DB2AA1
1009 EA88AB034CE4436BD5F43027C9382E1255295D02CA1088F0748CDDFE1FFBEF5F
1010 3EC2C509342CE04C0986377ED0934EDCC1A3E3E75994D2A5284FC8D1989C1060
1011 65F29DFBC2DAFC30EE4B418250E87E7B1B4C4666439B1367130F7A2C8B57CC6E
1012 737C73B41654411ECDE787CDF6B1002DACA9975C5A77C3DF927572555B62AD62
1013 74B707ECBAE961A647828E317C8882A22F15568B6332B2A6771B8E329219327A
1014 9F124671646C7A3159258D6625FCC41031ABCC73DCEA986552086F6C4A1482A7
1015 D2900C6074D7CBA4B6C64435C07C956CA318F032EC0A949D2EE7C9F15ADE2DF3
1016 D1E8FD7E8E00BB5AAABAE2FB7818291B3C5488F408B3AB511E289B6DE48735EC
1017 99CF54A233E03009D68545C39BFEE7A1C2467359D3500F613DBCF771CFC2582A
1018 612D03C92E04BF15660229796B64386539A62329CB779090E1B7BBF4A6344A58
1019 4B2A265FD62DC563FEF2FBC991CDD1A83116FB4FE210F4CC2A0A8CE60FB6A64F
1020 813CB2EE155CDCD954D2FDD533A497AB6841AE27A5BA4B760D96DD51790BF2B1
1021 61485168B22A4262579958AAA30B1AAC4C915530227CD0C33A7EE6EE83AC8800
1022 A064CA52CDEF781A1F540FB689137C8FCE61155EA5A31DB6C9887A4E7F49C43C
1023 ADB677D3656C290151E6240B5DCAE684F5FBC5030A8843440BC2714E86138DC4
1024 B9F94D1EA59D6F75C6891954D9D06F5DBB0D71A4CD1AE0A740F9793DD2C20B3E
1025 1F3EF2C126525765C10520E1023852E11C90319CA15DC6ECC0014E909A4244A7
1026 A4C5AF5028E16A1631393242E8DFC67C9E704FF0AF59A12A92E7CFDEC49B6185
1027 350FBEA9CAB17B72E46D4F6AE72D37DA711BA939FA8A44FCA824FAB840C11378
1028 6AA708A4629798986C35D51147E6634D146A3C8902964E5EB27CE0E33B792C4E
1029 08E921101B74C1A8D85AF5CA283A17D5B91FA64DB31C8CEC4A80D3DB60E4D57E
1030 D01BFAB1F7B32051A64905E2A41307F0BF53823EA8B26DDB789233B12302F270
1031 1B92873451D44E2420DC942E1A50A316360F3D1BF648CC879F5D2A143E24B57D
1032 123C73F62949D8DF6EC0632BBFC9B3F34BCBC6DD3786E53A6E855C5576D3B277
1033 8B6CEF56D5C553A655D794ACCD48D8BEBB525F24338F1B38C660F3F7CCD561B5
1034 4D59A69D5DCB51C9DF62A82C7FCE6EDA8F37D0FB565EABE6CE1E7E4908284022
1035 4A2AAF2A69B08AFC6327E3570F05E650CAF3E7428FECF70EBEAE09F8DA752BA1
1036 D7B85D2C45E658F2997A5C3BF70215FA43A9BE514536D6A6B024EC4ED333CFC9
1037 3741B2711B5D91756A5EE090C43589E333F1131B9F648E9204DBB9524D12B7BA
1038 275350653C61EBA2142443BB114BD517324A0ADC73948A851F56352B931ED16A
1039 707E42FE88262017E7AFF0D0700E5556AD8B2D7F31262CD4A139E83C87DD7054
1040 D74CFAFAA3397D98088C4841B6F94CD5A12C9E26BBB328FB85C0272ECB04EA4E
1041 0EE3423DBAFF3B2E3B17F4F57B8EED774EB39F973CCC55E583F054DADFCBBAA1
1042 4A2D847494C3EDCFF52C313D5722F363FD60424492A129DAF9FD72EAB4C55C32
1043 EA86320405B55D8D104027AE63CD334C7AAB5030AE1228B0DFF6236DAE6342A0
1044 52837E56AC36C25EAC5507F92802C16030AEB674A14C91721DE43CF7FD615629
1045 EBF3FF556DD502D24B97C76FAB00E482D633C27BA8B1D54CA284D9D5E75391B7
1046 4655EA864B0C2551572EB215EFB0C9B775CD7F2C139288432795212724F59BC4
1047 850EEEDB46057D34CF25D3601C7AFD00C2034188196E35400ABC2C32DD8D14B1
1048 972C05D1B65891B52CAEACECBED887345CF698017EBE0EB2FEF363E1B2FE1812
1049 18EFDFB6A53119CADA7EB2F3AC1D137013E7D563AC0C386B40D5043FD55A2D27
1050 369470A931E00C62B35AF660430DD2111032C1C49A48AB820183EDD6B8C77D90
1051 87B5732DBA21C69533FFF399F77AD9EBCF78FF97977706D6960893C8CBE00690
1052 EBDE06A78370445BB9057F4E21ED948AE077466B36F20CA1DD01AF152476472B
1053 95A166BA4EE0F3A0B86BC3DF392B16FD5C49D657FDA3F3FBEE3CAECD3BD9452A
1054 E6B8EF31432148CC4BA8A7E1CC24A58C30FE4F7C9F338A09F8B5A7359E611075
1055 17C133F6F589DAB0DCE508AD3E58D8FF453FF1F49AF36C4622BA4636E5281C8E
1056 ECA4A54E9746A49951B2D30E370F72406C22EC4F579270F67D93E9FB336DD029
1057 1C20F150B3224ECF54C02C5AFC923C26B6EBFBB14A5EC7BBE98E189A710B9088
1058 FAD875E16D9169BBF0CA62E2071A76363E2EBAA964ABCF188648F3CE99383FE4
1059 6B99F86D21DCCAE66E8B46544EC5344864442D76782FDB212C942DBA817A7DB6
1060 CBC34FE44E8DE2DEF5161021205B91A74C6D14C6782B3CC757D27115E03C278E
1061 B9EB4BB6ECF4922F349AED29418A01542C5B2012ABA0656A21E35C0800CC80D1
1062 4ED9F7A48F108CEB03737BC5E186ACDEC766BF57C0D712C47D97607F5FF0A46C
1063 0338303774399753A712BF9DBE869B9FD89C8E27A315D8CFC10954EDE353D71F
1064 5C1A934556312F4746EBA24A6CE9EFAEDB6D62321954BA52300A36F379DF16C9
1065 BDB55C6A2AFC74138EF72BECD2806544574807E99FA9A89769173F99537FAC9B
1066 FA88B13390688B77042D3C1DC783650353F1007061BAD75B0C1F6D0DA742154C
1067 F6432B1958BCBF013C336B56FFF39F2BF78B8DBAC6D2D471725B3A3958781903
1068 D44C7558FE584F60C65C1A72644E092C9B80CDC694BB5AD50643067EB67A830F
1069 A4903268BE91E4471922E74F7219E3D7FD6363501B6A3A321D7AADD4E7E99058
1070 A7C7FC2A7110A06CE99D58424597950B9C4DD55DE8F1BFA8064B086DB5E72FAC
1071 A6202862047779F58234D501F8FF1413C420983A98230256D801DF9373E0CA39
1072 A0778EF96ADA0FF101D66A135E3DF53B8F88BC39E23D5511C1818F24E1BAAF27
1073 2E548F80DE89EAAED080F29773C23E9E22D2A3C8B51D1DF74E3FF839C24FE9B6
1074 A8B4FE3FB94ED11AE0CDEF387BF6AF67FC0F3786006497FE05751422DE68C6E6
1075 D8CD70EF789C29DA61F2BB8EA5B1D533EB7800F91BE9AE49594F098FC3D8ED11
1076 246DC6548614E49FD63F94B5A04CC37AACE16727F37C9A560ED9BDA2796FD8E8
1077 6A10BBD1445116730F4B206AD3488ED6C62258D7D4D66537BC55EF32519262F1
1078 CE539FB0F022AD3339638AEF75BB4BFC209CA4A4CB00C6190677E79E5147DF9B
1079 074F508FBEE8A587C2BFFC76721EC236276B687EB0FB10CF424DD6BEFB6A8E8F
1080 C4F534F90BCD011875F27EA1D5E7900DE70B7D615136DDB7D8C41747FBA8015F
1081 1515CAE21B1283A2996C6424ECC23B6EC9FB65E6F0054D7067BE476581E46D12
1082 1840F5E12124F9DA3A21D04F0DDFD65AFEF9E8FD9D035887086DFA72088D9976
1083 700DECE96F161A16BDC53977EDD959E69394533130A5B24014A852BE52C2B582
1084 65289804CA6086FFBEA6FDA667FE70077122131666FC6B5196B1D89C731BE64B
1085 7BCC5F1A2A761DC974714AEB200BF14D89B763CABA81CCDAD78BDC683593A495
1086 42C23C694D75C85387A430B294C9D221BCAD97598A24DDBF7414038F4D9BCD16
1087 4936CF7A6EDCBD9DA12FCC6550DA7FF0253D9B7D6E945A9AE27FE7A1F5115B5E
1088 9D83127C5D7C3215E0AF42FA99904E49C1379FEFACC2C3
1089 0000000000000000000000000000000000000000000000000000000000000000
1090 0000000000000000000000000000000000000000000000000000000000000000
1091 0000000000000000000000000000000000000000000000000000000000000000
1092 0000000000000000000000000000000000000000000000000000000000000000
1093 0000000000000000000000000000000000000000000000000000000000000000
1094 0000000000000000000000000000000000000000000000000000000000000000
1095 0000000000000000000000000000000000000000000000000000000000000000
1096 0000000000000000000000000000000000000000000000000000000000000000
1097 cleartomark
1098 %%EndFont 
1099 %%BeginFont: CMEX10
1100 %!PS-AdobeFont-1.1: CMEX10 1.00
1101 %%CreationDate: 1992 Jul 23 21:22:48
1102 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1103 11 dict begin
1104 /FontInfo 7 dict dup begin
1105 /version (1.00) readonly def
1106 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1107 /FullName (CMEX10) readonly def
1108 /FamilyName (Computer Modern) readonly def
1109 /Weight (Medium) readonly def
1110 /ItalicAngle 0 def
1111 /isFixedPitch false def
1112 end readonly def
1113 /FontName /CMEX10 def
1114 /PaintType 0 def
1115 /FontType 1 def
1116 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1117 /Encoding 256 array
1118 0 1 255 {1 index exch /.notdef put} for
1119 dup 26 /braceleftbigg put
1120 dup 56 /bracelefttp put
1121 dup 58 /braceleftbt put
1122 dup 60 /braceleftmid put
1123 dup 62 /braceex put
1124 readonly def
1125 /FontBBox{-24 -2960 1454 772}readonly def
1126 /UniqueID 5000774 def
1127 currentdict end
1128 currentfile eexec
1129 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
1130 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
1131 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
1132 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
1133 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
1134 2BDBF16FBC7512FAA308A093FE5CF5B8CAC6A7BEB5D02276E511FFAF2AE11910
1135 DE076F24311D94D07CACC323F360887F1EA11BDDA7927FF3325986FDB0ABDFC8
1136 8E4B40E7988921D551EC0867EBCA44C05657F0DC913E7B3004A5F3E1337B6987
1137 FEBC45F989C8DC6DC0AD577E903F05D0D54208A0AE7F28C734F130C133B48422
1138 BED48639A2B74E4C08F2E710E24A99F347E0F4394CE64EACB549576E89044E52
1139 EABE595BC964156D9D8C2BAB0F49664E951D7C1A3D1789C47F03C7051A63D5E8
1140 DF04FAAC47351E82CAE0794AA9692C6452688A74A7A6A7AD09B8A9783C235EC1
1141 EA2156261B8FB331827145DE315B6EC1B3D8B67B3323F761EAF4C223BB214C4C
1142 6B062D1B281F5041D068319F4911058376D8EFBA59884BA3318C5BC95684F281
1143 E0591BC0D1B2A4592A137FF301610019B8AC46AE6E48BC091E888E4487688350
1144 E9AD5074EE4848271CE4ACC38D8CBC8F3DB32813DDD5B341AF9A6601281ABA38
1145 4A978B98483A63FCC458D0E3BCE6FD830E7E09B0DB987A6B63B74638FC9F21A5
1146 8C68479E1A85225670D79CDDE5AC0B77F5A994CA700B5F0FF1F97FC63EFDE023
1147 8135F04A9D20C31998B12AE06676C362141AAAA395CDEF0A49E0141D335965F2
1148 FB4198499799CECCC8AA5D255264784CD30A3E8295888EFBC2060ADDD7BAC45A
1149 EEEECDFF7A47A88E69D84C9E572616C1AC69A34B5F0D0DE8EE4EDF9F4ADE0387
1150 680924D8D5B73EF04EAD7F45977CA8AD73D4DD45DE1966A3B8251C0386164C35
1151 5880DD2609C80E96D1AB861C9259748E98F6711D4E241A269ED51FF328344664
1152 3AF9F18DCE671611DB2F5D3EA77EE734D2BED623F973E6840B8DAD1E2C3C2666
1153 DD4DD1C1CC71EF3BE29E7C9EC47F20088C52CAEC511F532AA38EAC7BB10B5CD5
1154 285CF4277EF3F022DA5DF15D675BF1B108B71578F05696149CC686C1FEA63A15
1155 F401D84C961CC5AB7407F206E979DF557E94FF0285FE702A00DAC1910803A266
1156 21E2359954BF3DD0CC09CCD690E502C2B19C6BD25215822D2A922422680E53B9
1157 449EF9116E9692D110AE3E6EB124B07B28A821A3322968A491987D18BE148C03
1158 6DF0DCBF9F053C3811FA51334DD0DC6CE46D73B242B4599E995A8458BCBABF4A
1159 A6AFEDE42DA91B20EDC8B3118200FE22B293759CC49D7E734F6547F81730E075
1160 65D338EA6DF77106A9E8B3C32C9205D0B2DA84260E75B06C006ECB4B49A4528B
1161 583B8EFEA9A470F31563B6E94E3688117829CF338DD2E04DEBB0AECACD60F5DA
1162 4850F1E51E23A9A1013A31F6F9237227657189D18791EBDE0EE3FF76E2E47EE8
1163 CE13DF8148214087B952C3B3703646732DA4E198A7405D1FD3789BF29A46AD59
1164 C38779616131CD1804D6885445399DC1CA005463C07BD5D1E0559333CE8BE1CF
1165 E98228754054326E6A358613E77119414EA426908BC9268A0F70D7456F174E2C
1166 BC4B262A4984B5403592F00327BDC1918EBFB8904DE3BE04C03C133877A1E3E4
1167 A5A3A8AD02A6F95111015C3706CED3116D8B03CCD6AF59B845AAB7AD965E8A38
1168 ABF01C473B31D11A35921663D790AF77E12F966C30DFC5329B57E145D34D3ADB
1169 2C2F2BE9F263A1655418C264151E870E5FFDE6D487FD2E638531E3C859E9283E
1170 269A690D9CB7AF28EAEEFEF2920A040D7DD06E98E6A46874B438AD7AA47E0857
1171 BAB8F745C21D1E9C3A43137F54CD4EE8BA9D7A0D6F659432BB54AD5438402F70
1172 4E3C06D9EB961B941111984BA79971E74036EE5A0D7499587A8E9B0E1FAE1D20
1173 3F159E2563337D4E536FDC287A05FBBA57B0322A4FAD37CFEAF43381151B0048
1174 CDAD93CA98BB00A1D6DE397A6267BD931A124347E2BAC3F0AA6EF0C613BA043A
1175 97BA9AC4B999940E083A1DECAC2E8F005C6B47D9175C2B65118C02C7DDD30EFD
1176 C8672EE055B8687EBA3F241464EC328A8A0528C3F0ACBE0FB15BBB459198938A
1177 80953BF59FA6F6034B2BA077CFE8BD7176889EE233909E1787E4C2F9729921CE
1178 2E66D9FF3515875D9A6AC846CA05C82BF1965F240C2B0E
1179 0000000000000000000000000000000000000000000000000000000000000000
1180 0000000000000000000000000000000000000000000000000000000000000000
1181 0000000000000000000000000000000000000000000000000000000000000000
1182 0000000000000000000000000000000000000000000000000000000000000000
1183 0000000000000000000000000000000000000000000000000000000000000000
1184 0000000000000000000000000000000000000000000000000000000000000000
1185 0000000000000000000000000000000000000000000000000000000000000000
1186 0000000000000000000000000000000000000000000000000000000000000000
1187 cleartomark
1188 %%EndFont 
1189 %%BeginFont: CMR7
1190 %!PS-AdobeFont-1.1: CMR7 1.0
1191 %%CreationDate: 1991 Aug 20 16:39:21
1192 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1193 11 dict begin
1194 /FontInfo 7 dict dup begin
1195 /version (1.0) readonly def
1196 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1197 /FullName (CMR7) readonly def
1198 /FamilyName (Computer Modern) readonly def
1199 /Weight (Medium) readonly def
1200 /ItalicAngle 0 def
1201 /isFixedPitch false def
1202 end readonly def
1203 /FontName /CMR7 def
1204 /PaintType 0 def
1205 /FontType 1 def
1206 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1207 /Encoding 256 array
1208 0 1 255 {1 index exch /.notdef put} for
1209 dup 0 /.notdef put
1210 readonly def
1211 /FontBBox{-27 -250 1122 750}readonly def
1212 /UniqueID 5000790 def
1213 currentdict end
1214 currentfile eexec
1215 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
1216 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
1217 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
1218 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
1219 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
1220 2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D
1221 E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8
1222 47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C
1223 8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4
1224 78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486
1225 1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E
1226 01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B
1227 C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0
1228 F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30
1229 8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF
1230 A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7
1231 455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2
1232 9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105
1233 EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B
1234 52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97
1235 563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F
1236 0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB
1237 7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1
1238 0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4
1239 1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4A78141CA32C
1240 B3C74E1A0AE0520B950B826B0ABD81766035058ED1654D00FE541CAD1D246C0E
1241 DE85FCD3C0BF7A70B913487B1A527EA823C00C39DB61FD6641B140FCED8580D8
1242 046741D2494B4E7CA1F120CBB0A532BE049CABEB70A39018E8212F8178E93C98
1243 B377AE2880FE39BA0EE29451857DB34964DA26ACA4CD23CE284ACE37D89571FF
1244 CB67DE7AE379B74B32ECACC5F3DE0566CE9EE820E96F27653C75935851CD9360
1245 A83C7EE8270383CB8A80715BC2B62B1F709235A5A73D99710D7665182D461095
1246 B98C8A0FEA44F0F1959055D50BABC7880E7BA1CA4CD72531A240A622663A0A1F
1247 DBE4FB907F97515CB1100282C9A0241F65F84EBAB1701FC105BD25F82807F4CB
1248 6A5EDB5CB156A7D55F64146818245C112DB0FEE9E0AC96B4B2AEB27F89FE0560
1249 727D85FE6CFF5C457EB1EE5D7E2A09979684E2611BA57A1BC7BA4E37DC4BA761
1250 557D986F9A8B495CB7212507AA79C297B0665CB5883F2332DF5CB088A92E24BD
1251 1EBADCAA515B567FAA9E15E7B8DA60C1BBEEF5A2E0D4C0C67EDAD822B5E8D81C
1252 6D29928726D36EF0A9238476FE54D4990E8D75FE0109C0336DD50F9021307213
1253 F69C700D2291C546007CF3A5DF3BF5ABEEB640D3AEF585055A65EB2CA7AD7F11
1254 22182523EAA8FCF029C604212529C03F179566E6B731FFE2283D6402A350EAB9
1255 3C7FFF41383A9398B33C48FB2F9A8241D65425FC5E49DC9BB97521D91E44B3C8
1256 B2EB1BA8D532BBF175486D1DDB914BCB92968D342B5C1FD6FC72DA462FF68992
1257 464BF0E00D05C2AC3729E598991C6EE7354F0C400296356ABAB37A16FA504DC9
1258 B6369F88BDB7061D5EEB761527E588B4A6C83169B517991789D664BB543A0E57
1259 6F2529BDC7838AFB93D53D5794E57B65A7DB00584492C046F72CE19E4D1B177D
1260 1D951362B2F7CE2B720B305D45B7FC74183C1DE46073D8E20FDF8027FBFCDF40
1261 5F0950F5AAC19AC8E8D9A57A271C0BB212822798DCD068B4F05DBAC2AF7BB25F
1262 5DFBFBFB5A51ED26ACB22541E1971002A5D97B5E148F8F087A3229C4
1263 0000000000000000000000000000000000000000000000000000000000000000
1264 0000000000000000000000000000000000000000000000000000000000000000
1265 0000000000000000000000000000000000000000000000000000000000000000
1266 0000000000000000000000000000000000000000000000000000000000000000
1267 0000000000000000000000000000000000000000000000000000000000000000
1268 0000000000000000000000000000000000000000000000000000000000000000
1269 0000000000000000000000000000000000000000000000000000000000000000
1270 0000000000000000000000000000000000000000000000000000000000000000
1271 cleartomark
1272 %%EndFont 
1273 %%BeginFont: CMMI7
1274 %!PS-AdobeFont-1.1: CMMI7 1.100
1275 %%CreationDate: 1996 Jul 23 07:53:53
1276 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1277 11 dict begin
1278 /FontInfo 7 dict dup begin
1279 /version (1.100) readonly def
1280 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1281 /FullName (CMMI7) readonly def
1282 /FamilyName (Computer Modern) readonly def
1283 /Weight (Medium) readonly def
1284 /ItalicAngle -14.04 def
1285 /isFixedPitch false def
1286 end readonly def
1287 /FontName /CMMI7 def
1288 /PaintType 0 def
1289 /FontType 1 def
1290 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1291 /Encoding 256 array
1292 0 1 255 {1 index exch /.notdef put} for
1293 dup 0 /.notdef put
1294 readonly def
1295 /FontBBox{0 -250 1171 750}readonly def
1296 /UniqueID 5087382 def
1297 currentdict end
1298 currentfile eexec
1299 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
1300 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
1301 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
1302 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
1303 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
1304 D919C2DDD26BDC0D99398B9F4D03D77639DF1232A4D6233A9CAF69B151DFD33F
1305 C0962EAC6E3EBFB8AD256A3C654EAAF9A50C51BC6FA90B61B60401C235AFAB7B
1306 B078D20B4B8A6D7F0300CF694E6956FF9C29C84FCC5C9E8890AA56B1BC60E868
1307 DA8488AC4435E6B5CE34EA88E904D5C978514D7E476BF8971D419363125D4811
1308 4D886EDDDCDDA8A6B0FDA5CF0603EA9FA5D4393BEBB26E1AB11C2D74FFA6FEE3
1309 FAFBC6F05B801C1C3276B11080F5023902B56593F3F6B1F37997038F36B9E3AB
1310 76C2E97E1F492D27A8E99F3E947A47166D0D0D063E4E6A9B535DC9F1BED129C5
1311 123775D5D68787A58C93009FD5DA55B19511B95168C83429BD2D878207C39770
1312 012318EA7AA39900C97B9D3859E3D0B04750B8390BF1F1BC29DC22BCAD50ECC6
1313 A3C633D0937A59E859E5185AF9F56704708D5F1C50F78F43DFAC43C4E7DC9413
1314 44CEFE43279AFD3C167C942889A352F2FF806C2FF8B3EB4908D50778AA58CFFC
1315 4D1B14597A06A994ED8414BBE8B26E74D49F6CF54176B7297CDA112A69518050
1316 01337CBA5478EB984CDD22020DAED9CA8311C33FBCC84177F5CE870E709FC608
1317 D28B3A7208EFF72988C136142CE79B4E9C7B3FE588E9824ABC6F04D141E589B3
1318 914A73A42801305439862414F893D5B6C327A7EE2730DEDE6A1597B09C258F05
1319 261BC634F64C9F8477CD51634BA648FC70F659C90DC042C0D6B68CD1DF36D615
1320 24F362B85A58D65A8E6DFD583EF9A79A428F2390A0B5398EEB78F4B5A89D9AD2
1321 A517E0361749554ABD6547072398FFDD863E40501C316F28FDDF8B550FF8D663
1322 9843D0BEA42289F85BD844891DB42EC7C51229D33EE7E83B1290404C799B8E8C
1323 889787CDC69C6F2AE63E19FB4633FEE6B85717F348605ACDCC4D2088463EA745
1324 DADE5252AEFE051BC3F7F1815A6C2067A87E00693A73B1326007CACAA07FBC1C
1325 879D97778050B3474045AD61D9556D16CCC61B99C0F85E76C083FF52E50824AA
1326 FEA23C18BB5EB100DDFB0135ED0AD462951C47F35CA979EE8FF32C72925D8C95
1327 ABC80751CADD995519C4CCF8D492B933464C3A30B111940870F790065840D2B0
1328 D6F876CDA9933E301C4B55EBEE739CD6A4368FB12A137E265D4DB3E5479C20CD
1329 B1FF2DAA482F6999C933F683A37D0C7BB7E3E2E74227CB5625B13C3255A633E8
1330 4BD7C8F17E69B788B75776F44F48500D408F3A83E8EEE6C1AE3901F001E90B59
1331 190DFC670A16F0F8265DDA19BB37E70D175B2FFF9EA60D2A29C34AC6252FEF73
1332 48F903075EEDE579F75D29CCBA0820EDB5240D3D6A2A908D324A266F85C1CA64
1333 A1F2AD9FFE69332401D9572D90428ECA0AB5D303012B53A3EEAAF48C16204A48
1334 B7F00D70DF6FDC1E2FD9A2CD4B3B837533F318262CFF4A2DD5FC128AA6968964
1335 BBDE6107BA91A764E3AEF9B51DEB4D1393A0668B3D84522CD8AB6F5CAEC364F3
1336 506ED4AB9985EECDBD9E984F1DCB82755FEC15C1C02F06256719687C890F5803
1337 37ED47D7AF325104845D02C7A95B559D14DEBA9A236BB9725C2DB00DED9E0A10
1338 BDF88C7AF08040AED8B966A26AB071BAF272CA553F882E1E1D633F4134CBE953
1339 68D9B61D923542C85340200EED2F37773AC7C4B94894BF1BB2B9F6FAC1E9C314
1340 DDE9F331AFB30621FDE958931BDC7598CE028EB7A17FB4EC1C58E49FA12EB24B
1341 FE24F667A595F57CF4F9141F5E3DE40564487A02A20E259DC603F4592F811762
1342 98797E21BB73AACB1A6B329C05B8F9CA7D64DFEC5FB69F5F571B918E4C07C15C
1343 24FDBF843C75CEDFE268DD98E9EDC07FA5544FB34178D475A382F27E029DDC89
1344 968ABCA7AF8769E477AE7EDBE2664CD8DCADC36519542647F85612688E217546
1345 C276E2C15F8003B445C808B43F66AA8A205EA9AD6E77026827812614859B5CE2
1346 2659A297C4C49B92B7CA9C267C16BF0E59CE2B127F551A2A80B7BD184CE5F2E3
1347 374DD62AE8A0F5B4AC9F70E2D653A039D58299BDF5FA13106D8299918A6C8044
1348 C43A78D2913E9D626D2B9DB08F4C11A87CEB9C53277813FBFEC2DB755DB75B62
1349 E0ED25F10A7013053697699319E9FC5A9E75E67965401FDFE565FA0E405196CD
1350 F89CADBD32FC0FAAF516348025FE6BC330AA3304989DDA243A0B391B7890A107
1351 2D06884862C745C3BBE82B980FD2A7126D927F638B0E80D10808A741B9270041
1352 80227D783A6EAC1F04F6E9772CC4F461E69D2A887A557A8B069352DC35BDCA88
1353 006D8EC3E71F263F824B4128B0AA108B91D91EE9361C877ECD01BCAB76745874
1354 29F52A61060274BC161C7F6399A61FA4192334445584890D25E72A1577272CED
1355 63C64AC3D83A5385554B4420E8C236E8AB8668511C8008
1356 0000000000000000000000000000000000000000000000000000000000000000
1357 0000000000000000000000000000000000000000000000000000000000000000
1358 0000000000000000000000000000000000000000000000000000000000000000
1359 0000000000000000000000000000000000000000000000000000000000000000
1360 0000000000000000000000000000000000000000000000000000000000000000
1361 0000000000000000000000000000000000000000000000000000000000000000
1362 0000000000000000000000000000000000000000000000000000000000000000
1363 0000000000000000000000000000000000000000000000000000000000000000
1364 cleartomark
1365 %%EndFont 
1366 %%BeginFont: CMMI10
1367 %!PS-AdobeFont-1.1: CMMI10 1.100
1368 %%CreationDate: 1996 Jul 23 07:53:57
1369 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1370 11 dict begin
1371 /FontInfo 7 dict dup begin
1372 /version (1.100) readonly def
1373 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1374 /FullName (CMMI10) readonly def
1375 /FamilyName (Computer Modern) readonly def
1376 /Weight (Medium) readonly def
1377 /ItalicAngle -14.04 def
1378 /isFixedPitch false def
1379 end readonly def
1380 /FontName /CMMI10 def
1381 /PaintType 0 def
1382 /FontType 1 def
1383 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1384 /Encoding 256 array
1385 0 1 255 {1 index exch /.notdef put} for
1386 dup 0 /.notdef put
1387 readonly def
1388 /FontBBox{-32 -250 1048 750}readonly def
1389 /UniqueID 5087385 def
1390 currentdict end
1391 currentfile eexec
1392 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
1393 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
1394 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
1395 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
1396 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
1397 D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
1398 9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
1399 990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
1400 6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
1401 DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
1402 59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
1403 D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
1404 8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
1405 6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1406 1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
1407 03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
1408 95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
1409 74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
1410 3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
1411 47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
1412 AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
1413 42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
1414 40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
1415 B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
1416 9560176676BACBFB75D4B333F5A2C354DACB749AC977CA7E1AB5EDD1EE537D10
1417 6E0271E2619762D24125D1308B8B8ED6C28EA6389052DA09BEB6E1CCD780014B
1418 66831802DDBF63441CF131D44A76544CD48F347D896B6F57FC6FC6A526E9A724
1419 F11D67A155919B8C25404F1C4AD8D034909F49CDEC7D8C1FC8E1BBDEFD6C1CEC
1420 4D55F80DC9F0A4B201FCFB16BB772CC169DDDC0DB297B640EA950FB17287E98A
1421 5EA433514467E69456052F09ABD568EE0987F9F8DAB7A5A3482D38F05A685CAD
1422 3C250558A28FE2B5E26A0A4409FD6E46008E4FA72F5583C9716FC99205BC5534
1423 5696267619B08523101BB8495329D4FBE208574FD5C90FC843E1BE13E5D63385
1424 0F5829D38740F22F3796A4657F92E9F82B20B6BAAC56A60AC59313DB3C180F85
1425 E6C784F89A8FE1D153FB6B28AD611F39FC788427B5E3EF0D7996D2B6A35EF4D5
1426 BDE3E05FA9704819242C19D30632E70873B1B990491453F77B1CA0C9C6731157
1427 69EDEDE71F925398106BFC61C46064350206EFF289EE9320444AAB8627124BCD
1428 A83FDA0DA8631A9B548C883E9A96FFCE1AF5CE647F749D92069FFD02F71F0E5F
1429 83EDA3F775B110B084BBBBA01511F8EEF100CEA292DB8AD85BD010CFA86B43B5
1430 DA8E5DB1BD1048211FAF89A838742C4649F26E56BCEB12FB8EB0DE42224AAF72
1431 2D4410BA8311F1C7CEC8438B6771364CE647321627D15C66FAE576BEA74421FB
1432 586BAD88101FF47601FE5D8931D2B56A614E485E6EC669A0A05372BA1A036C9F
1433 0E383F9DC1BFB82294FA36DDE1FA352E283E0C441FBB0BCDCD5BC6A4930C824E
1434 0B60B75BCFA70F567A84A1B659961422E964974F0C1CDE5C004DEA5EACE4C7E3
1435 97DEBEE4DD748B51C3E830E97DAF18AD40C3D19DC462D50687C1BACA5A872357
1436 3758E18029CDDE8536227C0AE793737689DBB648D8096635E1DC9D3E373987DF
1437 7C527EF7FDAD63C1275367FD7708DB08EBC63EE33A6B106662D2A1E70CC0D742
1438 E27F7EF7CCEC878AE88D3C93FEA849F76EE1B7D7A1BC0E9FEDA6EEC24814C6F5
1439 837348B57F29C403BAB829EB5E9073B110F5726BC8311F7EFF26070530175573
1440 EEF55CA6AFCB75EC57F83C6AC1146C75E242C0F2B66F15424AE82485DEC16837
1441 3E4EE25A3FED5226EB6D71BBF150A4065EDEB99DBA4D1949654DC189FF3A128A
1442 095904960D1F934BF0CD7C42501A398C3F390CFD88218941A1DAA3390913F05A
1443 F6E0D15C9A2C5B6154FF363077EED4D849B713616D99FCEE7CF2DCEDC79E2F9D
1444 F78262E4D8003F311E35530AB676FFAA26B297BA77AD097D14FADFFB3C2664BD
1445 8A75456FD2579F9D5DA75D136C09FC1EBFFBEC5E7A4728471CD375DC7ECAE836
1446 FABDE55E1497EBCB242BCB5AA57FF974FA850EC026638E02DD976AD16317E2A9
1447 A4B88CE70B8D32A61A3A1B0B66F7104BE03D0674827F1A100B0E9FC5DB90EA83
1448 0CD06B89E113C513CB237B6B7A69F9E2F66750F6F5718F4BE2FA6A149F49CD98
1449 C57885B5C5BA6B0BDF814E25AB82677366E2CF4A324E08559E3B9A939764EB0F
1450 915022E554E7FDD9C6F28BF0D5AEA41F34682D60584A32F1FBC6DCD7AE30DE56
1451 616F20F2834BE6CCC2A843457857023D3B881FBD8F17F62C146DC0C2E5578891
1452 0A26CDF4DBBD75E81928C85DDD5BCC3E5A8C6B709A30837361A9FA3A22530BA7
1453 FD7545FA2C92C1CD064BFAAA62AD3DFE61115246BDCBC9463768C3610C060199
1454 18C4A8F28F430D41178ADB1F565651E36D709C55BB4C21687F0F7344E625D3BF
1455 DE0D4773AD878A547EB106260299A197C70CC02189D5506BD3EB60A03B00AF62
1456 ABC6B52402F5CC2EBF7DBDF05DD18648B2C119DDCAEA1E153975D3E9ABCB9739
1457 C233942D94F242AFCAA131B87788E157DB1D661B999714FBC3D837A4ECF8FBAA
1458 6861D792268525D9E024D60356FEB3963CA0340343F1020FBFC6769288E5A0D0
1459 BB7A2980FD1ABE03C2736E1DE45319E5EF7F15B14D3683C4954DBFD3791EC6EA
1460 683F6E7F29A40C7BCDF3BFE635BA1B79D9609FC0B86770C3AD26FBDF910DFD27
1461 19AC363D3981ECFFC2BA5BA6A2385CFCA35F8BBB7440A3286C9F99483240B912
1462 EC4E21DD5382EDA5EA532935C4BD07D724EBF05BB3F7CA3C907A556164305819
1463 45CA66AD1F75B61BCF403E7157A149A51B02C91ABE2963C0C7DE082BC6CDE3A4
1464 5303234351017092D05CAF5AA4110F72427FB75D212FC25A1299264EE7DFD8DE
1465 38652EA8A3740A5B0F732FAC227FBC55FA4D8BE4FE1D220B03D510CAA7D88EA0
1466 FDAAC0A35E235D02C713105E53AC6BB1CEA25092191956C63CA38ADDFA325B0F
1467 1B70C3E38EC118AFE1C2306F76A3452FBC9895D79EF7E6BED103FB483C261B6E
1468 C4A2250D6D79E02DB10B2F748A847B1BDDF0587938D65F7DC3A581906401EF74
1469 BCFEBE9D2869E3E63739CEED58393F7AF65AFF90A13B8444AC13DDC9E9B94577
1470 A20FDC0927148FDA84A4630CCDC7F96C526485834F4F84D7C354FCAEF493C1FB
1471 18CC2D6033B888F1C8780DE7F4F7AB3A40540A3EE14C6AA1D208F2F8D395AFBC
1472 B2262BBD922E48F0B84080EFE19D6C08F9D1242C14656E4450FDE80EBF989818
1473 A0B4F3E63F9C45EF5E40E96DB0FD9E0A4F05AF7E5B827DD6920F3793E6AFCFDA
1474 790EEE5C04F29F9F1150BEED9059D6F2A51A269347FF6377B1A347FB6B885570
1475 A5C9C5651E5B62529B75903D22A5126E2A622E599BE6BEE93EB65FDE8EA473BF
1476 51843094A24B792625DE9B1B1D79BB485DF3CE6465E39597766F5D2127EDFD53
1477 1035B2DA7AAAFC1DA3FC1C46C1BCF0D3184D4F93AB376A8150A408AB43E7AE87
1478 81A74C1D68F6D052145DD68DA9AC1A648A7F3C36519D77681853133BBD6E6133
1479 094AD3B63CC9DD52E4E069FADCAD5992617C31F71101D2FBCDC2F4E3DA8F5998
1480 16199335304FB6DB2BD1B07D17B534306A778813E598220702F8E3140C58B9A0
1481 F7909EC670893CF4BB86708C0C7E9160E6C9BCBF156ABEC689E308DF185696DF
1482 197138F6DFBE616ABB2713E342DC6913D87AF26813D7DA47B27E49726D217547
1483 67460919E92E6B76777A9106B78EDC1554942C69E1CDA0B87CD4FC0618965777
1484 A881661916FE5B62CC0C353C157669A973A567123335AC98132AADF1019570D5
1485 314F070350118B65E8AB6115120575EA3C12A746AFAB764513CB38ABF36D7231
1486 2BACB720CD90545E8E48FF577299F40A27A5E553E2006ADF7454A58C235C26DB
1487 0A6E8E53175B817EA2D70F7FF606423513B52957FDF90CCE3C71984FCBCE36E4
1488 36264D79EC686C4BF6B417D21EF9F7097A203A03DAE241A1CA69193F9049BEBE
1489 24BE0A613AC01A1F9A6BC89CC698619F5FA6520C0A20A3D7029912D86D4FD58D
1490 5C02160E6D5C650133210386E90AFEBB0CAD95DFCC007C6AA89EE9E54F8A61D3
1491 C9D2AF01E79C7222E7CE974C0DAC9FE000662B4960CB9A5594DEAE12ECCB7152
1492 761217E521DDEACFE76F1C408528135F6BBA233348620AE0DFC9D79A80FC4ADA
1493 B4AD22C173E15EA3B92C2732A8D86F9038819B06BA3E944914D9CBAAB30B013E
1494 3EF986F64A30B9287DEDBCE50FC5AED1588F7AB3C20360CB56DF9098CEECD525
1495 2DA3B520E041C00C4A7BEF4D8907BF838C42F5B6D30F261E529F14F54CC74E1F
1496 1183FA2BBD2DD6117DA54803C222C302DBCF13D6477332DC13B64686BBF69ED8
1497 B946CCAC7EC19653F3D61719BC51541D1CF7048B576D63629F44E1035C2CDAC6
1498 6C9675C05F76D4481E69BB87F8C32CAB5A6449C61719049F54C3FF2BA4048533
1499 CDA41F2A6CF697BAD248AC7F6E585AC250E15326041AF3C9B500398E70499062
1500 89D7C7044F1CDB2620D14000B5DB0F17E71CDF466EC214BC0AEBBB8A52CD54A7
1501 D770867021164292861D449081B528B22467F0E467AA56FD1E07774556D05F4C
1502 5B1780F06ECA926BD8EDD3A545B1291E9E121778B27624565534C7E30FD5272F
1503 9ED79F07A55834006B8860A1EEA46CA9C3D19E4EDED31DB55EBE07E2596DC829
1504 72345BE3C1F5F73A824058AAA1DDE33E54AA8221BF3326341322B066F44CCCE3
1505 2031DD14C70DEBE47069D1463D85470E9B4177F5D94149A2698AAAF997A8C807
1506 E88FA74ACBEF9ACA321734DFD26D91F20DB867849BAF0AE612F8980DAF06B99C
1507 04F2CA47F10750BF197FF43511DB142FB93E5F94FF87934723B486309E24B060
1508 2E585764CFCBBF6739109FBCF4C0387998D99E59CFD61633E07371DF4DB2F9B9
1509 23420F459D49BC26F1176383BFA8C931D5822ADDD97880E1E52835472D79103F
1510 347F7CA3FD972592282F7136695BE62D5D7D2C9BBAEEFC97EEA91813658502E3
1511 092EEAEA899045B8AADC67112C12685E4417F1CE5305C161F4A1BE7CAD9D6AD0
1512 492552A2BD68AD3970B2B25CAA06085E6FA01068DD0037D65279C8CF9AB95656
1513 AEBA7FDA94B5B48A7D74D2A2E493A15AF3485256150A8DFBA054CC8CF4370305
1514 7CAD31587343FB8A1F715DD92A006C2125A7754AC9D678AA4A44DEE719BC4586
1515 14D0CEE9F48F3D1B00CE016BA19C2B87AC17262B1659CE6AB6CC1A33EA0BD92B
1516 88C6C8F3095CFEEB870DE188DCB3BBEAB85F52F1F60686BE7FC1F78FC884EA06
1517 45EF6C3F18C8F729DC45F92F2ECA1487DA2424576342761C2C3F08B97BF775C9
1518 FF815B3DD9A88B3EE35B02930EF2F87E6672D5A15F33CCF7A777B5B14FE1DD42
1519 7EACF691FF96EC37397835DC0DBF52D3898B84CDD24BD5BE77E88651F36783FD
1520 32DD3F26AFB538A1482E3E85B05BE3A3AA312564F68BE7247EB49E18BE522E3A
1521 8DEDCAC760A5CDA47D5E2C2F90015BA780BAD6012C11F0B71A446EEAD99126DE
1522 834CFAC425331079C9CFCDDAC53A2F13DF34AA24237132E7FEB4B143B79EB665
1523 8CD4C6D70DC848E0B5A7AADC91147FE9264D8F28E48D4D9FB6AAF4E44846F12C
1524 932BC2D5825C2B7BAF494BF85FD571DADEA2958D45253EF1D325713FF936C1DF
1525 1F7319BD567F3C6B4D8065BB54129475185C6E27D400B091FBF5956C275FCA86
1526 D4DD6E91C897BD5205FBA6C0B5D2519FC7EED90C1DE504A99686F108E5725F51
1527 1B85255AF761F078E72DA5D390299E0F88FA3A89A77ACBD858EB7AA43AE2F703
1528 EB9D209ADABAFBED0F644E9F7494CA37A9090887E97F21F72F73ED604C799694
1529 9A3CBBCABBA2A4E71CC181EBD44F52C069A4603CC1933221A0781B57D49413AA
1530 D394BA6B35A557A7387E0C2F6DA6F23E17A5D9BF63A04E1A1195534B765D0892
1531 D1008AB3F59E19F3696C9CF6DE12343C150EF2FCA490B0C1F1B1FFE6A568B15C
1532 DEEF178F5BD4715473F3C616B6A0E12F1BF5CFA033EE2BE9B50DFDC65F4B61D8
1533 829F1C58F6E65687959F705DCD39439AC83E7B88543E5B4E89555D3FCD0CDD8A
1534 0722B565BE865FAE0904645BB9F5AF9F12A56F26BE6707E32CBA124979992B84
1535 3060AD1E8AE2016BFEDD1500525AE05E39A579D85C9B57CC979479E656D28F1C
1536 5BAD062228E96007887D1B65547E70EA4A6BDCAD09DD7AF41B1AB20382A4328B
1537 51F25668CCA650EA79ED486AD403F491EBA900A2E3781C9536B86C6093BD7200
1538 D414EB796E834B90F136983492C44DCFEEC0C343307DE4D321A8A27034A22418
1539 E53BB8B5B0
1540 0000000000000000000000000000000000000000000000000000000000000000
1541 0000000000000000000000000000000000000000000000000000000000000000
1542 0000000000000000000000000000000000000000000000000000000000000000
1543 0000000000000000000000000000000000000000000000000000000000000000
1544 0000000000000000000000000000000000000000000000000000000000000000
1545 0000000000000000000000000000000000000000000000000000000000000000
1546 0000000000000000000000000000000000000000000000000000000000000000
1547 0000000000000000000000000000000000000000000000000000000000000000
1548 cleartomark
1549 %%EndFont 
1550 %%BeginFont: CMB10
1551 %!PS-AdobeFont-1.1: CMB10 1.0
1552 %%CreationDate: 1991 Aug 20 16:34:36
1553 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1554 11 dict begin
1555 /FontInfo 7 dict dup begin
1556 /version (1.0) readonly def
1557 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1558 /FullName (CMB10) readonly def
1559 /FamilyName (Computer Modern) readonly def
1560 /Weight (Bold) readonly def
1561 /ItalicAngle 0 def
1562 /isFixedPitch false def
1563 end readonly def
1564 /FontName /CMB10 def
1565 /PaintType 0 def
1566 /FontType 1 def
1567 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1568 /Encoding 256 array
1569 0 1 255 {1 index exch /.notdef put} for
1570 dup 0 /.notdef put
1571 readonly def
1572 /FontBBox{-62 -250 1011 750}readonly def
1573 /UniqueID 5000761 def
1574 currentdict end
1575 currentfile eexec
1576 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
1577 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
1578 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
1579 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
1580 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
1581 2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
1582 7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
1583 77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
1584 2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542
1585 A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A
1586 99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D
1587 2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563
1588 C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A
1589 00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56
1590 B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F
1591 BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90
1592 8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362
1593 FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC
1594 31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831
1595 2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41
1596 9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB92164865738B015A331
1597 EA9EFDD478132047DAC28DD4FFE419F94CF5FCDE732E53FD332ADBED32F76B2E
1598 69531BCE0D461BA3F41A528DB0CCEFF9663FEB3EC9CE0F760604F835699D7C08
1599 CADBF7AA3DCCE9E813D66BC62C6E452FA02FE7E5F4FAAA527B4567AA4FACE790
1600 87910AC2498C0999866614C90AF7DFD65A59B9183FD8AC5DB9AA81E8E90FAEAD
1601 ABBEB710530180BDE3B526CF731FE0BA836845E636150C063F179D5C9C22C678
1602 D350A788313C3DC98B15A0D1570FCA8DFA8DDC563664EAA8200AAB997A007C1E
1603 A452C7BD5A86D30A6FD26502CCC5D548BE9A5189114779DE2DB215B6826D1E7F
1604 A4E0FCAC3268B68C76AAF19F8F8E8EF5FFA1BE3DA4B04BF408CB3633B8F16734
1605 7AD5563DC42996ACD257393B0DBE15C4BB975C7709BC8DEE7D36AD6A07C9E5EB
1606 33E4CDD10A2FD33A229AB53AB3C1DEA39D3518F9D3EF8BC8B4EE417C9CBE773D
1607 7AFB1564DD0FA50D64C1AE83C8A170527E1E20D725D939C05E46D2C9C5C4B273
1608 ECF59BDBA975E7CB39A2BB0FDEEF0E71E79B30DFE2931BF72A6C510D5E3B1907
1609 FFDCD955539B3D3ECDD44D62978EA82F3349B7BCAA287CA2B1C27158AF6C87DE
1610 A8BE037B0D15365B025765208FB8E5EF29CA76502CBDEB4B7DFE223450A70707
1611 87155F664179A66B8CAE39105EA8BC2D38E0976C4613BDBDB409AD8028202EFA
1612 AD7D416E8C95D2A82336979AFA6D0FC6F8561D7E02C1EE95C498C99D7C6312E1
1613 3A7CF6EEA66557EF708C10E43E44463D1A4520228F9099D522FC6F3415943646
1614 ACC30586CBA563E1B2F90E8858777CF7F057A8AED9CEBFA5BBFC4A9A6A7C8345
1615 BA585957C6EF95317498FC03C71F0172473523EDE40F92C9E0BB2E798D2BBA7C
1616 998FE4DE4C14719F3A10C753CBC9ED1BFFED31703610AF754A18C1E0D6EAF14B
1617 E91494FDA6B1A0C22B5D7E0DDDB03988392F281665DD6C5701DDD58F97B7F48A
1618 212FF74BADCDE596F236F4B9487B7299188D5AB7BA1E63ADB0B7DCA2CB5A6A6F
1619 0B5BD8B3A0E3828BA85253B97C1C85E3F5290A596EAC0F7411692D3B1A596A44
1620 057E5E251C5ECB040123D6B60F49B17E67EFDC7382967EF46BF0A206CBE6C701
1621 F4E6571FD1CA1C4EFCD8CDFA083959421DD28C18B285181F6FCA5DEDFBB3E899
1622 EA85E7F88FC0E606206A64259B3824B7D8495C5533829DA2FBF4A44B691EB0C7
1623 B4BAFF51E92CEA79D64937C7F8CC3BBBCF3CB656E77F50F1FB5C2A511CAF2ED8
1624 3A5A5773128C23CE78182EBF28B05AAD8478C85E35ABD986CC8AC9808EC39FBC
1625 9DBE366E55167738FA0E0367C5CBE0F1F2EC971D4F736A2476A0E6B846FABBF2
1626 3EF169C2DB241FD39CF497760138F34D74542594012098620C7E3C4BBFD5EDF3
1627 BFA511A1AC7815D9C38D5D21D540F24014089AEB493F76494D5EF8E245EB616D
1628 408D14C10DA42C7AA056B372D86E8FBE9B043FB71BD198C9F535E2C3528CED9A
1629 3EE9BA9A27B3F0C13B47D9688C62DEE6A6DF034C1FE41F20BA60B7C1BB2EFEAC
1630 2FB3D9A5F87024E6DE94F05A4E339B30421A9861B28C01A8F9160D543652F856
1631 0B977835E9CB8421B35B86ECE49BEB72EDA36643654C2012031229A06F3A7D83
1632 370C4AF6A376791BA4CE290857813C024156DD7CC9162A5A360C4DAE33C17202
1633 DBCA7C764120CB8859B4CB19DF4B98933C960DFE0AA392045133820A8CD67A01
1634 C1DEE09668738FB10079B7425AAF06ECB0FAAA62E0C99DD334F3A119A6934763
1635 4EAFEBC8537EC32954B6502C4C6C59728EA171E2A8A0B2C6825E470731C70DFF
1636 DCEFE88DA53870A9BBE738073D9EDA0B399BEF330C3A094169904E5E3189EF95
1637 E89A56141CB2B8DADDCC718E1D2251F5E727D942938901EFFF40DCC559573F66
1638 65944B719B8FE02E6578BA855D9F051B514DF85D36476FE16A7260B76A9D9A2B
1639 DE8DC50B31FAE502AE349E9FD82F212EA6ED1257F37B730E09D2908F3B1873BA
1640 30C1B6F5F7B2DD8EE4EA7338DC54BCA3A7FEA90732EB21E9A8054D7F9710C901
1641 36531C564E264A77FA7CA6B44BC1F56476F7C3262DDBBAE6CEBE6033DF81B777
1642 18D20A1FBC0F3FFA526E81DC3E5A53220C39BCAD31A6909316C274F7F4F3DB41
1643 0E3E206A0D28BBEBE557959056A39C34F0E5052BEFDBEAF7F159FBA3FA9AA46B
1644 4D445BAE3BF540960C68E421418BDE7CFCFA3EDC6EE42533DCF975A8BE4FCCD6
1645 10E7FAD54BCB238FD92A4A3B805E4EE7BC7A0EE9DDDE60532A9D26A4CCAA0441
1646 DE1E6577B72E06780EF43625DF2BACBE7BABE147E172B83FC22C01A922D88220
1647 6A385F039DE1F29CB62AE1618167E8BD1710E9B332DCD4549843492361410DA6
1648 2928550565AD6B006E8D0E87F2C0EA10B6449C623A6D69EFA5BEE8301036046A
1649 9809BE20EA9739D394B1B73DE5B212F884F7626A21D58731A261F58999B89F3E
1650 AA7AF19C6BC8B17201D7F1553CC189F57FD7BC233AC6E325CDA6956D957C0ADE
1651 AF1024DBFCAB149F7F6402250C893DF22AFBC58C24525611956780A92F11DC3D
1652 7628AB8D80A25E81DD929EE249A9CAC63EBA4AE4C949D8F606EC53483FF7EE5B
1653 6CB18E538BBEE5B1C53FA8E854BE262D3274D2F38A48EC5729B8D009EF86FEFC
1654 B829D142EDFD546A9247E5D62373A0A81FD11C308E95494528BB446E4561927B
1655 7FC07FB1DEE31C806B1D927F4FED5AB415E961C8248EDE258A1213A3AE8623E8
1656 8500499656C622F587C2651C0844B8991AFF3A67FAD72E0490D7F7D43F0F4639
1657 ECF8E9EFFB250375365A151D968278E8F983E88DA92C7405460C33EC07D7D155
1658 4984F4501C673A76F85A96C303C105D666E85FB92C0938763C85962DC8B44E11
1659 BD65AEF364B89CC6966D2AA49B73DDF30E0A653D87B487CC8DB4831EDAB89653
1660 8A8319A7DABC20923F221814FF50DA3B6A685AFE9E21671DEAA09B3848BBE605
1661 6A03B8B745131A54933723F07D1C6D7943FDF17CDC4BB00F299AD413A74AD934
1662 FC726EB8E604B676E49AFA21CD5DC07AB62DAE3B29A35FC48EC979CA373205C7
1663 4B66816A2EA64686B7C66290B00F5EBA0DAA97DFFB5009667F0E14254171F630
1664 775542BE8B30996DA2738349D5A7B9FCC7B630AE8AC2BB7CC1735D2EA32DB7BC
1665 7686453757AB3C5A83727764AFB01E19E26B1BBF86CA91155BA189F6D796FBDA
1666 2A041D5EBC49BCD5877F1E1B3C3004B78ABC505A370982183D458ADA4EF5C9AC
1667 EE364B0C44200A6BB24768352F82E0B407512E3499A970924C2A9BBF6E80105D
1668 1B231F251BEBEB7DC8CF54838CB08D3AAE594F4C0A0EB0E5705B2180560836C2
1669 2D141BF9DEF463EBC20882E9208F32F442321A428D7CBAE11FA2C8CB27630660
1670 9B3052DBBBBE9CBF5729C7384D55A9083830A2E1112E96F5C3446C737E0EA1D9
1671 8360D6BCDDFA5DB99C07BC67A9F5FF7A348507CA1CD3B40C56212CBB269E889D
1672 08ED8323965E0DA5D947F35F7597DB0E278604855025B5D02FF9B0AB0CA4346D
1673 0D2786A94282763DC5ED852A83D6928DDD6C0E44AFDDD6256FC8D668912ECA81
1674 BB5812F83AE9621ADF51B98C439DC9BEE50E81437BABADB7EC87CFBACA76992B
1675 58A5CB6943533FC130988E00B03E97E081102946BE97FE2A715321B71E7E77F2
1676 F009FE3A8285CB50E14910F6DA467B60F4886FE805CE7AC7F3034420D8792028
1677 B4599A7184BF76F215DF6207BF8C30C401EC3EC2B591086FA3CC6B7F5ABC9B4D
1678 9486423A2E3CDF2FA6371A48FE612F0E83CBAE0FAFCFC8F664A613E2CAE78812
1679 15F982805D4350F65DD899E5D1029A9AB86F6B32CA5BDE6A9B15456C73580898
1680 7E4E6FF303ACBC488A7EAF4DEED4721B1D38746C944B8DB5056DD1965C7534D7
1681 E0503EF8495E2F5E9DBD84A892ADA940C0C449AB41557B3588A4FEAA720299F2
1682 7987ABF7C143B34BF20141163BDBE4F24EE49F80D7B2271671E36D8201B19558
1683 EC1481BA5537E6509AF678643CF6F4EA91332D251123D79FDCCFA51697FBE8F4
1684 D06E0072807B53294E067B868086BA5E06B8F7AD5BB1AF5946B4CED604D9CFA6
1685 908B25E65002153DE15643205B366E0C5C868940177FC8CB2EC0A5B271D0E4E7
1686 6686EB2073ECEF1C3ACF360EA9A1A35EA9E87BD2CB519CB659437D810924372A
1687 49311F8413662FC8F8BBB08B2826143E0D92D56D26B303CE849B623C96BB85EC
1688 B55F505067223F7F3501A91173BC4DFF2BB9D5407EF59DF7DDD0DE16FE0652F2
1689 20180263DAE8DD22129438AB8B903565FA9BEC8BA6C4586303E90294E38AF047
1690 69D63882BCD252881C475BC16C30A5590D6AF57A8D2E12CF51B963ABA780EB9F
1691 37C626444E967F484B4283860BE82BBB8DF48CEF8C128D3445BEB910F675522F
1692 034984E3CE098D1D84AF7257992D36A7DAE61A400BB5E4DC1B71A93924B2B072
1693 F1372929FE5F2CBE2DA8A39BE15A11D81B4FF531BE41E3896A733FCD61ED879B
1694 9C8B5EE50B4A85B6F540714C31D84F9017ECB98DC6E37E9E68C225306D78741F
1695 25FC3A7D325AAE2A8F29368C2A52287428AA529D911F04976E4683EA2F81A733
1696 B18BD9DDAEB93C67FB7FD6070E96894A715C8350A2F57CF34EA95751E206617F
1697 A7E412809D79306AD505CF7C920F8CD3A37FFDD361C4959A6A38940697E25A44
1698 C4A946006DA92B83580EF1BC9FDFDDD59A25C89A3B13755AFD2E2A1F01CC9DDE
1699 2CC048DF9C0A24ED75BFC1DFC8E54F822CC4F14495B4A556C015F5562AB3880C
1700 E7BC690D32767DEAC2E14A39054946183BBBFCDA466314726A2D6C727E93E38A
1701 11F7088F12835747BB177439EF9D53DF9C0C761E2D5A11768A05C1D0EB0A74EE
1702 02F7099749EE053F4DDD8A761ABC415023A9767DA060A61B67FF3CFCD4709070
1703 D9E52CB269AD6C009B59174355B3D74CBC12F1167A4E6A746769E7C6523BAB25
1704 8E85BD8048CF453F0D54512A36975112EEEC26C778E8741DB26C95E71DACF902
1705 49CA243B4A191D3A08E1A81D8CFECA69A050DC521C60F09FAC715DA6B69399CD
1706 99A962598BE669241162BE9BE781F4C1F33A2FB5BAD9D79B653EAAF7530AC83B
1707 058B23D3CDD0ED0820944FE76B6EC699215B5C608BF7A6A1072C6893AAE57595
1708 A6850CCAD04AD68D1331B902B7F04970B76500F936B75F9A5DD74E28CD79F4C7
1709 487514C0119470275D93179A0C84C6D85406D7001631B8421950F301BA5E3B2D
1710 98D76BE303F5E74C881F586664FEE99C9EDE0ECDAC7F8EB16550D555505CD5B7
1711 D30D34A9C850C07117D79B06D20FC9963F7E1729DF678AF24029A6279694E486
1712 0412CC96DEC2E416DB3FFBF1C588AA2F200A280E18C563AF875A880898544167
1713 06FB17C16EFD39E1652B5CE551D5D031616558A55F4D20F192315B6F7A363036
1714 0ADA8E78764991753667A9C352E86727D92D729ADB4C26243ED00A640F003827
1715 6FB645E3E4CF7C48C23999739EAD5712E51F17AC204E8CFABE67D3189DEEBE90
1716 88F22ECCC5FF7C4ACE85CC0EF091E4A58259CDACE9A36B1F639F8BF468732167
1717 EBA2534996BBF3AFC39BC4FDCDD8615B12C5CA8E5109659808EDF4D244DAF575
1718 946FC48650B56447D3750165985D112223741D05326C190833FFB0A5A4DCB35B
1719 5E73392BD61E1D47EF377A0BD53CBD7F41423DA705185E7D0C6EA01451DD2505
1720 A85B4336953D88CDFB702B862591029097FED232232B034A5686D784CD3B7886
1721 AA70418DB5AE34097B82462AC8FF28D1F467DFFEEC40A94D1F5A5CB1A1CAC170
1722 BB2617D0433EC70AC2EA9447C47F6C10A9F43428D9E24E51149D628DA26B91C4
1723 6C36A56DC254C0582516556EFA698275D74CEC181B0FD9051EB48E6F86B295DB
1724 690F2FD9A147EFA74DBBD3E7193BF0FFF91A1CFFF271A0F8C0A8707347F935A0
1725 DCBE4813C338CED6B97682C89E34949BB43C7901EE7945F9480DC40E613BE047
1726 EF336749BD384C9573094ACCF0F86F76E743B46A675EB5B37F699B5780830F0D
1727 BA3E6D3587387E88A39750B9BD0DA7A1F1610DC2D97853A71A0EC0B1EC240AF1
1728 BB3F1603523A0F5EAB30E8E017ACE937560A64F77601CD654F90B88FF47E49BB
1729 B3944AF5434AC38A8EDBE0F1DCA4AC0B93E453BB7C84AF51CC0AFA5109B6CEC1
1730 E12C8498F2586AF307D628F4D9B62D7A68991C0E5060EFEDE2596A90C81202B1
1731 70CA143D85A5ABBD7A5C3C1763212E46158323BFA103FFAC284DB8B6E7BFACDA
1732 0F45E931CB8639820E9354854CEA0F1C7D4C919E2EF66B6F6C854FF3B04D5A79
1733 A0BBEEC60A533885D5CA5B39D27C5FC7150FD6EC48B5
1734 0000000000000000000000000000000000000000000000000000000000000000
1735 0000000000000000000000000000000000000000000000000000000000000000
1736 0000000000000000000000000000000000000000000000000000000000000000
1737 0000000000000000000000000000000000000000000000000000000000000000
1738 0000000000000000000000000000000000000000000000000000000000000000
1739 0000000000000000000000000000000000000000000000000000000000000000
1740 0000000000000000000000000000000000000000000000000000000000000000
1741 0000000000000000000000000000000000000000000000000000000000000000
1742 cleartomark
1743 %%EndFont 
1744 %%BeginFont: CMTI10
1745 %!PS-AdobeFont-1.1: CMTI10 1.00B
1746 %%CreationDate: 1992 Feb 19 19:56:16
1747 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1748 11 dict begin
1749 /FontInfo 7 dict dup begin
1750 /version (1.00B) readonly def
1751 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1752 /FullName (CMTI10) readonly def
1753 /FamilyName (Computer Modern) readonly def
1754 /Weight (Medium) readonly def
1755 /ItalicAngle -14.04 def
1756 /isFixedPitch false def
1757 end readonly def
1758 /FontName /CMTI10 def
1759 /PaintType 0 def
1760 /FontType 1 def
1761 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1762 /Encoding 256 array
1763 0 1 255 {1 index exch /.notdef put} for
1764 dup 0 /.notdef put
1765 readonly def
1766 /FontBBox{-163 -250 1146 969}readonly def
1767 /UniqueID 5000828 def
1768 currentdict end
1769 currentfile eexec
1770 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
1771 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
1772 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
1773 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
1774 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
1775 D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
1776 9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
1777 21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
1778 06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
1779 55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
1780 B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
1781 0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
1782 1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
1783 7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
1784 7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
1785 356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
1786 19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
1787 C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
1788 244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
1789 AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
1790 5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC
1791 D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D
1792 993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363
1793 2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B
1794 E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3
1795 309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513
1796 F42EDDCF39AE522A1DC2DC523F046EEC4CCAE25792B702C288732F5B13B5CCE7
1797 E8B6A1A1DB86B1EA38883E481BEAB54023EDD9BB94E7780DEEA577ADAA169E66
1798 AB7D8607B409619E79F242CF52E618AC0DAE43317C507CDB27EA8A1472D4E8D9
1799 17E62C98DFB049C78AD15560CE44A39581BD6B555165091C5D41071212A9D2E3
1800 05965AA02B8A67AEB04D915DADC1B84A531A1D60569ECC2EEFB7B6B0263B8B5C
1801 E6EE63CED9FA74FC7C03610F6394D64BAE1BF3B50FB613A39C300CA5F4F16CAE
1802 F9B9F4DACFC69B69AF30E4FE9E41A6DB0FC987A13A3AF3F99127E5A44E7FE781
1803 399BF303B773BC0096427B18DFD0DEACAE196EB3927A7EEAE0F6DE8434EF0873
1804 20F134579D9E18D1E0A10DA116F544FD2B6C6917FD8B2BA682D2B27DA99555ED
1805 7C47B44193C623C871703226039460A62C80D6FF14121F46F03F0062E0E83ECD
1806 C37CBF62603F7C3034C2906582595B15DAE106F8F917E5DCC4EBE35AB8E8F6FB
1807 058F8213DAED9D4F5CC703BCF5FB7AB85F2983B53C93332B93B6D178616279D2
1808 A2F2D2A506AA69BE1B2FAD11CA6F748468E8367E781B64BF3EC8C344DB3980A6
1809 1176145BAB06A4FD2B0D9FEB604C487F2F54BB7D3BFA420A62317ACE10261B45
1810 8247B190A9C15D808BD7C32842478AD3A623435E78D96736A11746C980918C6F
1811 00B9454F2F7BBDAEF7BFFF7393878941155DB49CDFF164373AB8FC8D617DEDFC
1812 6FAF28B47FA8739E56ECBEE92FF25184A187EA58A801F67A2F561CB7A658FBFA
1813 3CC3B25D4BB09C89CFAE6B612B73C37FAB43FBAB14E6C9FA2994DB688FC69061
1814 1D0B09138E01BBF2A316208696FA20049431ED0838EF43AA9C1FE68FB00AD349
1815 0C1B8AE8FD7D0A0711D7FAC4D8D7E5D94054D6489B73656D1F3C50354BAA944F
1816 02081408F7F59DE8DF447FA43B4BB5D946EC844034663F9AB9E6FEDFECEC6871
1817 C7FACA7A66416FE3F376D79D0D392B7155CD0FF7066B4EA3AB0A5DB93BCD8EDD
1818 6B63C9593800A1365FECA821394E8C9C4FC6BD3360B3FA620315CAD49D0F6845
1819 20772989B1292B26AF3EEE076E811CD9EAB449EEFBCFE8BF71E5FF3424D56AAA
1820 320D7A62442F07A828DC45309CAF6DCCAED10C690BCFBB810E769CF972CD87F7
1821 1EBC42B03139F9BF154CCD166495ED72FBD34BA0CDE7A401EE81D0F90D5175AB
1822 48702C886AF58E147A1C55F8F1805EE32D424B8C6CA0297EA7A82311EB212549
1823 A057737BFC204113E4E34D8A0897B2FC950FBE94E8FB02CECBEA574AF099F846
1824 B46BDBC48EE93DB7B6C4ADE4A0B5F854DBD07608C87CC01BA034B104397FA103
1825 AED6A9514637DCD6E7BE62DD51196420C585ED56B18179922D0674CFD9B688AD
1826 F9CBC7A4B3EB9D267A98AD16A4FDF5A361FE289B301706B6DB6835DF656B63D5
1827 21F5ABB777F67C868E60DD2F957F5844889B92850DA0C88C58D200E823889AE4
1828 C2EA3D5B7DCC228D50BD690145B9F01E37C6C37534487FF01EB85B8049067D1E
1829 6FD0299C3DFDD725EC025B1C6A535D369565A30F3C727CEE2C934CE7C8B9DC44
1830 14A384B663131B7E30D54C08A921D70A72AA3232BB39A3F3693E1C0DEC437F9E
1831 07E750DBCC7D3F19CAADE86EDB112077B279EEC3341DA65AEB1E03D2E6D182E8
1832 63A1120656174531E54ADD387A3737B042038479C882F4E9087D8DE665A888D3
1833 6C79D18041D6D209B359F901CBD92DAEA93B779112A28197CD160666801C1672
1834 CC68758B42BEEA06F3485338AC542E6EC99C9B058CEECF657280446CB3113920
1835 DCC212B50235165B3AA81FB94C69F29395C67C9C040337AE7596CB2418CAED88
1836 2236A93039813C395C45BAD2D48581FE71BA275C538CCAC1A9D9DCBBD6930975
1837 862EBF90F329210B5870E12CC7F3E6ADD6FAC5FDA7B473E2DEE3285B9FC25323
1838 CCD65B685310BE2625C35DB63DF808C5FB2BB6E6F4D9193C7419935238DE99F3
1839 8A656827DFD9B682B84F6C8ADF84CF7164D659D9DA234C77FFC76BDED480C075
1840 2313C053F8F4A6C6F86771BB0D283ABCC4B97341F277EAED366B83F122A764D8
1841 17943E570CF242E5AE484E1C38B45E06FDDC1CB06D15B5F40434BB69DA790812
1842 C44C029D7938F29DB72DA1272E70CF7582CDB250EBB19571E9A878C412BBAC12
1843 69458652D4BA862339E043D4C6D63EFD73BE4584095C97D0813296482BBD82D9
1844 E5D1DFB576B028AF98DC08AF752FFD00EA8775D6C29F7357D64D828561513295
1845 F7107935EDA6C077BF2CB06A3E86624BE0EA555F2F27AF8E63D192CAA3276E43
1846 0D855F40DED557FFCA2F8A6EEFBF49A65C19E574A4F776516E22FAD16C0267D2
1847 41F7977C8269897E3D1F624A77DBEE94899D7A04DF9114FBC967DC38CD6862C7
1848 02888B3380811890EC31E5830ABD8DE0E83635C368287A8288D160F73D892793
1849 4423FA81F0BD0AD428C2E986FE2FE371E99661F927A77077D46783B3F8A0DEC5
1850 4D88DA7F34E3FBD88612C3B16A549B8DA5EE284E27DE1B34D3324F1DD67C5D20
1851 2D419DE9EDAE9BA660AE95D5695A9595571F8ED11888B40CDA055C88C5621105
1852 644D778A9631F1108C86DF222F00E7884DD8A6DCC96E3B7D2D9BE9F7A3D697D1
1853 37495867CB165B1E57AB6283CB5367D9F6956FBD435370C36A8E6F1C60D4A450
1854 A6E2937A59742A99F3FCDF2D8F21362F16A26695E98F564EF20BD20AA31C259F
1855 31BA13D125CB6E89FD3B85FCFDF085C3F61898DEF03314108B3B5364042DB129
1856 B5BBB96349D0CC703E3824C13415335080DD33A5E66E98B62629BAC8467ADA17
1857 72A822EBA5D83790B0730EE10741FDFB2A594F1678D1116AC6DC1E671B6B9601
1858 9731B7271BA4926D0275537D3E9AAA8E4BAE96D6A9461EBD55A5084D0FB41773
1859 4559B9C607B11604E0FAD35D5012542EF68E60594F59164F38BC5FBDED88E8F0
1860 359D9C9F5FAAB198CC054BBBFFC3EBC63276F08435F26F922991C0B6291C6A19
1861 4C0DB6CFA84507ED99D930216DDE32ACF980FCB9BBEEA002750EF5A1B47F9AAF
1862 572A533CDFE7058C5B26F6441EF6296A546381CE4738D5B822500F3D1C02DEE8
1863 62C08AD85EF4629FD6255B331939E905D155102A0DBE195ECA5E3FC75A36853A
1864 B97D5C2E4E6E3247FC86C5E3015A975B7648B47A157E7A54AF7E6FDA79C58926
1865 5601755E63D838342E0696DCD97EAD4EA21B28E1BD10535B2ECDA6556E8B9B12
1866 3E8E01986B81948D8F96E20714EFC735D867BDE67E82896016363A4A408330E5
1867 00765D47697859B35F061AFD3B7624E4EA4696FDF58174BECA412B7AB6DAB600
1868 ADBD2069E5CC1343087F9B7803FDA37567285A4BFA61CD70977030FC78E26565
1869 07B3F1FF7A5B88F7A8A7386DB026BD95393BE419858CAEFD08C908D63A22258F
1870 20C4027BF649A6141BCFCF4387B69980D410C64895E023700646F56D82D485D3
1871 062407D85708A1B8DFC5C7D056FBDA21967787AF4FA1BAF05D481F2E95D45AB3
1872 F326111F3C83F6B6F6CA252B0072ECF468A44A15B4841EFFEF1C618269601221
1873 DDA422B44A2A3974A09A9F2641E4B78FE3FFE3636F03FE45A4EE3D9E57ED5D94
1874 E1C532DEAFA46C51203657499C04DE605C6EFE34D34D7B5106FC8CC8608B69A7
1875 2C2F45C32F25CF167DB79E5795B91887BAD8C6056D2FD4DB1CB3C6E35641E23D
1876 E60014DA35F896639ECAA80DEC59C8CE0DC867F6124D3957B0B8EADDB447232F
1877 59C2FE52A6557582DD2EC0E938F63A03DD35AD302429E82EDDEA93EA428733C4
1878 7F7C804E454F9A5BAD0E6512DD9E40A5C1E0F33EEB2B535277CE5339ECF871B2
1879 6E6191935601E104A393E2D3E1CAE2171E1504562420A967C5164564D9310916
1880 B0755F3B9229631304A96840A72C4A4AEEC8006E8B894F935DF2E1E5EA8FC68F
1881 53831008BD0F3E71FA51DE39B9860947D924722632FE9F7D62910ED9F30058DC
1882 53755112F0024DCD0A87DC1A0B3E206AD20AA98EEF6B9DDAA523D5B2DCB8532F
1883 17EF7C583F3E94679EDCD3C30901F9EB957F815CA6093F3CE703026F453B2270
1884 42E974A3718B52986D179E5CF17D4CE207E4AEA5A9F4DBD8F90689056ACC7C2D
1885 C9A6D810BCD2A7FAF7AB090271D54BA7C0C5B228158D92BA176C6B4033AA9207
1886 9A048FA3F8A779F8B2AD00D390DF3A5989E918F260401F6D036097192FF4B4E6
1887 A602E1CF746CB271DE25E6780960E16F48453046A720D65633EA87ADAB967F51
1888 B9D158372C66863372F991C24E61BF89429E4D1662622E10D95E2EDCA673531B
1889 AAC06181D0A95CAC3609DD06C4C946A8B04A3A26FF55F58EA03474FC7FC7637D
1890 BD72430128879E1987728829ED5F8879CBF472D6098F26EE4E54E95344B10F35
1891 520A19FB2CA9E39DAD79D9F164F4C934DB453EF5B5D299480F2110FDE07C89C7
1892 0E19AFA32DE0611CEFA644CAAAD05E0D03340AC3593013D1CC3747BEC7F05723
1893 A5D252A0BC1616D08B3A9B41C6F195F06410747EC4BFC1C9C84E41459DC0A9F6
1894 0C12CAC77271A2A9DC25A019CCB2351AFA95402D235BAD107ACB843FA74B5677
1895 FA1080F3E01E0D46055A2AE529736DD575EE054985559AFB90B7931ADB78754E
1896 1ACCDC9C4BC98279D1E3F1E015CA325612F1CBE2FD5607BE379AB6EDD2CA5CA9
1897 71BC6758484C33A4A84CB7A2AE4DD0D4BBDBBA42DDFE5D25C5E82DF5E10209BB
1898 FF2BBE2E42BB209B680B4557ED509A4168A565671825D79D53838732EBC31202
1899 6B77F4DF50C8251E75D099126574FCF4D3B24C1E77F6D1694CCFC6A465F654B5
1900 977BFAA866BB69451AF6D4DE779C05445C37A914D947D1F7C22A6ED462F41972
1901 24F000965433F92DFF618B6A02E08270F82065579D07A20298EAEFA4CB104983
1902 E670A5A28AEE13E2A645E10A6D8F4FBC074AEB7C5769935AE4F899C6E14A382E
1903 99C33D68FBE75F187E38C879EC223B4EB6225A11E8DA3098D6EB5A7D097162E2
1904 F4830ED6CA5D8D94E4B0F6A8BBA10DF40505A152DD9936CC6FF28906ED6F3D55
1905 02F71D55DF14E877693088B56A86DC396CE5C9AE2BCF609515A5737EFF86462C
1906 D53074240F3B6A0740A04C42AAA24C143316FC650AAEE09C033DC0BD662E4D1F
1907 345987EDFDE527F5B86CBCED40569455197EFF3A63ACA68E7929352FE858254E
1908 C856F1BA63ED7E6D8EBE2AB642251400F48FFB850411DADD4B8304FA4A5BED2E
1909 0B21F5F6B35D5A9A0949DCACE954A975A4F171CF03CD3B418BB9A560B9260BFC
1910 ECC8F009CCC09247414E15A9066F4DBF8B01BB8F2F2D785B37EA25437D518DCF
1911 ED954655D49D03E0D9DB1AE2B33B84D5833F7919781FECF45A6BF916DE34474D
1912 6A27685AC9B28C2B53C17D0D45478EF3556DB5D999AEC732F0FAD0978D063050
1913 D9C0143C25B453A0F1DAB24D85652E4897290DD607823633BE7D8FE58DAE2DA4
1914 498CFC0D5F886D96C57615D008EA1CBB9B96347B65B0377D6005FA4E8E41A96F
1915 C475244D52DA653DE865B810D8ED1CD615E3248E856CF25E471024BAE0FC406F
1916 9492BFD53CDAB1A394A026DC27E3ED28A85A154F4078CFDC27382D60AE777F62
1917 91CA388AE7FD1FD2E922A1853B298B226D625B455776A07D325A2B5F4AEEE1B1
1918 4B4AE33220DC29950D422B94E2131D9AE35D9AF5B2D5BFBA8634189652A09413
1919 DE0D5FE071AF2EBF818C9BA2BF8E925C269DD34C4FC4CA1C3FAFA30AE3538DBB
1920 ADE03F1C8AAE1D93516DC6A7063F8B11522CD893E0559BD3B64CCB80B43B07BE
1921 6D29E1BBD129422FCC6C4E1A3CEEC2928DDBBB2D6D8F846A6B606EA864EED72D
1922 6B4395730D156775CEA37E6F8ABF7999D1DDADFBA50D8E10BAE1317730BEDB03
1923 7A4854F8DFFA9185D8FFCEB1390954A2B4E3997627EE1E5073E421BF8FD0F6B3
1924 C432D899BF0B8F0292AEC6465FE740A091A8F6AA9AB9D7B622C89F8E1BEB21FD
1925 A001C0CBC97CC1199B677D3B55C6343418402790F5F37A6336272FA2D844A40C
1926 9B6A96E1D035000F2445A6DB6BFD3AE1EA719E5292C87150B075BFDBF8590E91
1927 8834A333C8C83163331C7BAA7A8CF91E623E1786047EE5669A7F0363E98EAD0F
1928 6277525059BED01D57B9372A2646AD9B12F1C0B8FC455247DBE0C6B8E4A999A5
1929 B8E8A015AD60628F3A8D4B66D6EAD598D54A5291FA407959829976CEF2D287EF
1930 2710CC0EAA41B05364AE8EDBC5250DD3E74E26A0C1030899D3D2FC6609A6D3CF
1931 1C3656E171E0CAB812F173516D6AC2703AA4318B81096F78C51123D8438B6B52
1932 958B4A0B18335487BAD3DE62A9748FAC28AF0E701AA55CCD2D38AA3264ABDFF1
1933 147AB6FDD8C23A2DE9ADF8B5BF7C52101CAFD1850C68E9B012FA0A9FD95C68C9
1934 D3241857EF632FE4713FD21622C1E664E9D22FD026C8F342BD304D5A72166634
1935 EFF773EB844C8713D2B51D7A467CCF0B28CD9FF0FDA7E6BD66B32EF13A4B1F24
1936 81EAED6D68B8907A4DDD737F5903244F18843FFBC37DF84E7BC7C773622062DB
1937 47B790D55928C59680455D46D26A5784DA39740E0E2FD399A7E9489F3A424014
1938 112AEEA49781E84CB471590669E1B1AB1915C04F49DB93BC9D2A4A0F2AF295A5
1939 2CE4661B52E083AE51B2E9BB557E2793A30565FB25D586BC354483A5F499B3DE
1940 20B1470FEBD2871E068BB2994D9059BF9B9E7EA0D28CFC663EE7F89E2227E395
1941 7B5CD00B98E2FD040B60142572B197B919A74D987748D6A22706CCFDA3E1533E
1942 C6A1C31194D7D8FFD2C055EAA7E381721C63C9B5205236A66E33C5AB52D47E83
1943 20A474777328D4EF4175D9B325FC3FDD7348F49EE86E72CBC3B8BB722B105AA7
1944 FED0CE5BC27ADFA3C92992507E0E75B4D25A0A7A68868E2C55B9605AB79A5D58
1945 A2A69E293DC3626487A7C196B8819B171D0AC9C7E6ECBE4C2986B3653E09C304
1946 A6ACD1A672038862AA38133CE7CE343FC7E6A3D14D1588D59C2D500F654F0C28
1947 F0B0F57B49B32906D6012F30E729870B8B2683E6A502371C0E7350A5CF8712EB
1948 A8516DB9AF28566D52F73F4A2D52B02E36E5AB7F542E35C3A2D1DD15E773ABA1
1949 6FB3BECC73ACED1590D0704D995C3640C11F0957C0390EF133295D954C72DD17
1950 94D84FB7807E00E728A8C10FA4314BB2DCF8E3A8D0DB373C3394C36BD1472372
1951 6E1DB0B3B500EDEFA179BEF8E9B7AA5E5E0A0691DFECB22D1FB02D48855F9343
1952 11ACFCD18B97862F6D81E055AFE7CD9F455EE26AF7DB09B58B8CEFA953817D58
1953 31057B2E880E6327E32AF0EAED4511E29C6BC150B6EF2E2B6526D81772207C99
1954 6AF3EB07B8E3F3EFE2462799338DABEB0C9EBFF8C40BD543CD6CF66DC053DFA2
1955 EE04C43F0643A65CD6FDEC4C7A78C08DBEC4FBA9A4E0554AEAD4CE7112C93AD0
1956 6E74DBA8FD967EB66D60FC9C91BE1DBA585446F33E7172E4D9B9D5239A7B8CD6
1957 010B2616F1606ACE1C44C6D03025A032447A077AAD483E183E520B2785E5D3A6
1958 0895445A70230F7D42F816BBCE9D59A532515BDDABB6FC816EE677D0C8459656
1959 540F7219793A54A4843B74731E6438D377298B87A0E13051B893EB2F5EDD9E1D
1960 44D87B621B522DB8F81CFA370EC336A4A8B4E6CC760984088CE68AD86063631B
1961 D4339E5DFE27CBE518594138EB78F9F59670F41A0FFBE7B3208FFF7AC7AAE513
1962 986ED39A3E109C6078ABF6AD63C9650D728A9EFD5C59F935988A4C14D58E6055
1963 D4163D1768E9B1DF3CA75EF2381C5BCD8B8B4A6AAC4A62B7C104DF64B0E5E4D0
1964 75061AB2859C5D3340FEC1D161E4F2F284154162525E69EBE6EED397AF58A890
1965 A110F07F8FC87815
1966 0000000000000000000000000000000000000000000000000000000000000000
1967 0000000000000000000000000000000000000000000000000000000000000000
1968 0000000000000000000000000000000000000000000000000000000000000000
1969 0000000000000000000000000000000000000000000000000000000000000000
1970 0000000000000000000000000000000000000000000000000000000000000000
1971 0000000000000000000000000000000000000000000000000000000000000000
1972 0000000000000000000000000000000000000000000000000000000000000000
1973 0000000000000000000000000000000000000000000000000000000000000000
1974 cleartomark
1975 %%EndFont 
1976 %%BeginFont: CMBXTI10
1977 %!PS-AdobeFont-1.1: CMBXTI10 1.0
1978 %%CreationDate: 1991 Aug 18 17:46:30
1979 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
1980 11 dict begin
1981 /FontInfo 7 dict dup begin
1982 /version (1.0) readonly def
1983 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
1984 /FullName (CMBXTI10) readonly def
1985 /FamilyName (Computer Modern) readonly def
1986 /Weight (Bold) readonly def
1987 /ItalicAngle -14.04 def
1988 /isFixedPitch false def
1989 end readonly def
1990 /FontName /CMBXTI10 def
1991 /PaintType 0 def
1992 /FontType 1 def
1993 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
1994 /Encoding 256 array
1995 0 1 255 {1 index exch /.notdef put} for
1996 dup 0 /.notdef put
1997 readonly def
1998 /FontBBox{-29 -250 1274 754}readonly def
1999 /UniqueID 5000771 def
2000 currentdict end
2001 currentfile eexec
2002 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
2003 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
2004 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
2005 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
2006 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
2007 D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
2008 E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
2009 BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
2010 3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
2011 F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
2012 C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
2013 BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
2014 2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
2015 879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
2016 141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
2017 63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
2018 4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
2019 FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
2020 395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
2021 82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
2022 763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
2023 165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
2024 57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
2025 E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
2026 178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A
2027 4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A
2028 CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
2029 890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A
2030 7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE
2031 82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55
2032 82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF
2033 0000000000000000000000000000000000000000000000000000000000000000
2034 0000000000000000000000000000000000000000000000000000000000000000
2035 0000000000000000000000000000000000000000000000000000000000000000
2036 0000000000000000000000000000000000000000000000000000000000000000
2037 0000000000000000000000000000000000000000000000000000000000000000
2038 0000000000000000000000000000000000000000000000000000000000000000
2039 0000000000000000000000000000000000000000000000000000000000000000
2040 0000000000000000000000000000000000000000000000000000000000000000
2041 cleartomark
2042 %%EndFont 
2043 %%BeginFont: CMSY10
2044 %!PS-AdobeFont-1.1: CMSY10 1.0
2045 %%CreationDate: 1991 Aug 15 07:20:57
2046 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
2047 11 dict begin
2048 /FontInfo 7 dict dup begin
2049 /version (1.0) readonly def
2050 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
2051 /FullName (CMSY10) readonly def
2052 /FamilyName (Computer Modern) readonly def
2053 /Weight (Medium) readonly def
2054 /ItalicAngle -14.035 def
2055 /isFixedPitch false def
2056 end readonly def
2057 /FontName /CMSY10 def
2058 /PaintType 0 def
2059 /FontType 1 def
2060 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
2061 /Encoding 256 array
2062 0 1 255 {1 index exch /.notdef put} for
2063 dup 0 /.notdef put
2064 readonly def
2065 /FontBBox{-29 -960 1116 775}readonly def
2066 /UniqueID 5000820 def
2067 currentdict end
2068 currentfile eexec
2069 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
2070 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
2071 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
2072 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
2073 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
2074 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
2075 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
2076 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
2077 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
2078 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
2079 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
2080 515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
2081 253AB32E9AD71F7E106560BA511DA17DA9B50B0585742DD7C5FC3BA0B94348CC
2082 1C27F194D9FD5DD303309D4E1262DC924ECA34D9AD0A1C03CA53FFC8036F7E2E
2083 2CD4BCCAB4E0DA519201729D9E5E0458FAF6989694B69DA6F7BA88674D7D44DE
2084 2D8E04B202FBD353AC665DC64CBB2B55795078D865AC5576A461C9151558E8AC
2085 308F4D6F4E641D5C9948A39B7A2315C9C879A9F448AAFCA94E9E64AD57F92967
2086 1524C61CF54AB77F1CE8F67B9EDB61799AADE4BE19AAD318675A0C83F5ABC44F
2087 43724F8462BA450CBA9D930DEC3211BAC2EC059AC8A320F3ADFD8684787288CF
2088 3595A543FDA3D0A1150FDEBDFC9EA76A07E989A3ED2EE140FEFF94E517BEC143
2089 8DE8DA1EE87CA63AC9C106928A2BC24F10D9694CDCAEF1B4E623760CC08A9338
2090 E4F5077749C8274710B328917F3397320FDA3D79BFD24E72DB3C1DDF6E6A0649
2091 F11F7BA4D7FD3CA565343D13985590EA109BC4478DD839B3EB02B22A72F4D5B0
2092 1854120AED672B1F3F14A49B655694243D2C381501750A7A9854EC3CD9798844
2093 DEE8B204A3A5CDCD8C8B5E411788FE96015EA828AA800E260A3250B11C413731
2094 C85270DBEDC26C44036237B1C5BAF498430DDD83F29D966F227F4C86FDA62645
2095 E624750993232595CE07341A14178F5F0BB023717D6650D4D42106A98F811583
2096 1A6B376530D706BA9A14FEF2C565ADEB278FE66060E584A21F2D7111D2C542E4
2097 1B79A464AC6BEF62E47480227A17E34C1705C9A3BA688A22FB384F03345D5A46
2098 F411FB3FFA7C70
2099 0000000000000000000000000000000000000000000000000000000000000000
2100 0000000000000000000000000000000000000000000000000000000000000000
2101 0000000000000000000000000000000000000000000000000000000000000000
2102 0000000000000000000000000000000000000000000000000000000000000000
2103 0000000000000000000000000000000000000000000000000000000000000000
2104 0000000000000000000000000000000000000000000000000000000000000000
2105 0000000000000000000000000000000000000000000000000000000000000000
2106 0000000000000000000000000000000000000000000000000000000000000000
2107 cleartomark
2108 %%EndFont 
2109 %%BeginFont: CMTT10
2110 %!PS-AdobeFont-1.1: CMTT10 1.00B
2111 %%CreationDate: 1992 Apr 26 10:42:42
2112 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
2113 11 dict begin
2114 /FontInfo 7 dict dup begin
2115 /version (1.00B) readonly def
2116 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
2117 /FullName (CMTT10) readonly def
2118 /FamilyName (Computer Modern) readonly def
2119 /Weight (Medium) readonly def
2120 /ItalicAngle 0 def
2121 /isFixedPitch true def
2122 end readonly def
2123 /FontName /CMTT10 def
2124 /PaintType 0 def
2125 /FontType 1 def
2126 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
2127 /Encoding 256 array
2128 0 1 255 {1 index exch /.notdef put} for
2129 dup 0 /.notdef put
2130 readonly def
2131 /FontBBox{-4 -235 731 800}readonly def
2132 /UniqueID 5000832 def
2133 currentdict end
2134 currentfile eexec
2135 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
2136 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
2137 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
2138 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
2139 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2140 2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
2141 38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
2142 D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
2143 EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
2144 A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
2145 F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
2146 4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
2147 6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
2148 A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
2149 E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
2150 1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
2151 452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
2152 8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
2153 5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
2154 DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
2155 BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
2156 741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
2157 E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
2158 E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
2159 D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
2160 C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA
2161 726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227
2162 CEBEF0C9440DC034DAD9C19FB27DB399BDAEE22053591D6538587C768C1B7B0B
2163 7D1E222D2D8AF3A6473CC4C0D6C3E0DB49068CEB8C9BD1C5CD486A50DAA10BC7
2164 7D6286142355E3F21DD254E27C00C442728A0BAEC9D3F17AE9CE320D365152E9
2165 EB0D5E3874F2BCEDA98521D23FCFC30B4B69DAD2ADBE80E5964ED0ABEF6C73B6
2166 DAD30E2C5061E3747FE536E1A5D190D028F2130AF608F5DDF9DDDF1E77DC8437
2167 ECB3EC93B33505DF47884DDBD1DC6BBE4098DF04A29AF6FA3AE344600D0AAB53
2168 B3820DD7ECB600A3B8001C51AF2CA7A39AE1485A087FD1752DF68F55B52B4DA7
2169 48030F2AA7E570B3D56C4EAD367B9B73FBC0A7356253233006178B9A6BC19081
2170 B815B5988AE76FE6FAFD7AC239072B1106A3F509381AAEE79B2F2154CAC4727B
2171 D199CDC8B4D05DF4BA006982512ABD7539E28D937B0F87FF79A3F84C29ECF943
2172 A8DCB8BDF8EA9E7A0E7CD60BC2308C96B3E889C797D0FF28FF4847016B3DA141
2173 E76FC6BE78A6EE9CE07E651FF86E720A1A1F075972D36E5C55162E3FE26BCE3A
2174 814BFEB12D4C5FD24340CFFED499C7CA183E57EC4F12CFFBE3291D43F7270575
2175 C6C3306F832EF182ADD0AA14C4D8669A17C09F632406AFA195F90C4DDC39779E
2176 EC0A77E590211592D6EE19563963225C06C2F13265EBB5A6CFB7C17D9E77650D
2177 11958305727AF662AE73AD0E3ED5F7E7086C5A0C3548A8129575980B06C715AF
2178 DD55C8DF869BED0A7883491030B1A7E82C5EB04E5A7D952E716DD8F2EF6275EE
2179 087614CFAB55FCE2BBECD7E8D9C90FD8359E929D5E0A416A23BD58158318B4FF
2180 87B095EB63F7F052B3A77F136FD66EB2C52BD46CD7DB3091A4B78A607112B12C
2181 4D171B2A00B78B0E1C44B0D90C20D9244281F5123DC1F6063F91E9E3E48DE78B
2182 C862D848BAD073A4FCB5EEC9FF54B5AB8E234CCC3C7439C62ABC4A13EF1B8897
2183 ABBF21F900C564C9A305FC36FC7224932F766E6E72C2EBB55953DFE2AFC2E3FD
2184 33A0C6F0FDFF086E9FD796E7242596AE85B877223532667625E371D2156E4C04
2185 0D7FFCD3337B93DF066CB6FE1E13960719EB7CB409EE805C08ACD2C06303ED9C
2186 E34C898787A43C1B428B896551C6FEB50A831C6F8CE2073EFC662EC286CB7555
2187 A3B42E58772E82FEE206948B8C439FEC5E4ECB9E11DC3A4CBC7611E30890E408
2188 637A01A2118441B4F9467A98BB2A1B03BB2F5D8E3DB7D1D15C188D9E856088EC
2189 B762F07B1C06024F7EF53A2FBD60C0A1F4C0275D07164545250ECEEF8CB15B04
2190 A2D8AC44DDE818C59C66CB8DFE4BF2C42038979B7A7C812EDFACB165C9DAB935
2191 E4BF8A977F82E5BEB22B271771D3C086D3A592B0320773F10418C3DA367AA46D
2192 7DD07F2216F30C02DFDF113583CFD1D2E32C018E65F922AC84CF6133BF021B71
2193 9FE7A44DC1ECD54F1F4343E42059325CBA92247176DC7F56CCCB980434533625
2194 ED1AF807F49D600C6B25B3A9C0102D2E38C59C976786DC943BD3C3BBF19AC8D5
2195 7F18A63CC38C55DFA1DCAE20D5A7FC90398C199C0046B734B56DFC8B4C5EC145
2196 2059CB418FC9C4A6DABCD02A415A3CB157F466E500739078CB6BF652114F6795
2197 36354923CCA934B6B54531A9080465F60AA3C0B65971756D01C6C70AF828A992
2198 A713EFB662E41CCC9864B8C79ED212EE9479151D8DB09A12B2EBE93A93E51F5E
2199 A744320E2A01241A8DC4622C415C3F36D74C399A37B68CBF89B9E8CB53BC1BA1
2200 EF74948C93C5FD1808C0B80C012A42643D7EE20462E69083D96BCB3D56745961
2201 50341343D1CFA4C6BB6AE73825CC4A7F30871E9A8038B65852B2DFE0D5509673
2202 A6A3A05EAF20ABC323074D5893DBE501A8D085794A58BA11E77BA67CF05967FB
2203 798FC67B884E77E3C078964EBB611D7FB62ED60AD7E797C9995F140C3E46947E
2204 6B7F8DAD9692D74672D3247A3A3FB02EAFBC57658826DE7D4148C1B880174210
2205 C7E84EF060D4A80B25FE4C73AF77577C99B04542801E510CC175B409882683C4
2206 4DEA3D0334845CF10380B63B3771C1FA0BD8CA1F99A36D3B9036288488CA74B8
2207 E0A8EA104E738B2522130AC652F4FD48A98981CDC80ECD3AF2D1FD690669D386
2208 09AC0ED029B0D71A30C6634D4F3BF9EF3D1BF774927C32572E6021CA6B53C82D
2209 EF5396111A187A8F1C3E8820A94306FB850623A3975D570BF484CA5A0C5F1C8F
2210 4C13A039A05F80F15D9677422DF833F74C66B20822B65927382CA07051F4DF57
2211 9FE0CCE8499A5BBA7EAC794875D7479CAEE6B2E779F5CE8C4357013FBEEF4BF2
2212 8DB688EFCB85DFE2D2EEF3ED1F6D7E7ECCD02C6C83C03BCE1C4244A6C2B1C6EE
2213 795BA50915BFC8044DE3B7DDD79B12717A180529B4B72559C254F62E7AC3E40C
2214 DC5D74D64E917C6D520284086AC8F0162A967547DE4C0CAB8F286A9F93FFE462
2215 4787687FB0FA0BE84D905229DC764FE3FD52794AF43DFE1B6CB0563965E473FF
2216 5D12971B5B56F935FEAF49AB575E47A8651C6105A127947734DFA754B1325CEF
2217 9C365ACE9E1362FD5E09216C5428348849B1865D43C85B65F4F0CCF65FD01138
2218 69EE607E4E8FA9F4E5D20A87FDA0C996C889D4E365081EC6AB0C1009DD63EA54
2219 736AB0CD79756AB46A8AD08BC8F83E01CAFA584165AC06142A909E2B729BBC26
2220 F6307AC49C68126309A5391C552FEAD0A8E03A0950D7D827E8533F9448F5E178
2221 37FCC10594A9ABADB283EC1592B3D41B7553562474E31372882DC413DE49F29D
2222 A50A74D36E4FAFF3C98572CBC407105EF45D688ECB6F8B5477137527FDFBC20E
2223 BA9941E62AC325CF0DD4D86B8B339497D85657A9A0FA88729274EC8EC25D9F9B
2224 23A0187B0EEE09AD704005A2418C0338762E127166722D71FE2EF546890D53C0
2225 5605F5022EA1DB711B76045E94B3FF3F5BF629C662D77BF8478778428DE0D859
2226 DE23285F30060F7789B3E31F5D2480D9BF39C643ECAB86CD425B47471D40FD9B
2227 3E8D1807384425F31E532CA6BC5E9C088627A69457B9A88995C5036AB8D32132
2228 B5B641AC40C5143AF44F5D6AF9C021E48743894BF9EBC6E269614E1DA3602A50
2229 F3B0D2DA77681ADFD69308CD2728849B3DF68466E14F52F8FF1687279F1EC360
2230 508D5A8BF4CB4AEF0CD76C26C58012363CBC9A6E21A3ED35506600B95B2D2A33
2231 D68E04161BE81EC86F95C0603CFBBF25742768AF45465D56671C5AD96910D879
2232 9A6775DD56EF170CC342916F96944A61A82093058BBECEC2A614F9337D4D98CC
2233 DE325CC950A88D8A2B859BEC93607C3E359312C18473BEB5738EBCC19ACD8D67
2234 4AD6542550C5EF64DF032315AB1F7620FAB9C98996F26B2986E387307B0A0A76
2235 C51AECF3860F4F7E0CA59EAD0EE473C24B635D51617EC5A599C8CB546A813CCF
2236 781D722D2A14186D1C6BBCB929AAB4E773AE8EE3354DC6CECF3B9381FE9C9B2E
2237 DEAA08D7B5F0043A0EE1ED4B378DC9DB24262ACC4682B56359142D908BA2BBBF
2238 7C013A08A4FB3EF9A47FB969EBBB9F73A47ECA422EB3D416082702FEFE12DD37
2239 FD0DDABAAA3CC65005485466123D646C9E22B84AD7E85DF31E30928A1BF8E10A
2240 42C7F3A074CFA70F4594E3E7F3DCA6C64425CF3A61A55E2612FB2954AA77FD8E
2241 F45CA623E1AB35E6781E7781885FB3FBACFA343860F1A33DB79BDBD9319A44AD
2242 E8C92430DCFE0F61FF4594CE5D27B975848861205633352C100094A490602366
2243 69FAD3F00A053B5221F9D3013FF504099B05956CFEAFC6960B598141DB480626
2244 500CF3E77237853F39680AF04C85293C0914F18526A5C844CB1C34630389EDD6
2245 EED49A24785434DA1BD50955F0BD84D900EF5787BCB849023508087C15D95C2B
2246 47AA976281038C70E406B85BD9375FEF8ABC13477E9AB4F80A317093DC688DD9
2247 4B70E5A24265D651D2464FE6B9CF80F0EEF42B1FEB4AEA906A643B7F9053976D
2248 C9629557CA28A428869299FBCD35424D95729661FCDB5BB0F725034DE7895D35
2249 4EA0297A0D8FE8E668899FB09B7A8B1628FB721B544FA9F135DCD02CECD6BA5A
2250 583BD0D61B6182B5E20CB9F56EE2603D6768999731888AEA6554CEA6A7921049
2251 56AA82FA5A5A7926C9A2EC294901D83494C9A06E91CACEF2F4C23F914785265E
2252 005418A928497DC68C1BCB4BD772145D41807990A4FD3EE73D779389364706AA
2253 46E24DD179EC1845B982581D73CD4BFDE1FD32C71D0CB07C1444804012811553
2254 EE7BA5E8EA1D4875AC9A827F7D85DA9A55E42E7B97B59F94EF3B7FC44B90BDAB
2255 CB52AFE27CA9861883FCC7CB6623C996480D5F90E0FC78015ED186DFCBA5AB53
2256 010FF35092454573A7B00D85AD9FD25E8D9E9E8B39AF8A0D8C1DBCE2031FCE9B
2257 FA6DD8D62C07FE0C16A756A1A4187BB5FB7CB96EF356B6C6A3CC7641790BF517
2258 18CF13BE49566C2D357D7FBA4CF433B52D60E1F257C75AEEB09F19184B79A56E
2259 4446FD00D9856AD1F3E5627BB6F9E7935BC907BE7405580FA4C3A7FDF14AFCD4
2260 ADDBDA4EFBF41D9D80B6EE8A1D3FCBAE8720929CA6B221302C62E855E23EC8EA
2261 16B10BA822089985CB127AA51526B866044C69675C907AF4C3A7FF35356634E3
2262 C711D04EE0E04B94F73A4C40DADF645B31BE6F6F0B2BE75B3B7B671A6456AE30
2263 1CC081D4630B464A7A307CCE33F339169C0918EB76104BECD3DE58ABBEB633FC
2264 295F1A3F136C49FF29C39DB329967927DB11EC5EBB8B631BFEAFA7DA689A7F3E
2265 983728FC87C9CF7F073AE050E9EC7CD61C965A6FD22BA3EA1860502CC573FD4F
2266 837B6A5E02CE52AE1EF5E18F26CEE43F69F3C3E5FE7FC0401222B85662F92406
2267 2EC27ABF966B077BB027BF6CB64D1C5BBA29B0E8E63F7A752DE455D8078DD85C
2268 5A4CE469B6ADB149FFE142EC3BB9AB4024C2FD11E2F7901FFA632868233DD511
2269 81F816852606CD2AF8EF5AC674A88B0E553117738926CA7F67137D9141A5A8E6
2270 107FE59C0AEEA23569D7B22BFE7501A48FAEA5903640D7924363DBA1390FAEBF
2271 EED3000C13D97107DE3DD4FFC397E2A0257D69393434AD2AF7200F8B13D4BE95
2272 EA4BE71F1E13D641BFECE8D3349B08AF82CAA8FA074C13098BB0E12D44263272
2273 289B87C42860929177D70560501754177DC65CCDB59496D50968E86522D63A2E
2274 B0256DEF66ABA2D32160A531C1AB050F72CAD150340EF6F64FBC398DAF07385B
2275 A9567D1E66B1A30BD1CBABA75079A6C7E1E7055CC474E7AEB232056A59E6EBCE
2276 97B5CA91ED3116A8AE672E1BA237D02EB0A8F4442F3462B8F5C72742B42E0CBB
2277 06CCE546D085732A27D22362406C71AC117DC418CFC02907A9F8018B09ACA0C8
2278 865A59976DD97451F8602CE480363C1EA235F14FA6AFBEC2304BB43821980204
2279 623D0578F29AD0AE9449CB784EE327ADD872E91CCACCCCA08B569012A67923FE
2280 576A2DCEDC860AED2939704511E0C5723F1A09896F60C885D40104D858B6818A
2281 0D5D4BB54842987A55C36CC027CCD0480F97AC9F72EAE323C93BC5308D3AFA51
2282 3C52148F85B6CA37771946C3BDFB4485F9D77504B6C2B0FAC96EF4CF11FFED98
2283 E99DEF242BDB3783A7694C2B2D9A6356CAF28D611083AD555E0AEEF864A8A57A
2284 2079B07729A92500C1FE2C7D3A39D20924A063865E5B530EC35D6F482C187E87
2285 280BA6C2282A71EC58F3C24562404FBDDB5723518F3528F4AE662A6DDEC3D3ED
2286 C4882497D255601E287755EA15CEA84D5A3AB681E81B4F0D969A8AF38805645F
2287 8E9D3BCDBE8DB1421C4789ED33F0D4F291E0FA3E776B33101F170019FA6C93BC
2288 8C89DD199830A42697A25513D2FB2D3402EC2BCEE0E45832D71F598E9D0A003D
2289 F20A5DC3CB520AE3CC15DF473D1ACC932FCDC96330072EDED354E34BC5C85CA1
2290 177E3E99C4055A8108B4951E55537EF70AD33042702BD93F64EF96E14143FFF0
2291 DDDBBC7BDA66A4066ED3EFBDA7F463AED60D3255EB680C4413FEBB40B46AC92E
2292 B7ED1C911AF1282344377F6D06A3F794AE11621046AB74AA3738BA49930B0F1B
2293 79AA7CD7B6B917BB95B0811A4F0C9574131FB90F92A0012BB7FE2664B916C9AF
2294 EA0104A71426B07D25B97B318B6D05E88F86D791D7EF6B3B07B9F9CD7C3973B8
2295 BCBC4D22A248D813B719E94B0196C7784A1BE9B1DF37AEA447A729D898A43D47
2296 CCA57830AC07A19218371F3600B696274583C6572BA74FE40D9560CE0EB918A4
2297 48945603C79E1EA02F8C566826E922E4739584F0212BDF02E843F38212954D79
2298 2F35B1CC125C395B2ADA9322573CBD559A6D4CFE6A8A0040C7592DE2EF0477C0
2299 B0A4215535A97967D42203328ADD4ED19128E65F8BFAF962ED0608197F029AAE
2300 805C80EB4147AAF51633E49FCC976754335E55AE13A419C53835AA05251BB82E
2301 2204B7C715BDE10EF4E62C1B6150FDB04033219B256BA6DD03B849D429680F52
2302 05EE1FB15E57FACB1B6AFB36836317FF64CB11304057D86EF73550225049D46E
2303 633B43D598670504FB8AD6A29C2D9FCD39368F489E6096A697053A7F51FAD9F9
2304 570F6012DB3AC82DDFE2A93603FA5AC4A7FE6C3C3553D68994389B88A1814CAF
2305 8C147128DDF05D2B7C19E07D14FC1EF903E4479810BBD04C731C5428A729A882
2306 944E092C53D3BE42D04140AB7F99AE5667EE1807A80E48DC3D1217C65BAC3070
2307 C85739C63AA7CB859DD759B56E840DEBF11CA0EDF393A9FA3D042904248ECE95
2308 4E8EAF4E87A72C2366A87669ECFD075136FA6A2D3D6060B57B8D1ACFBFF15BF6
2309 5518630D46E9AC3CA2955B9FEA6E1B6F6F786A20424C968548B0BDFC6810F13A
2310 6700C624782BC95933A7594F8242443D8CE5B9137CBCC2B4A929D8D4798156C9
2311 43D3FB03BDE5A87845D16AA3C36671473999026876E4559D692844C321A31694
2312 A2D0845F87D7F35F8B9A70DEFCDC1657F2FB9EAC5C55FD2DE55B88317AFE7F29
2313 70B3B450E17CBD04A1602E535263EF669BDB5ACC6E61379EB62AFCE061370A2B
2314 40E65D841B780E903E04599DFA65395A44E2866DB67A3D3386C090292F71CD32
2315 A5E2640382CB66A3ED6A8EBC60E5F7AE34EB773D85F6DC04D6852654B1D813FB
2316 A6FBFCF0F4A1CF2A32AE5A1B544E5EE52D552F7075CD3D79A22F6049A8BAA29C
2317 3577C8E7026642E76A652A0EA8607C056D04ABE1BE69E2B62EB2D78452D2D8CB
2318 B1DC63E4FFF6BF59A62BA8E9E370AC1F940155F58704FF2024C6EB1136F99563
2319 BB27EA724D6272A3156778CE4EFBE1379755FDF9D4F773C28FAC659F2E132E7D
2320 A26D1EE01BF1CC4AC6B13FAE4385C0823751892687B3F308947BACF144F878A4
2321 5C15006AFC45ACABFB3039F5FEBCB56C68C774A9C8045B3E04906EC4B9AE3548
2322 948AECEFF46CA86DAD568FB825A3765C198FA09AF8A8E1048251BCBB1B7ED383
2323 EF45327FFEECFA8D3F9602596CEBA87EFEF138DA2E8772EF457A07964A51937E
2324 31A9BA5CBB4197AC3C24049159AD973E68768B17FEBD3FEBA5A00F994D0E09AF
2325 93A674E62C976D9AF8FDFD63F271353750D7AD6ACBB224F11670AE41F347DC2E
2326 BA44BA0B2C4D3C2676BEE304D8A74FFF07394E9F737CBDF449B562C1D7F3B327
2327 AEE45913418460DDA8541336F986E2C28BC134D9D9380599DA3BB63C65834611
2328 F91A515067A25A36B38E3D1A924270F84642EA6FB5E2C74979FEE71075FA23EF
2329 DB4A3593D53AD99EE380AD808E0C55F0D1261DD3AAF39F376AC7CAB04AA4DDBB
2330 18D6800B312955AFBFF542147CCFF880544D77EDB367349ED603FE3BF948ADCC
2331 28D2C632C5022D9DF4AA706B35CF046D2B1CFF38A1EE2DA0CA7EE78CD11AF3F3
2332 ECD4E1F37A6586411CF4B8272B01DA24BD3DE97607653EB651128390149F6B20
2333 78375DB54433A356431C19D954192220843875E1910090FBAB353AEF3E9D649C
2334 9B7766C15D5C849D9B0A8B51C815753D57A0F574C2E2EDEF275E7B102E7C34B6
2335 F5C11C027857DE27302D3E543CFE82BFCF6232464059A2B93294CAD2B69124E6
2336 AAA29238D01EE83F7545249FC0F6EA411F1BB959817A393C42469CB64059CC79
2337 E65D18BC6EF3BE6CBF467FA38CAAC84AFDE96F08D14E9A135122D1902DA707C0
2338 BB2B07BA7DF0FB5E1BD42B032E8E4AB5AC8B2732307B9F54D4ABB50DB6F48AEF
2339 E579374CA0E51117A6607068D72A2F770CBCF84995EABE1F3B9053A35A40E016
2340 F50988A987A96BC748AA986A71AC63773485D4F331CDA98BFA4DE9D327169D10
2341 AAB98CD5FFCDB6F3644D0917B93A92510DA636DC5138DB201781FEA2F7F43C69
2342 68AF06C556CB5745D82BAAF742BC4FA60D00341B7797851642AF3412DAF6379F
2343 E80F83DE3AA6ED3EABAB7F5E43D8782D45CA58254C0FB97A0426E1CA006BAFC3
2344 20556BE3B2236498DA393F9E80F200D680F0D8956D27D421C9E19653866655D5
2345 CE1D684600D7A6949A546D3B4C8DBE6171AE5BED0CE8B1C4FF1A65620FBF44E4
2346 FB3DEBE06C9C0170C432A648425B4744829A80CA4D6102BADDDBD0729B3D7A2D
2347 55975350DF991B441363B194F606DDD1BEAC5EE928E757D83DB152E872604C70
2348 926CD209DC941F654EDD50514CE03798FA35A107685BE622193E779F95A9D803
2349 DD55F3C6C29CD18CDC7C1CABCBD7F49B9B9D73E317A71867E8D56C48BC56B79F
2350 877D64297B21CF7F7C4E885B8DFA580B3FCBE83FCE7C96DBCC9F38D244B1D069
2351 A3D48ADB21B4AA19587812BB5EA77C73A4F61D062D60B840039D9EF1B35095FC
2352 A2E02C075AFA86417E333AE8E74CF896367490B2AE1E6DEBC4A7C6CD5E993450
2353 D4E02BD9C47658BD5BBB35B203767AB3A73D000870DFBD0E52FC55A0C82F2243
2354 0D2F4F2172D98DF83EB488B3DD40D1EF51EDAFD4854DECAC8B79F9A6AB5A8242
2355 0E88593B005CF2333406F3D036C671179D0FFBACFE31302722FD9FEC3D3CF6E5
2356 18930B33A77B9ED2CF3065B8FF49138A6579F765901000EE0435A5A750C4BDD2
2357 20D90D0EF3D600EC315616C8EF69D0D4BE86B3B0DB92D599F151227C46BA1393
2358 AC71E139CC3A811D64AB07E1E6354F7657B49D2E765155E1CA7D58EC3B0679C5
2359 077D427511868B0356625D6CB8C442EC350AB7758918D0252CE2E144110D892B
2360 B1C580D9976E1B865E00155BE21ECD21EF699C809DC1FC712BD5D22BA4E19A8C
2361 6F98EF953F61F100FC4CC16AD0ACDA04E739F6701512FB85033F4076BDD1CF1D
2362 C087CE665A26061966BCD4C6842DF321760B2105591036E16534E65C18442846
2363 37F3AA31EC01E6B950B680A558E98176A46F42BDBCD9E0B84E9BE2ED0BB19B8A
2364 902911181345B484E150D99649EF75633EB019864A5274D669D94D200F48DB3C
2365 42EEB0B9DA4618312FCC7EB127C8FAF5D70E0B1B2DF926AD8B31F3F6ACBC7664
2366 08F94ED176C1A23587CCFA3E93BA46508A66CF3C75AE5076A191AE69DCF7A495
2367 B09F36A6CB124669FC5A81056E976AB5BB47B7551D7C2B81F6B78D81ABC8D98E
2368 1057F9DD9BD8C228F4A9CC7BCEB85804A413A5B0C15CA7E2FAF1575FCAB90D54
2369 F6CD4F55F16822185B113779E5DB6A0293CF03EC5D412D3DC68B75F63A6C1258
2370 0CEF5BFF62DED8B07BC92D0074A654EE32B3C70FD09E2263C334B32BBA894F42
2371 DE943BA582F8F26DDB2848907364D884988EB67888EBCF408D8306A90510C482
2372 FFE7077399D4D9715ADED2D9F0E69E464924E9BFA088BCFBBF10F955C92FA788
2373 1E1A6C0E095E948631E43539A64CB7DD625A669419C10B1F3A346C311BA697E4
2374 09650E9CFFD13F21838E8A741F2233AE02131C6F172A9C4B1BEA21883D46C852
2375 DE5CFD9F2F7F62D33CCDD84E4D7A60B08F86ED8700D3ADC7627CDDBBD8B4CAAB
2376 73058ED37EBA030A874C06AFF66C87B17EF536504F85FAB247829F999D2B1D9D
2377 988DD58F17BE4AC2A47464C9B0C4841CC3C4131FEDD1904E7A365ECA92C1B7E9
2378 A59F057D19464B7B9884E1FA4E372A718B09EBC7204EB718880B4D6B94C24CB4
2379 F1BA3C78521E15856BD0EA58FD2C12D15B672BFF56EF0C675B4F15CFF05097CA
2380 CB53A8EA667A5D536CE5021F729913A08D7B71222B36FBEF70DB8E495BFD3022
2381 4491727B134299554C696BD73309AB056199B74DCE9CE172FAC8601A6DFF7386
2382 BE966FC4D050C84FEE6FB463EE27D5FBD67AB06DE8580E2DEF36A01F37CA0365
2383 E098502E65C3B4982480809F1575F51FFA30933B0C5E0EC0FF97D4EBA2C0EB38
2384 51681BD06074130108A811EACCBF9852657DAD17BBA46AFBAF528A19F6EF09E0
2385 ED67F9873FC9B9F01D15A47A6FF5080D665F18E929F2BAC1284CEFCE85FBC314
2386 735B88691F05AC9C307266D9F6801ECBC4E1B9A55B95E968118F333C0FAB589F
2387 AC9E19FA50040E7BFED42EDC5AB28A0BFABA13EFCA01430324B8DCFA1DF4B42C
2388 6BB21E0DFC9636C969470C03C2145326DB7DCE24D53097428808BBCB71B95D72
2389 F6591DE35198BFCB7BA21EDA82E0A3D930C1579FBC6417F0763249CD59DBACF9
2390 023DD77AA0FF73CB00C3ADDDACDAB7B985E8C0AFA49246A4A63A5B3DDAD72DAB
2391 D5111CFF84EB031193EBB894F806FEC2D355A3263AA7D31FC9C921424B2635CE
2392 CF171210B5C10467E3D56DEED36886F672F329BB82B4C8F2C990A82D986AB3F2
2393 DA1F4C85851C43E8916DFA6D690E55E4770C85DCD0F5700FFB31B4553EF3751B
2394 0ED6F9F575763DF833CFF383198FC3561AE4EFC27CDA3924DB7B8335E5F1D5D4
2395 884EA65C37F09A2582DB9F00DE4D3A5FF2E31DC6BC9A6B4A0A367F64C40401C1
2396 3CC3DA38D7F8836EA8C7A8E5367FBF3457EE8010879FDD7C9C68E90BAF6DF362
2397 5EF9D172F05732C8E80892A873F63AC9F3A3780CDD6F8B73522EAA4E15ACA247
2398 90ABB9E9F2562CF460531D9CFB783DE4301C15AE662ED5065AFE9C7EB14631C9
2399 F0F53241C7A91DA8FE1D09D5DF462DD4EBCD3ED5338DECCD1E5E52E368D4E88B
2400 60B4A163E26F3002083AC520EFC7E4B8193843B48DA98CF13F038B752FDFABF4
2401 9200D6D096BBEA1B463A8D06C54A8C9269EBAC81FD517D8F9A17C4012D7FD3AE
2402 480C6870A6ADECC76E24C54AF17D6268DAE012A8583EE2F1A1296FF3ED87C3D2
2403 79B434DBF71038A0CD747242BE47A48E055EEA9BD0698ACE7629E45771B327B6
2404 76A7EDC2C6212E6B9D10BCD7ECDA7D1582D98B2F92E07BF023C99CF2BB601D1C
2405 D5A8BE30E64FC2E0B6E1592813B69B22E353858444C1B862C8B884F5A2E7BA5D
2406 33438B8DAB84B397C1C283C010AF73A8D094ABA1419E489AF91B566E4A5396B7
2407 254973D54B8676310BBA8471D2E9BDF480968E6698B5F649E6CCD0F0F2C21790
2408 590DF9CAE046161D583CDDD48934A5577B5DA4020BD6DEC6942AFB6A138B36F2
2409 4ABDC733AE66583A7BED7195A848BF64C71B50DE18E267D7C8C49420DA064119
2410 5CB30AA06D23898C4F80F1B0FAB379CEC3C868C334B29A6871D15C7D0D1E1102
2411 D9F8C20648097F8B4FA098321F8D98029A9D242CBC29E981E842B90716D262E4
2412 DE268FBC2EF862E64AC484B9DB1B5FFAEC489820C20772D86BA8B29BD721CC17
2413 6037D217F7BC21FB5149003D947312012B9D5BB04C2427DC96872121367A6B3B
2414 EB05DBAC3FC3A5086A9061C29FECEE9E25650508DDCBE5960A570B39FB3B8935
2415 4CAE349B4D9032DB101826859CFE3D42089B63410407F6069BD8D9EB51F0CA77
2416 F227A2E058A7EC7B72A04FB7DB0E56F81A32993FB73E84025801C61C038874B4
2417 B483C49364E836B7587971782BC923F02E091D0C60E12C79A1E8FCC30C372ACD
2418 4B581C54CF3C7FF04F787F78AB214E965CB7804F6E8426FE3C4976DBC16AA178
2419 EFD574B8378B926F1BF25BFA43F8B28945F2783FA9901A86D72676D2A891A9C3
2420 6F9C6A776FFB0DD7E07D0B91374EB7EEB0AB441EFEA4736C03568E41A6C29616
2421 4F61E3E5B5D131509895FA3FAF54B6448310B5C8BF3F05EBCC9011C7579C1DA1
2422 C0566E9CBC9F0269D5289F190C73260C4E3A1F8993F5553AD7F80C941DA32EF3
2423 20D016FC9387ADE79C1D2F2AC6CFA3CCAF62595CEDEFFA1345D6EA491A530CB1
2424 3DFF791D9A316E939D33EDBD88E5A2F24B95BED25700D13FBDAE968F014A5621
2425 3AF3B52E1707F1749C9DD4A347488B20783D2502031136326595F629C77E32B3
2426 B5B23BF6D4FB415021B1E63BCAC78C1F2D36BA346E6E6C78470831477A77F6E2
2427 81CCEBB07C5902115C50DD9C0F144229B3203831DB19BC7C0CBC674632FB8944
2428 9754792016A41B6FC313977A2FB115B919210F8A7743C7003A4D3ED3489F6318
2429 B351AEE244AE768BE73FE0FDAA9A3946DC55777648B795AAEA7EC839C8046F66
2430 64C4959741B96F1CCEF7851B91B2D71AE01C696C5CFB66833F894E95A130B6AB
2431 82F03B6A9C041D153500574B16E5905C92591613D1A98702AFE3860DA3311B11
2432 0A0B5A2B8149D7446B853315CB8509E1FA8713CC8F3F6FCEC232602FFD2CC473
2433 8075A7F32D71F3477FFDC2B609A5A3614E865AF4BFF632EE202EF5661127D4B0
2434 742CC5E35C4A76AE7FBE028BD085F0A717EE2A093A9EE16DF1B7E38FC9BAA04A
2435 9AEA3A98E6883770EFD2B5B7DB6FD8EDBBF717250A5561CF53E57BF354CD5645
2436 8449153280F7DA020C4BA1BE1E1B4C34B412F512A640FFC2045A16F1F453478F
2437 EBE7185235F7E177D8B43AE6C50118FEA79D394204F0AAFF87F2460524753879
2438 C7ED90EA77C83200BC7D379DD8641A418B0E0E1421F87514FFB37B7C82C79102
2439 7C12A3378A6A185BCA9298D880C07CD6BF4123B5D2F9B68AEA7CAC6B10DFCEED
2440 39C7F148BA3B6BA967D35ADECE382304471BF93CB099CC0DDE557494B41F069C
2441 400DB944D95B7925677DBDBC915592058E855B5FF0A16744D018A76043EBE144
2442 45F78EECA1EDB95A2515C262EC925E18CCCD024CDCBE8499A2A257598F8B54D5
2443 B20A1E8FA0ED06E77E5C63FD33D7AF0FD67D6F66496FCACF410E5B01A12CEE68
2444 BE2425CF824EFF1C09E56DB4021DBAA871A6688BB95A3A4D2CEE57FA5ED2144E
2445 50F19B4C4FD23FD72B5F99F865ACD56A249D6EE9EEA9ED3ACFEAE4FE45B4A014
2446 1522B8B86E91C75E61001DC4FCFE1915334F94A3CB746F625B222AEB483CB583
2447 F716C7F898425A1873484EF623BBF56ED7EFDE808AE32222C678C1FEF180F3D2
2448 C0F8C9BFC3FFABA4F3B073341DEF63B93CD7B943FA71D8CE0B71C46BE6C584DE
2449 6008A9334F78ABD78EA9DFE181161E6509F6A23B833DF5168BACD887951C8011
2450 A890FDCE3179E8BB60486CD38EAF11E4157DA93C0FACD150BAB1364904F8F481
2451 B58288DCDB9EB1F79F4315500850F3F033E991885AF81C83A4471DE52ED06634
2452 D68B6D0AD6675CCA3EAE3511BD4436FCAA03787AB8B196BAC1011243A281A535
2453 844B1BD1C6C7E5B79B44A9500C0F5CACD3CC77CB5D01DE7EB7D100012DE60B1F
2454 BA7976C4271C2B470C1B939B804E1D4898124C5AA5C9E28AB0F3F499B50BCFE7
2455 D72E4892FFC90C7FB2F1C9002B63F709795FCD5A7CF11F91033591695584EA37
2456 F5A507F22F4E35BE6309EDE7CB745655B699E9CA56A9634006BB8DA23F3FA28B
2457 C0CB5490AEF260330F6FC74161A85EA20AE1B9EBDAAF2A1D9BB24687BA81E3F5
2458 6A5E95B968F2B2C3B91931D6727AB81C1C7E35E026E9F6C3B7BE932D50DCFA73
2459 44537E90513A79C5D71F2A9798EA490DEC61CBB33FC138CAD7E9026987C4C35A
2460 DE72D9A15E3D1C9ED33C15DCC00CCEB757CC449707F3391167131A84657140CC
2461 489C28EB9D6E8E35E5F0F6E9B2DB854048CFB17A93E478B09C5112E94D6080D4
2462 4C1E9F06F5D7277778F689DA0332D8A53C0EE1DA3DB9F0B1C6B8DDD7C6F7FE9B
2463 8F31AE05D993BD0C44BE2F79750C07BF8455211824B069BC2FA19FA0DBEDBC82
2464 23A8FAAB6414016BAB01E09C2933DA0F0DE56C794A807E91DABB677AE141660C
2465 E3E16F195360EBE43C265418C4CC467225E8D4E7AEA5F934150184DED81E2257
2466 6963572FDADD19E6047781D0CA0DF4D5C409821B19DA0FBB1DF6A5F94B630E4D
2467 AB4237E8BC3E430269D59264297DC4C6F32859FDDA74D147C159DFA283458853
2468 2154DDE6F8ED15F51AFDE7387D39882336C87EC3456C9B28AA1DFA33F764BDF8
2469 70935A55B0F7D558FF9E9692E6CE3E432A2601C0D0ADBC4CAD294ACBBB038408
2470 D3B062429CB3C6F81559A86A8F7CD687030B0993824B81C569FA099E0E8A8ADB
2471 AAF0DF8BF389D541E80AC1BE68C13106D1D13438325BCB8615DFF68248D0A28D
2472 131EB87F2AA1DE2B4A5D3EAEC4DFD1FE3595467AD9B7D37652D60F5E7E1A7ED1
2473 BE6D78AC52FED286CE330C6DE354CBE3645ABFC728D466518566FA3D4A4618D7
2474 3C3EEF7517DB92ACF614BF2021DF2DEE862062F3946C048A6DB08C6D137EDDEE
2475 DA688C98FF849C72A1BED383980CC9FFA28A4D3CBF760AC456426BC409172A69
2476 BB815EA8679D325653F9879C0E87B3ABA106016BD84793023C4134118FA7C610
2477 4AFE10A70F5D51790771B59CB6BF1FD0B061BB89022574D04A9D5DD7513B7972
2478 E4CDA1F9194248E339E5418DFAED28ABC9F2656632FF505CBFAFCEE6854BE7E4
2479 A00EDB8CDD56A83874F798DD9ADB2D2EEA3F67BE65BF4CC0521E1754F854B481
2480 5EDFCBA352DF1DD07AF9CAE690D3BC587E4455BB974EF84F03D3849639CAC6FA
2481 06F3258D3986BB746841E8C500F88DC0B77C986EB5AAF454C2F8C1EF3E389267
2482 E733EA513D9FF33BFC4A6C647D0859CC3EFA8B6D87AA057B775F0E7DFB0FD3CC
2483 F940937F87451E1F6F9AB7A594747A81A6D37729C099C982AEB319154E883E3C
2484 69668A49A1E000B84DAB8A6EA25BF6BE6CDDB99DAF667AF4D01C02A5226EE1D2
2485 75E17ADC7D85036D2BFEE2D1EBD1FADFC90C0BBE5162E62796A7878B40E19F11
2486 2F13EEE49888607A0FC5A0B5DCF3A31EC48E91F2DD58493378F2DED59234D353
2487 6FC119F6362EAE324A93DD005D3D01CF149C665ADA2FF24A9BF7396D22BF8CAF
2488 DA66DB4481F62ED3913E1C639CAC14918518E3627B63C09C0E3F70D7A65600A0
2489 2EC67DF6083EDE2BDB91A19F5EF0C7BD9B85FCA8C1DEDD4D00E4673F502153C0
2490 565262174D41D6892E1C17251C3CD0010C8FF4B942265126CAF7087A1744692C
2491 2588F2B63A1D3F4FF4E8E52AFFCFE2997E9AD56CC9B58A1EA6C3E67732EE95D1
2492 2425632A2A017FD7069C38F4E7F9D33442782F768C9FEE4A463586A507559B04
2493 7ED638455D74A5E98F39F45CF5A6BCD130F81567633BD6750CA673072CA707F0
2494 5D6CB95F897A19CEEED1CA1075941CFD83F7C8767616D92696309878159E8CF6
2495 87EB8C5D28F19243EFCFAE1572E8A83A20282C66B1E9069D11ADA53CEC911253
2496 8933648C354B852D4D66C2D711D555739A21B821C2A5F3536CC6A1500A82A9F2
2497 55C4E58118D75BB91A597D72661077F8CBFD026F4D76FF9764D65B6F28CE4BB1
2498 32874D4996BABEB749093D796A02A394680818A5D0307E5DDD9B3D054A2E99CD
2499 2C0F32F203536A378D8AA31C37D91BF1448CE2CA048EF12E3EFC4BA49E71D635
2500 2E03346AE13CFE8ED94CF72C7F17B195C08BA5F18D8060282FFB3582F63E1CAF
2501 F9DEA850212D3DAF1EDFE14597088A4E63BB58D376A198EAA105BC8D57BAC489
2502 46BD7C41DD6FE77BC31F8F09E72850E63054E8295E8962806CA9F246DEB266F2
2503 14CB0238908F7F8316B430D40FB17E4E09F03C3FFFD9498EF642334BDFAB10F6
2504 164CE1872CBFBA1FB8EF954DB9ED72BE36312541DBC957D9399243F43AF70AB5
2505 15652CF6B03DA8131ECFBE2EB282B58ECB7176257C298091BC2E25F0065352B4
2506 CC8673FF36ED11AE70BF83A895D422821687FADE71F05FDE3C5A0203057404A9
2507 AB42D7E33DACE85D2BF79940616C1683AA6617717EA55BF00FF749E4DD73BFBE
2508 D2EE9F54FC15AD4CC94B2F7E40AD4580613C31A230B465C2FA6FA6DDC78CA5CA
2509 9F45E0D0357004ECBD0E7302FB4BB0E29620D99FCEDABC0E625FBCD6138D4726
2510 E4D23A1A2B5F318F89D51F9A358EE050E9377256EB04F5BAA3ED72637EE3E210
2511 AC1CA0E4CF99237415BE49AD85C9C00AF65981E78A941E7681BEA095163FFE5B
2512 4EA14A3E4E6FEB1E2B29107585F01606B3F38D0F25A01AE7710C6DA23BCDD613
2513 DE31A46C627BBE2B80A0950922B99E915B466EAAA9986EF44C446B9422014DD7
2514 2C86AE1B03C1E7E09CEEB5B65E8CEB3E99F57B09BE24CEAEBA48300FC007144E
2515 2104E380A242D5A28745727192A04C3B63195504CA9AA8181286D5C477ACA355
2516 ADDB8054BE09F897A6AC1559A0A06981B5CC0D04C2C929D1458D6BE103E77008
2517 8E60C27C62F83E8EE0970DCFF2E29F5624D34F393A69306DE8AE552297150344
2518 487824A7CE132A3AF36DF40BC0AE2A1C4934E143812B71B3FF0CBFA311D61B65
2519 B2A3E58E05DB341D5ECEDBA3D352EDCF7D0901F9E8371A167DFC338A3DBA3AC7
2520 C6B4EB2B2420A4C0F99BFFDD4C78C5004F4435233B86FA28BBFA9814CA3089AF
2521 603C33C9A248EE1B87A084C4B461B9CEEB1E9A2C880CFC6F6412B3E8EDAB1BDF
2522 D7DB09069D6E59293655C056B5EC7031C91552E9FC129456B2F95601973C03FB
2523 A81EF36E23424FD0C21F07430627DD6BF7ACA4ADD49344B4931D3F5D6C2F937B
2524 D3F79AD140A12C49D9FD9685693F0EDACC5E3F86E6CE8F17FBC1CD43EBAA1DBC
2525 514613EFC72C4295C55604982C6FAF441238C1FEB7992AAF299EAD1AA5EEBCDC
2526 8452BD15CC9B5DDFC4C8F88E8C0E9E81765BB2D7BA7EC2E28A9B6752A1CDFAF3
2527 E41B962E977C98B32A61E135C23F36C4AA510C6FFFBEA53217DF0B3BA58A58BB
2528 E2DBA74EFE6147DE7608141B836E102013B46E7EA36D599571E1E78546A9ED1A
2529 5EC03951F6A2966CAFC19D73A5D8CFC327646E1B0AA9F196BDAE22164F3C2689
2530 61ED73CE1A576CAF1C924C9B94338BBBF8D9A6E8EE9B1BE399DF34E14E0D398F
2531 EFACC887BBE6A87D98BE52E2ACACD66FB0147A841E72AF114B5D0C070D5D699C
2532 367BCEB962F6AF39185574FA5B33E9E0E229D40D0CBDE4E45C50B3A3733C33BB
2533 8863E85E204697049CF283D1E5AE997FF639E6466607C6B12AAFE0F239EB0125
2534 7E2EF2B43E44EAB0FFDFEFC6219DD5DD2712C0581E9C48C83F71CA8BEEECDADC
2535 2FD70426B19C3F50BCE2C0577BAE6FCDAB30E1922DAA7EE42D9F87F11DF3DA1C
2536 E72540C6E530964A4ED41791ED7B97678575B3A845192429DC05FCBAE2BD4575
2537 E5C702A9DC24817E833277F48E57093255317CF42597E9B166DD13492494FCCD
2538 7B31FCF840CCBCDA3B183843BE8808B5EAC04469B27287BF5E122347C72674A8
2539 7B3BC646DD30550DD3B91543E214656A325E617B029C7A6D3254AAB01DA29244
2540 246B0F649C640412BEA236A0A8407718FDA08944E07B4BE0165D518B0DB7AA65
2541 C2D66DE6E2D22D81559A453BD9E5DF270312EC2B90E9384BC4D6E616679C019C
2542 77B241768E91482F1DA3256C1364B3E9168D23CBF300B9165B4A165385172A2F
2543 63F8EF0260D1266234CB1C3CA9DF120822D644D8BF80BC32EF6366D0440BB61F
2544 08821313F1D7ADE45E3E72C31C63893FD1FDEC89E243A77AB6F46FF1440E1926
2545 3FB94F384024C25988373F52421D987AE20C9426A574E13EBE7221FD4E7104BE
2546 6ADC2544C92BABF7E7DFE3F2C5E7D8B774B3D12827A8C2E47B961D80A4DCA598
2547 8B6C9304E590024D701142B727FDFA6D9967340FECF1E95C05FA3CBF299E6D09
2548 48DA20B684188820D131E06645ECB8AF80A76942ED26D673CF6B2097757CAE52
2549 43AC80C91B61A19029CCE4D1FF76D6DBA38094FA7E4CCC413CB8E5F16628FE6B
2550 AD23C9C87EE7B4984A5D7E2C557B87F653ECEEE48708F3A173343085EB0FD415
2551 FBA0CDE476F40E9FDC7EA0C30FE3D625D0B23C7F387179B070BE0A8C75329033
2552 1809A20731F49E35E34CF9B7B5AAAD4A978175F26DDAD47D54E94BCA0D95A909
2553 463C4A7C17F12BD2A27BD7E33AB9025E0C436CD98F798A0906B586427F0B94A5
2554 ECB11C5521B0B2065A6514D9A34B372BCF123B911DD6F33A065712AA5AEB51E2
2555 350677E0032C1A182803D92D040BD1A90E2629D23863B94D5FAAB4F497645DBA
2556 C678C151552D0ACC0C89B70AC4527082D5CD6FB2425057FB385B7B813E32FAE8
2557 4F507BD27C39950535A0C62E0CF7F1AE95E2966D90D4B79776046F34E2BC9DCB
2558 FFDEB5412119D49EF0DB9DA6F648098ABB5716F97CA2EAA3D8E06364F33B12BC
2559 A23FEAD221FD155B7AC6A1A2A5F79DEF5833BCE47153BA75C6823EF5ABF94B66
2560 2CBA57B7B2FB488D32A8DE2183B8AF918DAF0E0964D9C06E46986E27C9CC3164
2561 5891E14A16D182B201012FBF89EEF4FD0E711940798A8628D6562FC92F38EB84
2562 3AE34ECB48692F78767B94A3FD36870DA53B4339F5F6532E33B98DB47EB13C5C
2563 6A309032AB4DA7751BA2450B832C1E93C11E2E4F6C505CF4B0247C30DB1B970C
2564 4D1350F7247C33AC273779FAA195DA0AEB9042F696E6F734D634504AA6BC0C01
2565 E4B9ED7EA1C651801A3E9A59C0FAC76D6EB87CB06F6AE3F0D3DAADF919DDD38E
2566 58C4415576B6F3B0152464399C8D4A4B89A559989B78B813283892E10F7F243E
2567 0F441F247E864C3FFBCC3EA2F18F622E2F6093DC534874651A251901104AC3C5
2568 CF97C4CCD3C541144651562E0D2F5AD80CB9E417C8E86C44DDC109A60B58B133
2569 533B1E6BE46523223B120B5E75FF1303F2A45AD00EB0C8C80C82B84E51D09803
2570 46593B2E6E4B004394B52C10AB4B9EFCD2DE5976C22C663076F2F213E011ED10
2571 710A8F12E591B4E263E5852110892536DDA5212AD42CD25072A32E789F47103C
2572 1A3F924E1AC07BB715D92D08D4ED1FF935498EB09369B46ECC39F4DAC2A63F83
2573 0A41BCA3EC2D50AE7CABA1655EDE1622ADB77576D70613B86E7B677522A521E4
2574 9F425912417E45AB88B4669D540FF0B25591FEE84816BCB3711C19AD06DAD910
2575 9FB140104E442B2C6797009968B66BE1FB358875A1318C7DF45FF6E416E12C2B
2576 2EE12F720C0C3E9DD2C1C354DDAFFF06C7D29D19FD680CD7A42A08E49D15688A
2577 4D0F9DBE23BDB041E6CF8AF57CBF9CB99F20A9240DD145A07E1D1070FEA73ADE
2578 B01F43FDEA85D6493012CFCD2C6AEBDA13FBC488D892254B0545EC749F6F8526
2579 B8831D95B6D57B3D3AA41A874F7137E82858206200D5125B6578
2580 0000000000000000000000000000000000000000000000000000000000000000
2581 0000000000000000000000000000000000000000000000000000000000000000
2582 0000000000000000000000000000000000000000000000000000000000000000
2583 0000000000000000000000000000000000000000000000000000000000000000
2584 0000000000000000000000000000000000000000000000000000000000000000
2585 0000000000000000000000000000000000000000000000000000000000000000
2586 0000000000000000000000000000000000000000000000000000000000000000
2587 0000000000000000000000000000000000000000000000000000000000000000
2588 cleartomark
2589 %%EndFont 
2590 %%BeginFont: CMR10
2591 %!PS-AdobeFont-1.1: CMR10 1.00B
2592 %%CreationDate: 1992 Feb 19 19:54:52
2593 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
2594 11 dict begin
2595 /FontInfo 7 dict dup begin
2596 /version (1.00B) readonly def
2597 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
2598 /FullName (CMR10) readonly def
2599 /FamilyName (Computer Modern) readonly def
2600 /Weight (Medium) readonly def
2601 /ItalicAngle 0 def
2602 /isFixedPitch false def
2603 end readonly def
2604 /FontName /CMR10 def
2605 /PaintType 0 def
2606 /FontType 1 def
2607 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
2608 /Encoding 256 array
2609 0 1 255 {1 index exch /.notdef put} for
2610 dup 0 /.notdef put
2611 readonly def
2612 /FontBBox{-251 -250 1009 969}readonly def
2613 /UniqueID 5000793 def
2614 currentdict end
2615 currentfile eexec
2616 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
2617 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
2618 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
2619 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
2620 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2621 2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
2622 87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
2623 D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
2624 92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
2625 295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
2626 409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
2627 4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2628 2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
2629 0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
2630 B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
2631 24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
2632 43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
2633 D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
2634 5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
2635 96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
2636 7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
2637 0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
2638 B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
2639 AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
2640 97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
2641 FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
2642 20759B6A4C4466E2D80EF7C7866BAD06E2A1040FAF2DE1FD6AFD5FD97EAAB614
2643 956897A7BA8B194E613047BF469C7B4261CACC1DF1648E8A86E926F8702B5ACA
2644 6CEB4E3E85EF23EF5C9C53097F3BF17243B8D4BF0E6B0C5982FD14E4E916D363
2645 E265322DF0823E9990F966A842ED69BADFAC2CD1754FC84C0FF6750D2373F997
2646 362DDA16A0D73B178FB7B67307204AF174AB871C254B8E7CD77058113B702B2C
2647 13F341A972B67756D65C6A9F553C365E20F0BA59F8537C88E0C13F87CEC69C9E
2648 0775F760C4EE10819388782A2CC2E9C000DCBA76E4EFC7B390E50611F3D4F6A9
2649 CE60FC3B742F046E84B4A302F5DB51092CD59F103DEE2910757696C3F131517C
2650 416687E6DF671911BFEFE08D1C5D0B16F9302960E29760EE101C5BDFBA4176A0
2651 260ED46500F88BD388506DA361B0E9FD796196E66B332C82CFFEB7974F9E4428
2652 B82C64ACBDF865B4356C4E2C8E6ED840AD5579B7E08BFA3BD81AB1FAE47901EA
2653 E298F60FFB651A0ADDD1C312033C9D1FD4D0FEE44FAC4B0288339260EA0072DD
2654 0AA168900C492640EB652F4ACF14A4F84878F5EAE4169AF39131695A11CC691C
2655 FCA75087938B15ED1B742607D839E542C965383D5E6718EA6C25512F1532D0D8
2656 545EE6AF47BF5B6F6AD0D9E44465D651D2236F883F1F42ECE339B694B19D2433
2657 25A476A6AB06A9A39D3BB3977D7173AC8D45D1391E26DCF7C82B2430E1E19562
2658 9E081FF3E448F80B400B1EDBFCAC67020024E564DA954FFC9B6F9035304A45DF
2659 B05DCB7A5C5C7397D4E63D2356D447684B190468BFB7B9D1048851798668258B
2660 1EFE93A5CE3D9065AE99ED3C0B44FC8DC241899034B8461835D0FB7A9BE1E2C3
2661 ED9CBD2978574DAA38F3DAB553F2B69DDFE38690AB5F44AFCC61932F45040863
2662 87475D23DE05228EC140AFB1889AF7A01935F896271E2700CCCE86955D61B798
2663 EAB203866BAE9A336603D97A6EEFEE66B6F3468EEE59A4ED4256E8608A451D13
2664 B2DEDE2A785CC2C52C8F2FBC621991133676F9837F250CAE1009DE46DA396797
2665 600ED743FF52188FAF482B7006CE371B4D3987AB593319112A0F976519580AF2
2666 AFD7A0B06B3F26F88DF91B85040BF71AF4E4FB90EC9326B03A4EE3EE880BAB43
2667 2D219725FBCA548CD911F38C6954DA66AD3C27732FE0BF7EBB1E2B05C13B0218
2668 E53F50669ED89AD7AD433F881AA6D87629E16860FABBC42680DA4692B4F0B445
2669 B1803E3C703874B454E460C2E9FAFF441693C4E2499B5762B19B5C686FB67380
2670 A6EFF1A0CECED92258BC9B1487BAA768207930728987671A26850A871DFA8DBE
2671 F72A3F282C08521CCFFEE1C289F6C3D797C7B904D622287B0B6D30D549733E12
2672 5CDBE31707409A3F7B310861ECAD138AD5B484A028882360C34514D97C5A4CC7
2673 F6E6ABC1D3E50E0DD3580E57E72EB3035E2CE43776643E402E0E44D71D691A83
2674 DAE4E456F102EAA4E120EBFC3D8904F41174BB2C1EE961CC68F40F0C4D87AA93
2675 5E4C15188F2E2D6DE9C33AA2A0B565BE6526047A4235BFB96C00126D7B61D51C
2676 B820B9211D2A3C6BE27CC172B126A88A5592223FFFB281CC1EA49996DDC14E62
2677 0F5554A0F0624AE6119641B52E19BF451ED4208F4BDFDBA89E03C76BE9206239
2678 94B285BDB30E3A46CE85562F2D44F806380A82BA93A873A2EB9A6832AA5D96C2
2679 D87D41DDEAC2EFE7AF81A44C83E11A64E4933E79346B195B116C1CDCED0088F0
2680 1D6A2081DAD4BBDAF4551A4DA60A26B9AD88157F9DE987C154CBE1DF2F1E24FF
2681 1687A508031CC50DBB038083D1222A8E6C3426183BEBD7A133B81ABA20594DE5
2682 62B047FEFD4EB3214EE60AA7FDBDB8179FFFCCD3B099435C0A40B6734844C854
2683 7F93A0A3A0F081B3C2F0F7B86E96C4CA3CD3476AB38BA72F148AF1735548E5BF
2684 3B3CEC81481BE5538B4BED43CED8510E22874C74E54BE6A46984206F3B7B7BA3
2685 57F2E2C063152FBA13EDB9E981EBF3004EF21C038B803F63259B09E444A9A880
2686 C6B8D6A9B3D825C75E6B265DF49959A0DD6D83252E7394CFCB619F27589ED4F6
2687 6F5D1EC0D7AEEA02BB2693ACD90D174FCD3463B068EC09E042321113A45F968B
2688 58BEA09FD0B70F25CC1CA1BAB8D03BFF43AEF8560C6A88D2697B35BB4D0B7505
2689 F00950FDA0596CA47522B358A8629A6511990F41038EAE74E2AF772D2A3F675C
2690 6EC85A396BF0B95AFEAC85EB40E42B76E6B1C5DA0C0CA88E9311449840E360CC
2691 FC256BDAEEE5D346B61760C0FB406EA3604CF3EE48B66EFFDA0921098D5B1380
2692 5F35D725EA4B097A6732E64147B26805C7F016D9A3E326369A08946801969AFE
2693 D74FF37B2D366F02BCBCDB6E08267A9FE8B48646013CCB01895206CD602014D1
2694 C8F74DE7061AB85DBE0D453DCF87F04965134FA28B4D23C88577B96982D72CE2
2695 841E663A89E909FA491B29A0C2CCD4DE3F73B141C058019DA855B8FA58580667
2696 C7601CEB3D3E102724E0BE8EB398AAE8A2BFE5008C4E00EC0D4F6CE3E75C4C96
2697 8A53921EDADBC3C20589C64D1AA95A3CA84C3C57F831DF8C8E5AC636DEFDC936
2698 4E158540854A92C27E4A0244FA813E6EA38BE840DDBFF8C83333C6B13A18C625
2699 35BC58DAD175231E396B765983CD04D509D5E638CCAA3FC2BCB256DD5062B0CF
2700 7F59A287BEC9F797A132EC2B9DC04F83D6F50835E30733E51575AC0C36BFB5CD
2701 F05990B7DB839CBB443BEAC00DD590258C797CA0BE270421C0C339F2B98B2102
2702 57CA3D9B1001DFF2967610C03549629AED26C40F9951C7121B5C9CCA01A37E83
2703 2584663D35A669CD44D112CDB27D3D5EE9A74920ABCCD6F300DFA2336CC2378A
2704 8B89C302707E068272EA79B73651EBCC5E0343D48E42E22CE1EE7587BA33563F
2705 140103177C285D8B99CB871311560E8668562BFBB43C74C8A79121967108B29A
2706 51736D4632E8F4A5E6040504EDF9C9F63BFA89B4DC1B34D44E4C1E21DF7AE28A
2707 6EE03BB6BD2742B1B536F7626391981A89620852357A87AD76ECEBD9EF20A913
2708 2D1FF5F429949D73D174627B1B1D472B0793CA93754A1C36C0F4104C75D73E8F
2709 07E1B138CFC09CBC040E33B5E0E3BC6D4740D888760EA91CC7076C1E954D8A30
2710 26043BDE830B183FB7AB14D40045A9D6593D6EB8C56A521A77D055CF2CD6C0DA
2711 64142E3A46FECF886B00EE3D52746980A6E00EA717228FC2D1FE4B77ABC8AF70
2712 2AA6FA0380BF11AB16FB9414D146D64D80435A5C6BB98A7C6AF630BF799D137D
2713 6052C8E6DC222EFFA731D06756F21225AE455B97C2B5CF4405D9161CA4E07A2C
2714 C947491C4E726A3407C9A7FE74A0382EDD7861929B1E92ECF09324BDE05142AB
2715 688217492AD8E045996BDBC75AD9A80D1F7A6D366484BDA24635AC17C769DB76
2716 64F1D9B45443655EA6D9F02218C227A4F2E4006529E751477235EFC0B07F0BBD
2717 8C48DB10821AE4EEFA1CEFF1FA8E5B2147D5DF8DD3A7E3CEE230D7801795F53A
2718 145F340A1A1FE4F52F5AD695B8A41310160C2D45AF1D55C64243BD50C61B2E55
2719 320C73F687E129BA7BAE7E05AD3552B2355C074BFB9A5AA1EC46B3F89FDF195A
2720 E39E0F99285F21E9EB6F2C97107D52C0FF132752B69EA6D598B2B2B1667E6821
2721 8DE07D2AA24A4DFA8453E73CF43820A839B6F65B49F601CB7F7C213B03872169
2722 9FD4A5F850F88DA1B2804FFD71CC9390F3A70B6BFBDB6461C4E8DC88AA4BCDCD
2723 C1044DE725382D539842406ADBCDBFF535163C958940BC8088D4A159C7923306
2724 9C4008B8AA7423673B2D4A13323F0714D4D044D10C43274E26301228A189F421
2725 C1F57DB67CBA6D84A173567C691A52FB06B01F5FB9AE443459D7DD0A7C062F55
2726 0D30A3B26EE6053F42E46A36B954C84BF4BDF2560D9238E426842569DE74F760
2727 511C965F7979E027EFD2CA3436FC7D730E75647CE1933B2F4A10C1E787482BE3
2728 C4C669C8B208B0410932045E70D22F97DE2B23D38FE29E46CCD95072CD958ECB
2729 CD3743A73F479A7A2248D28DBF0A121F03ABC851A047F4643BA1C021728CD169
2730 72E2AD68C8E3D42C6FFAF8C55F8439B339A21F38AEAEE991D8ECB87F77CA89FA
2731 1D67E5776122445AFE6D473B13158FED0462A3A7C649EC0077469B87BCD657CA
2732 9B04612D7FD2A30F9CF827C186C653E2552F5103E0A96FDA11C7197C0D8FBD05
2733 BCF8EB440BF4A2581B583866E7F3D292ADE2A70C9C60A9593DC3847057022792
2734 0114D4423E8C42982F416F881C48979553E03D1C3DDB4A6CDE3C1E0991E2C870
2735 F231B2383443CCF5BED16ED3CBDD3413635EEBBD3CB044A966DFAFADCDC61C97
2736 985842D50B99B876887018A473DB8135EC0D2C284563EFB90FF79C69CE003CB7
2737 8B4D43975754AED0B0E89834D15E6DD63445CBEB4B1BBF2C53D33A6622BCABE8
2738 B559250A3C6F8436386517E98C90BA73C55BEE718945312A7C76F7CFD2A495D1
2739 0A52240F141AF359E416119F1E1CE22B62AC601C5FE98B71F7EE02B74E448C30
2740 C66C22DFDB2D1C308FE060249CBADCAFE88D8C5ECDF521ED45D391444A062B2F
2741 CD24AF35F686DF8B7ECB190EC711D03CECFA5013A74ED636B4342DBF99613A26
2742 B9CA675799F043ACE9183C740FE318AA14D2745C7FBA16CA1B3DF9D903A0CDF1
2743 9FD6B8AE79F5BECDC0E8DF2A0926673039391929E69AF3DF25DE415B0BA2AB66
2744 C44641867A35DA82E9FADCB443BF003404ED82AC51DCF21B69FDE0DBD0B6B385
2745 16E7425E78DD0F7225C54742E1A1F9AA82B8CC7FA8B7068CA0829FBD70E9FC9D
2746 118DB0E8B898F2A6851124F8C5A5F8E32A43CC370726DAF76FB287268B4E4505
2747 69742957845DD64FC8548B87585F530A9263B570CEE1E612839F7643A77B4F63
2748 4B4686A9186E0EF418C3D109EE5A5D8E65F0A4970CC547144962FC5BBB8918C1
2749 5E6BF92D4C1250DCEF28F024B090BC6295E8D666F5A0731AAA0D9D85139C7D5C
2750 DD89FB9F5D988173A25168D880654B8EBBD558EEF6D61B1AA5F202A8FF391B84
2751 145429CD056F0CAA17CB1E71F22ADBED4A691A05BB4AC87E5A0F5C2DABF5FEA3
2752 23BA5A83180A30ECF4F77E2159230E899172C9C6E75AA883387D4DCE59443F3C
2753 55EFF2C748CBC4F34BE7F3724AD95F6818035E38918C3041700165B51C9F8B64
2754 4276BE42FE46E582186E92FACD55ED8B42F1F42538E9F6873A3CB8F4EC2C1B80
2755 4D0145EA466B91099D452091BEF740D2C129B3ABCAF5D2050EDCF99DF084A582
2756 7338AE2B0F93F561D691426C6A09D2B9AF3A695E3DF9BDC113714CC57A1321C3
2757 213B6B42714799CA9D814662E7303D3AD5264DFA887093AC17D3DF9764F56EA6
2758 8BFB28FAB795570B77C472F3BA3D5DC8BBB21F5D540089834FCB5AFEF9D834C8
2759 6CF0821F6404E3BB380B83DF6198565AD5931F0ED2A27BEC3157FD4FD348AA19
2760 A562DFDBBC1C0D17B56DC61E141B6A0AB76C4620F58BE535E27E020D49108DE7
2761 569CD3653FB72DD5C9FA003F85B49D94D231A7DA268D0201DDF9AABD311430B2
2762 EB0901298B119F58744CA611F0E01CA65DE57DF9C300B94B1F92B5D6B55BD38C
2763 F93B0D08D4CEA4BFF39757D97B1A5CEFDF589533D6F15665B0028DBF3D1C9764
2764 431AE38FDA3F9D2C948DB4C4CF17ACA4C91140415B51E8EC5057AC9514797215
2765 35BBEA9B9C10D6AD3E160705A63600E07A89FF63FDAA1727A527FB329BF7A768
2766 81B59A64E36D0B45901CE33524F0C744BEC0BEFE3A5F10A3BC2C1F8BAC8B466E
2767 A1017BF23B02B9354E31015FA40AE9525C68845F940125E74A85411BD5E7CCAD
2768 5B84145C1DDE098F7B3FBD7EED68BA578F97B5500E1CFA2BDF7AF99DCBB3F1BE
2769 2D0AD07F5AB5835433338193ECEC076222768E45DAD6B30D15074E0D1696A52C
2770 CBBB5027353DDCAC18B85C98826F30341488EEB6E83B8E66699A20E5E7BF1D8E
2771 8B555F1E707EB7F1AC5517C790014E9F75791DD1C88B70BCA8F5DE593E708055
2772 2F27F47864BD085128195369A709D5E3D54A930EE096EFB26DCEF2A4480CF568
2773 65BD7269A0D6429F6F5FBF5D725A7589C413712ECB468558657DADDF2797C5AD
2774 DFD9E8C089E5199382F71D31B454A1F16515CD7408B37BE06CB5CF62070FA8C5
2775 1D7C0A50F58E5222469FDF54EE5474B51368F5E4A1B625A7840063C8AEECC910
2776 20C77D6200BED08E33B594D5FDAEA35A59E50D571EDE267F0AC65133D9CEA709
2777 1831E9518BBDF34DBD6F7AE4F1A6F96E219514035FF986B1D0AC37AB9F2AEE33
2778 9F24556D59D9D119627C06D81176EC69E516002994D82EBB47E1FB006F43FADF
2779 D14EC8D299705DF7C2A08C578468B1376BA1CE7304B63582FB27DB17A71FDA69
2780 EA7692A8C7C3399302DD235DB23CE039A2E04792A2C0C17522B3AFC4C1B24985
2781 653ABFE9426E7A98B81309E97B8EE9734F66F05A4C8B628DD6A154D34197FB4C
2782 9B9AB21652941E55BAEBB7FFEEAEF4C7F623F48C9EA79784DD5B58755823BFD8
2783 F3F836589ECF72BFC1CF5A857DA8B737CB53BECE35630C5552BD04448D3582A4
2784 C70E3F05DE23A870BACC5A1202496737C50355DD76F23A03E1E4DD49EB207ACD
2785 5B9A7A763C8C83C21058FD300371577F627EE51C8E7A1D14E90D03309EBD550F
2786 2DB5013EE16F576B072E2EC3672B92C0D7516005A3EF3C8EA72C2E0F7CF89289
2787 F81A39D17C31A60C9224ACF21EF9D3E9772DEC77E336B6656D0F59A3190191C5
2788 0451A3861A5089E5FA169914A78C3BEEB494FDFD4B5D854BB50A64F81BABE716
2789 790277210E1C34D229FA807F19077E21FB211EDE65316234F312FB0597419D78
2790 F07D902D4C56ED6216A70D5C913D231A7C60E5FB4B243E7879B60A96CD6F4539
2791 CEA41BF0D31A5C3F646A0B7F973209E1B986E90D9D045D27CB0B61E4B6A360F9
2792 BC4E827243CDE96675567987E474FE36007B7BE756FC1661203BAA6DCA26247A
2793 0D2C241C8031F2114F4BE051177691B80D1EB5FCB4F1C6369E3D87D20224126E
2794 7E011D4B442EABF071745752CC6B94AEF3292B5EFAA9A81096BF5ECC61F49134
2795 56C01F234EE02C17BEFD0D773800FF7ABF498B5B797C4698E7BBE58882CFB96A
2796 FD810378BA5CF90C7382C2A4A641ECE21C7B70112FEF4E7ADE2F2A906B60DA4F
2797 831BB8A8A6487291FB678BED9E2DBDE285E7B329661A9F522811E589AFB212D0
2798 5705DAB9469041474C6AF7E6D75503C55204F566123A044EEDE663E4033F6272
2799 86833BDF75619A235609E7BE0F84222AE1393F681DE965EBACF7B24ACDDE30EE
2800 C0CE93884F54F324C46CEEFBB5693AD705232EEB63F76C7DFDDFB1622786D2A5
2801 2DBDD9037A43749C161E5A0D63D6D457913DE8E203650AA1AD60ACD92EC6493F
2802 801F2A53E5D28FDF5935FC388FA33D36BE7BA7D5125D38606B5287B8C1A7BAB6
2803 8A3D0830F53B5AADD27D4E1319DDD342EE4B06CF1FA89306F2E187C35AE88329
2804 01619FA5A6AED926CFAEB7D3BFEB6CE6FA6796F79709486ABA82A2E0DB986D9E
2805 C7CA32F1645B228FD9589CD3A5B783FE6A21A5F18BFA364279884A4A64A0CA57
2806 D46F97A651E67DDA90BD77E7F2243D643D55A973DC11F710EB12B6AB5ECD6ACA
2807 5E90908C10AC3A3412B469E20F2FB0E1ED003D240E9E545BC41D4D172728F859
2808 BDB53321361FCFCCBA70EB836B2AFB6632D5CF4882B4DCD7B8B0CCD7E2FCEA71
2809 AF44667289375CE6B03454EA6796BF7C93151E13CE16663B42BACBC83B74E869
2810 023AEB64A9834484FB035B37FA814ECF33555BAC5305D3998ECF7DC04643BA6C
2811 21174FC80C88C76AA389957651F38405E679A4583B755EE600DB28866027DAD4
2812 95CACFF8807282984A8AD0010472BBF39D356A1F6788E32B47E2563E2A3183EF
2813 11DD331C3491FD99C954F8484FB959D92C73F85F872681E41D5BEC13AECF75DD
2814 35115F8848A1887A1E6B92048D15368A23A5C657EDD85DE303063FC428DF7412
2815 74B19C7CE1BD2B3055973A5E3313AF363DE8A8F58BB32715D8A764D8D9553260
2816 DA5143A4AECEE6EA16D078EC793188B7E360D512DB3479DD0E6ADA36D77817AE
2817 9E70AC147DCD6DDC8B97E09E58290786B45AF81DA8CFC41E2E9B0868E15E1811
2818 14DA8D1459D6B2E75A674A3C5DEDE961FB6013571BA13C07A080BCFBBCF5C649
2819 25D69A8A061908889EFC39663D2D5DDCB6E266D1113EDFC35B3AD22ABD689BF2
2820 05F99E1211944BE4D693B98940D5DBD30DF903C550A18047E481BA6EEFD108C1
2821 5E64C273C061523311F3D61C58DDC81C5FBDAE8435132788230CAFE3B1A49F1E
2822 C2B606979A2F279A6171490B87B92F6F1B085197197E13D1389873B74C295F2A
2823 CF62D593E89491FB466F4242E0EA177D1B2B485E3CDF731BBE8EC6A16D8349DC
2824 C34963714010B831CFC9D05EEA1A4DC31738D8CD0064A82FFE262574CF4FC5CB
2825 EE7235771EFAB1A334A18D1CC3B87F979E154110F359F8C3E56799D47D56ECAB
2826 9976B68F8C162E6327D5ABCE3F5C714E186B6B0882113329C9E6DCDF4F1B25BD
2827 6D95B6186C208EAE2E2DF0506EBBD05F0B3FFE74D6038DAAC04368A3E1D3270D
2828 E3838D690431C36DDE4C69DB18500B11BD5E5EFDA986E205B40C8692CC04DFC2
2829 7454538C6538258D586B40EF6919E1B0EBDD0C1FD44ADBB38AC65BE2D8D87074
2830 B88402B0CE8E702DC2C0139DED9A7EBCBAC41B5C3E46F4494EAAA69C8190D5F3
2831 739C734E5330DBFD5B58B02B392510C855D72692AE279F41E6091DED1640D727
2832 5F498FD039B08CD2510B63465105A94AE8BC8F5B3C0CFDB39040BCC09A454301
2833 FE655E94BCB595102FC1AEE960DC6855B6FA1935EBF6755D5FE188B16BD2EB47
2834 BCAEEEE328AD7B240E39E27F9D1BF321C1EC5A42D29A9660CFFA0055F92DD19F
2835 EA9CDE6E5924E29FC97FE95C8B503F567900054E401401C0D992D4669E7C845B
2836 293E44C8BEA218BF8A17B5DE1BE25D368DA330FA17C489158705A4E220194C26
2837 1D1B49426291E5EB7B15EC70D77CFE9A43AEC94B699DB1A38EA9893DEA82CCAF
2838 DAA0643CD3E20FB061E0B4357481E4D0B5399A10172B07002659BB345D967FF5
2839 A032C03D130231B1E5A1CF7A9414CEFE4E22A721AA7CF033D845272B092B2903
2840 4EFB7D0E60F5B95D39AB0B6D2595807DBF722A345B229C722770D69A9D16AD0C
2841 9C4CD7C6F4CD5F78A28DF0389DAF1FFE69B235D86734B4FFBF908EE25E0555D8
2842 A2274C94EBD77ECFDFF94B78813A6BAA21BFA762B0E9BD644807076B614BB9A4
2843 F9F700E462E541CB1E0404F4EB351B1A3CFB1204B05818A7D76F70921A45E5E2
2844 FA07E24DE98C47F00942513C07744867DC1DB15833C2373E49BB891CF61E9885
2845 8B6C5C5F068087967731362D6BB3CCDC6C853A4B08373663949718A42AD2D0D4
2846 4CAEA2C90AB54DFC24431EEA5F95914C90D952CC155CD65C9F3B1B6A224B3EA6
2847 E767E7199C4281BB8A5346AA86E7E4C92A6818014ADC41CF5AFFA15D47939A6C
2848 366137DECEDAAC4A70B44DE8894F69DA11DCDA2ACDF19629F0FA9F6BD65A766D
2849 EB9E93D996D24A6970F7F9D291EED0A52121263559A104792F59960776EF2CB3
2850 D964CA24EFE8CAE52656DEB970560AFD115651A806CAF96304B6ADD25AE2A19C
2851 A5BF9973219E7AD20112A3EF5C006410BF83CDF365FFBC159F3445B89FE7FAB2
2852 3047B3EF06D268F0F4C9D3481EF260F713F1F42269F8FC2E2229477724952A09
2853 448E77039B9E3CAFA153F2853C18D135CEEDC0F5201E4A37BB0B864E4DC0E5E1
2854 934BB4D11FF0D8A6211F12AE809B95292603409F653F83B798B255EDF4D0805A
2855 440F87F0FFA188368A9DD000BDE75F3835F0CF0E3F0008291B0276EE7E7EDC80
2856 D5550F48CB37951E29CA48A628148D5C0810B63CF563EB97F67F98809625D593
2857 DF10760E22564E597920587C51B60D3D4C06E9676E32E5AC46064FC2AB747F7A
2858 E1541EA26A81725559F65EA321E00B32126504062F7E489DECAC52AE15061594
2859 ABB6D1981E31E922599871EF5E51FA07DD52A34503A87D25FAF893C5CDD40C47
2860 3F4A5707A3A64EB4CB8EB001F4798FE84C97A95010FA5ACE90C4A5E25770C83E
2861 7689DF3DAA80F0E60B0DCFBDEB36A961178E860A94ACAA8D298FD3C6106D4598
2862 C51A1395C7963C301F750BF1272996025456AAB13ECA2789407C6F00B008CD88
2863 6BD9002FBD5F9A71E9BAACA34AE13E4A02741E6B5823A248112BB311882017A2
2864 243E8969AC1D086B4440699FB55DA135AB06B7F2543967792D192131B2BEB9E5
2865 BE2C84F8545DD6FC9AABBF52B0334E1EE504CB3E8686E4C40F2EDA42334C2DED
2866 974C295AC7409E7CC23685FC2A842A7DB518A0E9EBBBBC0D6481A192B19D698D
2867 CD64CC8D8D37774E2E3A12E20B54BD4CCFCA839A50415FD4C8D3C133889180B5
2868 F8FD5EB94B851E758C5D1867D314C8B9A4E52EC00429012FCEEA954386D7605B
2869 E3AD2EF9E90BE6FD067A9E09B3C69058D2594D59382BF87649C4EBC8BBA85A2A
2870 D7BFDBD8F5078327BA64A774C4E3C0E4A5ADE51DBC917E79B980718089389059
2871 F5FC76870428DF74463AD6511E4D2DDBA4D48E689FF39B151BE88838DC56E910
2872 831248CE6030EB7FC38CF2E20123C9DAEDA7A0181A1C4A84726EE8FBACF3746E
2873 3F346E574E6891A75BBDF6AE25E2FA971DAF95258CED57204205781AE436D8CA
2874 AB73FEA627A080E93C4E1143D0CC169D30B0B09E745A16AF3148C423D4A09DC3
2875 86663CA2DEA7F211C35E664D49A36EE5188614FE8BF07BCB907A7F122C5D355C
2876 A7FB601D9BE8EE464E175E4939BF95CDBD3770436C067D013D82883084413225
2877 A5B2F953E935C8091FD5F72A38790501437FC71B913B5CB227F26201D30D27BA
2878 7B40D0C723FF10A91E4F000A2CA6C8D37614E9001731760E962D43F58019E832
2879 F23609A5BC1ABEDEE492D11302BD02C95FD43B4B64736726F7370D89370AD22D
2880 0B023A500BC7A17C19C7831E322145A610C8C59B6655FF1E8F057E57DD517BEB
2881 1938CFCA0F735C9DFDA45EB1FC4B7B61174589C88599861712B32EDF2670953C
2882 6A4361CE502E8A906A614FB15D2C0887C2F56CCD4D46279895887CC6D6C29979
2883 7D46388602E0E302879C1219168D6F6D754D5FF4011222536EAD5BE004A4B034
2884 3E38432E603D6C616CF610EAA32B07CBB385D159E60FBF268052BE270B4A9D10
2885 0864100A7E77259B9010CB76BC499269A9643C8AB8FF8361CA4CABDD63137187
2886 8477E6B188454FD7C38B5A4CDAD8B29E8715C532F109EB31D9648BDE12DAB4C6
2887 6C664F21FA67051E9DC83BA30F9DF0D28BAA87388335FBC1FAFC0D9760BC0662
2888 BBAB75775334E610FF1523747854070CA690FF0CC6BBFC4F99294C599B95CA50
2889 5117ED7ED147772D5B93B5D77E3DE1E4D36A7BCB0E55F58B81D8F9483C2E63E9
2890 EDF2FA8EDCC917D8688123FAA708F381DE1785F1DCB5F3A432840CCE40EEFAC6
2891 4AF1ADE43AFDF639DA96B159B60211DE50F8C1AAA5B241134A4D87FD7DB27900
2892 AE076B3690FEB3422A1AE61CA44303F3023A69756F7A18B7B27FC448207D936B
2893 45941B851CAAE24F2CD79C6213E6B07FAB447D8DEDF9767FF6C50733EDCC3A21
2894 4969C5B1B30FCD03C308BE43A2CC1B2892066EE5957FFA13B5223B91D205FAD6
2895 422BC807D54BB8536573AE5DB6FBDAE5BE3D4DA817A760C40BA7A51B3970D8AB
2896 29C666EBEBDD63BA88542957E82521264E854184BB086436926674651E7BD853
2897 4FF0986CFFF4F4B6C0ED2575A1F2AAF7AD21855221D4EFB2A6770027AE767BB5
2898 322ADF3506ECC8399C6FD38E4D04BE7FD744A1092B9EB0E6296CE39D8ECF0E0A
2899 AE4754D020A7D3A0B0981937CF1DB659D589B491B2BBE86988892CBA2BBA5F6F
2900 6FE0647CD0741CCE075DBDCB510FD9E235DC595BAA98F6EE9ED8BD5643AAE492
2901 3274B56A1AB8B552DAB4944EE5762837E5456432BC17E54D7923E99A68C71528
2902 F62A050367A65AF0CF8A2CA0C2D10F71ABE18ED52C96504E533548BC10BF6D67
2903 F12400C3AA0AE8A14EFD5612BE61115A425D94D19CFE178C1B7E68BF334A9B66
2904 057EF072F089B3D88FE17B2EFEA543FADE470638E04D55061BCA15F2B89E67CD
2905 FB0B601339CBD84566836D4C21D4C15A66A35557E8FA6B53FB4D4328CF36F5F1
2906 38A6CB2B25E22A9D90F94C523523332E5F36E61C2A94FFB8608609DD6FCF51D2
2907 0D09DABCFD33DE8E95E0EF4736660C84295F5A162A6AEA2B575C527D850B3219
2908 3835241F1A48D34DD112F4D872ECACC9C5E56F5AA22E03879C14FEC4B9F20BA1
2909 2855A9F52B66C3B6431FF62458914AD31388B3A8ABB772C4AF65D68042F74747
2910 F7389B2841AF7DAC397C0760D68DA293B35D44C7B1936523DAA85E7005723FCB
2911 C5E3984D7BF8164A27C0055429F7088199968B85C48113369E3FABD6DA47114B
2912 24DED81BAEA63412CFB17A3DB781A152E9C71C16C77119E11C5648035E9BBC88
2913 866966DFC73CD7F9401D80340746C40F28B4B5632E521FAD1601AF7B7051B4E7
2914 68BAD4999B0F4EB4E533AABCDB055016D4606289078CEFB699ADD30B91327B0D
2915 33C6AB337279339F66967006D7EA1DBB72023AD1D2AB3647CA51B3BC08D3BC3F
2916 C81D7C6D9D039A9566F8FD89DA611984C2056F5FC8ACC1EF7457A68C1FF2FC4C
2917 E7DA850A27ED2356E9A14814725076FAD852C731AE78DAADDA54FEAFFFDD6294
2918 E7CEE99D7B522358900878D63EE1C8B05A80FCC0631D7DFDB2E5ECFBF387DBD2
2919 69911D149FC37056FD53B4478EAC4C19E145740EA40FA7D9333915F46C8A6D1B
2920 2D692344E161DFFCD4B72F6A366C54F74BDA8EE0B6F02AA1F3C93CB837B78FB2
2921 28441A871B3B89F087B48F54AB158D580C8869EB14780ADD8A6566CBA0A11947
2922 FC8DB18B26BE207D0DED8ABDCF2A38B6B7A5FC0D66774D19416A938FA10C4BDC
2923 C265742405D0CEF7F29CDE8D1C52EAB6E7980F0759C237D123888C8A4EC771DB
2924 9AE970C01E54A9C049EA645412D4A7227EEA098C176EB6BA5EFA94AA6B2674F0
2925 18D78DE4A98A6EAB6601ADA27DCFFF7A128C5D427E48565AD2E3D9A1E721D8AE
2926 559073075840C96FB9260E5D8C9880A345F9A2ABC10A4C239954153BF2DFBC80
2927 1A3DFE670EA1ACBB27D37737EFB53304A9C4B693B9F25C29C47AB86A68455435
2928 C2067A7A5B394328E0060238B16DDC7F7C030208873835DB785B30D581236EF4
2929 1B33D5808F63FA287D3047690142A153337207AB78549EC427508D5734643A8E
2930 5707D21967977D39CEAF6A7541A1AA1320F26CADBC0BDC79A1F75DE8856615BC
2931 30D55992933D50E0702F6FF9F717DA3256CA856135E70D6B04105D53C19BE33D
2932 D0EEED2C31C77435A64FE31B499559B25E6DC5855EC5550EDCB93CAC88CD794D
2933 D6147A019BE173068EEBFE44F9218503ECF2A59AEA8DABBC14CD7F12F0CA352B
2934 81CA9125C6F37C5F036519708FD6A0ADD7FD0F8DF08FF10015A412940E8138CD
2935 DB47E12E48B16F2DB46B4198BB470D6954AAC84DA2FFD2E75FDE8D6435BD0E71
2936 EEAE6FA1B52D0D1D01BA3952A2726BD4F5C7AECFAAD08BAE8F99ED370B7C01A5
2937 FCF7FEB0396D494B8F108EC9C47696100C5532222EA00327627AAA0261B3A032
2938 6B679D75FE00A706A3A466071BE7F0343D45AE82B35209DD4077009850CE3E8E
2939 57A4850F549289E116D2B717D4783ACD1516C20A485A0E29BC37B15DAAF57E97
2940 8E71955F0944DAEE1F278C09EC82A9145C40E2C848122CE21D3CCFBA7DBE8B83
2941 6EA0426646A0919119217FADB060BA8D729BE7325468977A54801EBABF61526E
2942 D468ED7E68E7527C53CFF978E4C92213649A4F9097FEB96FCA2944654351B9C2
2943 F5D81B11CAD388992683A9F1A2C9529A986ACD60040758206A16C9A64722235E
2944 C3830609E12E8CA5F5DFCE2DA95FF1BF3F52444864C490DBA7BAF10EACE49E7B
2945 BB30B9025DA60A72C9831536669028054DDBE553B44797D811CAFD01476BC606
2946 B0B2FCE825564922F638F26AE543B450A3C40325B2BC09BD1D7E982C0119226D
2947 A035552D1F99121F03CE9556C74026FC4CB7AF7545F0D2D6D82FC889B2CCD558
2948 17D8F495BF397608424EF3FF0507C4514187873C47F28AD1772DB6076D8FA6D4
2949 661D25BF1BFEC837662050AC927EB208D1C875F44687B46AC2215569197FCB0D
2950 C48D280DE72228D81A26A4313A53D2FC9478BE3DB319782C0679A48C1214D8DF
2951 686F2CAF83CACED005023C59A10344DD6647F533D9C518E9F0F268CE3AA8457B
2952 8B247BF538D7326B115DB0B4FCE8AE97289F853A3C6827D9808688C45C11140C
2953 AAE674E6954E8F33E915AF7F2D9E2C50E33F167FCA9928157BFA77D170D5D65B
2954 F3837272FF10315541805D2CFF046A80D1F2B491C7A12079DFEA00DE28403088
2955 0DA4E98D45A147D909CCD39212C97C46392F2510461603DD2F13CABDFC02F09E
2956 6470DC8E28EBB890C80369D5A736AEFA0F84BB55E66817619C9E84C4A3D4E41D
2957 D95A4F10991FF7871E6D29CFC29945D5A0ABDB755AD7635549BDB688D4ADDEBA
2958 0ADB04566D2A05769E7FBF287CCA2D232B622B80D845D4D38C819B2D2B619FD6
2959 285E6F63008C1B49B74A0A26957F6CA3B9D202195A8B6650F76DCA7F80D3B405
2960 66D522DC7B7206B611DF3D3963DD8219C0107B5E9CCBD45B3A847D1856D22D81
2961 556252E218FCAB6599952DB8AF8E824B3EAC776AD84ED7D0454BAC9B3D2919B2
2962 AF380495159CDCE2735DCA77B6087BF36AC55E87A840AC414CDF0749A2BA8BDE
2963 0B84B6201BD0CEA39C0C44CB840CAD37452AFA68D28F505FE5BF27EC792B1139
2964 C87228B94F037CFE1F4A23321CFC2F0948CCF014C42F218A6D69397DF83479DE
2965 7B257925773238B7960FA4CE8DC4100D90E0642CFB3DFEF9D7D956E07FA6844E
2966 25CF9444A1D706567761D48FC754EA11AEB9FCBFAD25D51BE9C1C2636C5B7573
2967 8FB1603420402DFDC0E8CA2B58970061D954FA4B14250A81869366846102018D
2968 8A94049C5D41D4AF33FBBDD458B03EB46DAC1AE90FF012E20B77F0A4F4BD2061
2969 BA4D3A0450EE80BA29BD69E885E4DA19E43DB63AA39E39480737560A9AF20FA7
2970 AF86B2776EA950655BF956EEEF75116557A67A670FD9135B5774692FF95E916F
2971 3EF08AC5F562B63DCFD2837741C7882C8475A571BFE0B008AAD10FAE695CEE6E
2972 E79E7E379E03EBD0495785C05F581AD2C52E669F9D4535058083B44F2D93B232
2973 E3C79EFCA6A3C1840915CC0F8F8F84C5A81B0B9919824A31CB0964A090E253DA
2974 E8DB31E159775429AC8E30B7BF88B1EA1BE9ED4773DA29D0E5FF61B7698D20EC
2975 36D41952F613B3F733E7759B6A21021FB5AEBA1B6986954D017E4A14C9021BEF
2976 47592535BE0A7D5162B25196632A018384066C60702218045BC57D4F42196C9A
2977 EC20E33D76A059C1316DC5EEF50A6463BB4E1A4D95E724F7B8CC9D1A9F621832
2978 24C7169D6C6109171263F50096CC61F76E75FAF5744A58723A2C7EE42A73BC3A
2979 9700374BB28531E1156D1AB59F751D715CE4FBD28F76661901368A957C8B4A18
2980 971008A51782A07175691D79861072B7680EC2414A773F8575C3057D62A570A5
2981 5B06090BC2C4C95EF6AF65C4D68F9BAB63CC9EEC4E0E402D5EA6C3BC5B35D8B9
2982 A70A5410F6587307285CFC1B8A5DB4E6841C534CBED434BB8E2340CBF4CD0E29
2983 A5D5F2953F002C68AAB06FC99A798D53073763655791CCA7ED943B74D0C660E4
2984 3ACCE22F2418C7422D9FFD85EA18C18A98EEA657C5D79501FEBAE3A417F2940C
2985 ABD060E99174DA2D44243CE8320C61CC94134138C6F133806387DAB78F2E7F47
2986 D49302B58B0BD2494FB266AB18E89DD652D283939372D349EAF675001A27AB58
2987 7DFBB87EFE4E8A1811B3DF2961809BC95619C6B97F9882810AA70D824E4CBF71
2988 B24289F5564785C1CA26B1B7C032E0AEA5BEE2EFE57DCA5E9EFE99B87A034B3A
2989 4432D8D579F2ABCC95430D297A168489417B8561B2F6A68890C51A1D7B576B95
2990 87D3AE21BC9B77C571B9DC79158C05DD7D903D984EF25F0AD874AC961CC3D85C
2991 2F89DC0CA87C83FF1DDC95C40847006482ECE791E73AA1330882903E4EC83EF1
2992 36B078165E5938E177E54DCAF6EE47D734BA08320D850029B6E3EBC33CE342D9
2993 48765C43B2CE0D5E6BA57B24B4278EE6056E91958B6886F3E58F4F318C7B0A01
2994 E97CA2C0E0D644A57214408084A6B9F72F2125A0FC2C059A794383628EFC78A7
2995 3871D25C4B38522291DD9756DFBB9D82B3E45FA322EDBBF7F60E219A87A227EF
2996 19690F25AA3E29398AA5450C2836F9CA0E80D12B9AADE8096D74D218AA1B093A
2997 0CB5424A9A198BC62AE13FF2497F634A489F9998203DB37F33768E35539E930E
2998 CC636BD8B66405B55DF1E65CAE4EAE8DF3BEF99B82F342A0726347F308FE8599
2999 9A4E2074355A3AFDB5ABEA50B20F4E9B280BA16F7FCBF018FE306AE31E7E9DE2
3000 F494AC6B655530553AC73A8E864ECDD450D9C56D35ECF326C5BF21F787F03DAA
3001 DAC9F9D0222161BAC8D7E8913EC6FE06CD554F76EBD590B3D30AD9C7C4BDF0F5
3002 2FA818AE440C3EAC77B160C48C2353BC320A6E4FD6AE53DEB9CE4B8C5547E3FA
3003 46883F173EE44236DEC7E6569DA147316D9C919A70A6DCEBBE924BD96FDD2B81
3004 57822D315EA865397A65352EB67F8BC0D88E252E8BFF9D0875A599C61DDC56B3
3005 0511DCD4BFE944ECAF430E174D69E60ED8F18DCA0896C004B49692F85BFE3B08
3006 A028E66DDDD23F26F5B5945BA4645F38A8B453303D9A1A8C7C2A05CAF7F98C8B
3007 686ABBD2F10458D0991C33EA94A45D6EFF66FD4B7E4774078817070992DC6422
3008 660E4F49BB354D98DE00DD08465F53FD88EBDDE7961AE4BBE9C36283A9849CE0
3009 60624CA6888528A2431FF8C7E0C139E2F0C56BFE489D1DEE878EB4666AFEFD19
3010 6FD824181D0B7AE0786E2988D7AE8B676B45CF106A4E9D44B2E55910205DE276
3011 B3312AF334591A1C91A575AF07A8781AC39567A12D402904319E97F7228436F8
3012 62E270C65F3F342B7A5D7C0CFBBC6885B50F6676DBEB22CE33428E98FB8F4454
3013 49C789AA137895763B9A4B23D6554F81E8EFDD6E6AEF529B367E6A918E953B01
3014 ECB8430C3B6AA0539335E8AECEEAA1A5DCD7F98E609CB6B9F79452AF370D284B
3015 6CA68AA58DFBA08C9AB99D5ECEA95FF4BC58CA0277CDBC7EF613323841483D0D
3016 006162D6EA30A9BDC45BED565D7E1B1A415B1F995AA7984E5A2956BE0C312300
3017 780BCC33A5BCE18B071637CD11C98F27529D4240577EE766184506DA100A481F
3018 04078BCC2FE63165839C1667F00E261D3820D23E422EE1880953E5FC50DB7E62
3019 A720F1452E4236DFFA314C7317E5B1D952FB850EDA174D08E0AEB8614664F77F
3020 5023162C841607DD24B0A212B18689670C9A78F6C0E5EDD05A1E71969A010C55
3021 F3AD244DEB61D5B819595B00DB221DCDCC57490A044C6F3CE577986518AC2145
3022 3CB34B2BA95722D95044FDB7EB6FFC1EB7E6675012A0FE1C48AEB08370ED3D7C
3023 2AB0684DB5EC85A4974556B2549013EF603928460D1660036B75081453375107
3024 300B0FB92F7701835F00F1EF55614FF110DD461EE71451A4C575769E00A9C714
3025 375BCF779B44FB067F3C23BB6B777D1D5038FBEAF51C0E595E77234B58BA0FD0
3026 4918670B280BD2D81E284352F732787E0384A0D8C05ABFA5C0FC2010CADEC7DC
3027 46B9557C285FCDFDADF26A925024A035ECA4DC61EEFB56259DBC6FF66CE244FD
3028 2EB0E48F6841B0AEA6C2899A9FF80BFEFA46E65A599AF0049154D09E78B2AA2C
3029 078BC461B45630E514769DB6D49A02B0AF7EF386A6A0F0ECB32668875E297502
3030 EBE1A615272EE0262533504B5D4C59751432C36DFCAFD72B23F270BAD2471B75
3031 F7DBC077A9D0C35C34EFF546A283E1F9CA36811A309907B9DECAA80BBCE8DE17
3032 10C38F7142B8AEE658855A4B95CF25311375FF2694A036A7476B295ED51DB718
3033 1575E546820C1F31A8F413A43D081FA83A6F02BF529BB90456633040D2B107A6
3034 CC957EE18F59035C3E27F5770F22A0D3CC91DB72D4E1160BC80A2A3FDFFAD1B8
3035 B04FA3677C685407AF9B174D837EC3651D454C8CB4D8070EB76588CF91909359
3036 3EE3E48503AFB892B63273DBF7BEFB23960318D5A91818A58FD8F75749BCC61A
3037 80523A75B0C5E15FA02A2B89C8E01BE417AB49511D157B9B6221CC05DA72AA10
3038 4509EFD63AD89A99871F9DC06E5802CBC21D4ABCA78B102285E925FC7D400CAE
3039 102C002CA7AF4A16E67D89B479E600C255091C18CEDBF333FC249F1C19533F8F
3040 EC4B46138E153EB87C9FDA3CB284965E849C5C3267DBCBE93ED235C6D1A82BE3
3041 046B6E25B9439117E477AE346FFC61FB7482AB6B35115E0042B7FB244A9A3A5F
3042 6193B29BACA11593F19507A19200BB003DEC953BF5238A7A10E9579DEA4A9C3D
3043 19798D0C299476982F1AA3F8A9868399CC2F22066DEA4695F84DD63BD0D1B463
3044 089879698D650CEFA0610E1CB1EC420A0172ACCE9CDD4C66A3C32F6FBE86F015
3045 7292656D8D8495812BB3D1C2F99C76E731AC922E4031991339CF90322BDCA875
3046 803D207C1AF41A487B45607DEBE3088C7A1FED97485E07AB09A5BC9F90C6FA0B
3047 63B3B61FB2A1D20FFB2F2DDCBCDFD97BAA001603543B40A2D57B1FF2C597229A
3048 1EB77B52939AC94D935ADE837057BE1014F25B59A80B7F3277727D42CCC73F91
3049 099F044E70FDFA182662115387D0B21BF16D147CBB21C2E5F2E3717DBE831A80
3050 F32458E010D0348324E8DEA64D15E77B442B661802D0BC32956986ACF129A91D
3051 EBD811D51C599AD10F4E28ADD619A3EA2F45204CF20C785A1D658C5130FC731A
3052 B1CA85AF8E65AB69D439254D86CCEAA83A768676EBC311B12861201227A4A88B
3053 4623A917652041CB9B49955F15B1BCCC2FC4A61A002D98DE0CFE92F314614B5F
3054 35066C20F213E4A3AE616378703268AC9888D77D1891A7AE28508D311652C5EF
3055 5FFDAB4160FA7BA8E77D8CA445369D1ED9FB36FCAC4F6C075557699E93BE6ABB
3056 4721F62358D5128AF19E2EE441337F9B29BD29D8D1AABD54EA1B2FE634E0FC41
3057 67655730A19DF4561BE949A4FB9498EDB49DD71E95D1981C4CC5A0A8AD14AB9C
3058 123B7781BCF66AEC285EAB6F6E954CAD024294531E972F3ECDE3E229B7B60909
3059 42B7FFA657BA06F40BBD48EF0E0B4DCEC9BAD3F4C7D5A853C181EB152974FE25
3060 7C6659619C84AD98E0C45E31C25E0EF38417E49593D17D6A273A7EA3E16AD250
3061 5A59095A0B70C9654CD06CC5A3472EEB18208727A7F0C6229CBEFFDF108007D4
3062 451A346C9F549B5AC6B2CBC2E5B70F20DDA95354CB4FC61A9AECE4A2AD947626
3063 05F3D3AB350E0A0531AAA9B4419AB9D7B2E5F9F60BED33237F22AD6D4B30FB18
3064 C750D3AFE623AFEC5E673AD4E6FF1AF77119C119BBB95BD0D5A926D293ED468C
3065 2E8D48CD5AE74C0E3A4548D53FD4FFA330AACC55C6B623AA0786C73E52F7AFE0
3066 8CBE48F0E431876A2254489E9876C33A174A27A575F6379C22B26EA9E281BDE9
3067 BC9F8DA64C88ED69E7C02C890141E5720530E7E91C37D09888D3A3CB65A4EA3C
3068 0DE64C1C19DFDA3247F4BA650CA7CF9C4FD7C06AE5CF9A28A356BEFC6B951B16
3069 EA9434AC7BF3E70670E204E20D6C5BD57A53661E41B5CA3B2E673BCEBEAFDDB8
3070 BF2B1CB24C48BD945A67C9EE301D5288EAA6E8EA1D486FBA14BA1FD836D7143C
3071 4A0328035350588D1EF8BC6913BAB1E59079F7F719F08517F644729DF41DD698
3072 683AF00C451BED4D6F67D309E9DC4543193F2DCAE8E5A694E850A2CDC67590CA
3073 D3A80A4654CADB6CB233D2C5309B302AE0A4B17CBB171C573E243E8B13C310F8
3074 D70B9CE07F7B16FD2710D8172596E95F69A32F355381844F4D4B648040F03252
3075 B9C51F4FDB47CF92A64FAC2402AF1B6619947DB794DD3EFE6590E7D7DA77B9E9
3076 B65C9681B20DBAD776A4E3900A9913FA4F6B672573D9C16A8C953FE57B69F437
3077 5685371DA2DD2061C25DD3010D39A5949DDC69FBCBF18E8FE3B4F7CE9ED20582
3078 DC2657C0237511291CCF8368C628003A7080A0B7F160FA4BF5879A79A5F1B80A
3079 5A57D21DF9E9348A3317C66B4FBD14842924E69C6C16BE755A8E06BB738F57F6
3080 0E62E7848FA91AE2907062FB5515FFB76B7B70F8A6B66BEB44BD1CB001FF232F
3081 A100B8C062B2107D131E965F8EEDDB2D6ADE20A80C83EBED0B97DC42C781E4D3
3082 DA3D4FA20172F441310BA23312451C4F8D892F6DA84322BDEDF64063E8625AAC
3083 5E1A5FC5C50491537C2D2809BBFDC269AC53BF5B39439325A1AED7CD3D1F6E3F
3084 060F2EC73A951D99C5B3287EF06CBC2B4298761F19C2D84B1F4218B7175C5223
3085 B5880EE4713F0CF9C0EBEC5DA1DBEFA8F63D5CF6AAF98406676B01DC7E7809DC
3086 30954463E02AE855C22C5726DD004BB8F6D62E9C9F3D54FDDE87DF4D10FD12AF
3087 C537B9540268C9A251BD4A1FA0A163D2DA78E36F306FD9F0AB316F39264504F7
3088 E44C2230D2079B2E
3089 0000000000000000000000000000000000000000000000000000000000000000
3090 0000000000000000000000000000000000000000000000000000000000000000
3091 0000000000000000000000000000000000000000000000000000000000000000
3092 0000000000000000000000000000000000000000000000000000000000000000
3093 0000000000000000000000000000000000000000000000000000000000000000
3094 0000000000000000000000000000000000000000000000000000000000000000
3095 0000000000000000000000000000000000000000000000000000000000000000
3096 0000000000000000000000000000000000000000000000000000000000000000
3097 cleartomark
3098 %%EndFont 
3099 TeXDict begin 39158280 55380996 1000 600 600 (cloog.dvi)
3100 @start /Fa 131[39 3[39 2[39 39 39 39 1[39 39 39 39 39
3101 39 39 39 39 39 39 39 39 39 39 39 3[39 1[39 4[39 2[39
3102 2[39 1[39 1[39 2[39 4[39 39 39 7[39 6[39 39 39 39 2[39
3103 1[39 43[{ TeX09fbbfacEncoding ReEncodeFont }40 74.7198
3104 /CMTT9 rf /Fb 137[56 56 56 56 56 1[56 56 56 56 56 56
3105 1[56 56 1[56 56 56 56 56 56 34[56 1[56 14[56 45[{
3106  TeX09fbbfacEncoding ReEncodeFont }22 109.091 /CMTT12
3107 rf /Fc 133[55 65 65 1[65 68 48 48 50 65 68 61 68 102
3108 34 65 1[34 68 61 37 56 68 55 68 60 10[93 1[85 68 92 1[84
3109 92 96 116 74 2[46 96 96 77 81 94 89 87 93 7[61 61 61
3110 61 61 61 61 61 61 61 1[34 4[48 48 40[{
3111  TeXf7b6d320Encoding ReEncodeFont }55 109.091 /CMBX12
3112 rf /Fd 193[74 1[74 1[74 1[74 29[62 26[{}5 83.022 /CMEX10
3113 rf /Fe 203[33 33 33 33 49[{ TeXf7b6d320Encoding ReEncodeFont }4
3114 58.1154 /CMR7 rf /Ff 139[25 11[39 19[39 41 83[{
3115  TeXaae443f0Encoding ReEncodeFont }4 58.1154 /CMMI7 rf
3116 /Fg 135[52 3[33 43 41 1[46 44 55 80 27 47 37 31 2[45
3117 42 47 39 39 48 37[25 40[43 18[{ TeXaae443f0Encoding ReEncodeFont }20
3118 90.9091 /CMMI10 rf /Fh 134[48 48 1[48 51 35 36 39 1[51
3119 45 51 76 25 48 1[25 51 45 28 42 51 40 51 44 11[70 33[45
3120 45 45 45 2[30 45[{ TeXf7b6d320Encoding ReEncodeFont }28
3121 90.9091 /CMB10 rf /Fi 134[44 1[60 1[49 30 37 38 1[46
3122 46 51 74 23 42 1[28 46 42 28 42 46 42 1[46 20[57 4[70
3123 3[65 8[28 10[46 28 33 45[{ TeX74afc74cEncoding ReEncodeFont }27
3124 90.9091 /CMTI10 rf /Fj 209[43 46[{ TeX74afc74cEncoding ReEncodeFont }1
3125 119.552 /CMBXTI10 rf /Fk 134[85 1[117 1[90 63 64 66 2[81
3126 90 134 45 2[45 90 81 49 74 90 72 90 78 11[124 112 90
3127 120 5[97 2[60 1[127 2[124 117 12[81 81 81 81 81 81 49[{
3128  TeXf7b6d320Encoding ReEncodeFont }34 143.462 /CMBX12
3129 rf /Fl 234[71 5[45 1[91 12[71{ TeXbbad153fEncoding ReEncodeFont }4
3130 90.9091 /CMSY10 rf /Fm 129[48 48 48 48 48 48 48 48 48
3131 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
3132 48 48 48 1[48 1[48 48 48 1[48 48 48 48 48 48 48 48 1[48
3133 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48
3134 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
3135 48 48 48 48 48 1[48 48 48 48 14[48 19[{
3136  TeX09fbbfacEncoding ReEncodeFont }88 90.9091 /CMTT10
3137 rf /Fn 133[60 71 71 97 1[75 52 53 55 71 75 67 75 112
3138 37 2[37 75 67 41 61 75 60 75 65 9[139 1[103 94 75 100
3139 2[101 2[81 2[50 1[106 85 88 103 97 96 102 1[64 4[37 67
3140 1[67 67 67 67 67 67 67 2[37 1[37 4[37 19[67 6[75 12[{
3141  TeXf7b6d320Encoding ReEncodeFont }53 119.552 /CMBX12
3142 rf /Fo 128[45 3[45 40 48 48 66 48 51 35 36 36 48 51 45
3143 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 1[25
3144 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33
3145 68 71 59 62 69 66 64 68 1[43 1[71 1[25 25 45 45 45 45
3146 45 45 45 45 45 45 45 25 30 25 71 1[35 35 25 5[25 13[45
3147 4[76 1[51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }84
3148 90.9091 /CMR10 rf /Fp 144[97 34[116 4[152 3[140 67[{
3149  TeXf7b6d320Encoding ReEncodeFont }4 172.154 /CMBX12
3150 rf end
3151 %%EndProlog
3152 %%BeginSetup
3153 %%Feature: *Resolution 600dpi
3154 TeXDict begin
3155 %%PaperSize: A4
3156  end
3157 %%EndSetup
3158 %%Page: 1 1
3159 TeXDict begin 1 0 bop 150 1317 a Fp(CLo)5 b(oG)p 150
3160 1383 3600 34 v 2037 1480 a Fo(A)31 b(Lo)s(op)f(Generator)h(F)-8
3161 b(or)32 b(Scanning)d(P)m(olyhedra)2565 1588 y(Edition)h(2.0,)i(for)e
3162 (CLo)s(oG)h(0.14.0)2932 1696 y(No)m(v)m(em)m(b)s(er)g(17th)g(2005)150
3163 5091 y Fn(C)m(\023)-64 b(edric)45 b(Bastoul)p 150 5141
3164 3600 17 v eop end
3165 %%Page: 2 2
3166 TeXDict begin 2 1 bop 150 433 a Fo(\(Septem)m(b)s(er)30
3167 b(2001\))150 593 y Fm(C\023)-48 b(edric)29 b(Bastoul)630
3168 702 y Fo(SCHEDULES)d(GENERA)-8 b(TE)28 b(!!!)40 b(I)27
3169 b(just)g(need)h(to)g(apply)f(them)g(no)m(w,)i(where)e(can)g(I)g(\014nd)
3170 630 812 y(a)k(go)s(o)s(d)f(co)s(de)h(generator)g(?!)150
3171 971 y Fm(Paul)e(Feautrier)630 1081 y Fo(Hmmm.)38 b(I)24
3172 b(fear)h(that)g(if)g(y)m(ou)g(w)m(an)m(t)g(something)g(p)s(o)m(w)m
3173 (erful)f(enough,)i(y)m(ou'll)g(ha)m(v)m(e)f(to)h(write)630
3174 1191 y(it)31 b(y)m(ourself)g(!)150 2921 y(This)38 b(man)m(ual)i(is)f
3175 (for)g(CLo)s(oG)g(v)m(ersion)h(0.14.0,)k(a)39 b(soft)m(w)m(are)i(whic)m
3176 (h)e(generates)h(lo)s(ops)f(for)g(scanning)150 3031 y(Z-p)s(olyhedra.)
3177 63 b(That)38 b(is,)i(CLo)s(oG)f(pro)s(duces)e(a)h(co)s(de)g(visiting)h
3178 (eac)m(h)h(in)m(tegral)g(p)s(oin)m(t)e(of)g(a)g(union)g(of)150
3179 3140 y(parametrized)g(p)s(olyhedra.)59 b(CLo)s(oG)38
3180 b(is)f(designed)g(to)g(a)m(v)m(oid)i(con)m(trol)f(o)m(v)m(erhead)h(and)
3181 d(to)i(pro)s(duce)e(a)150 3250 y(v)m(ery)31 b(e\013ectiv)m(e)i(co)s
3182 (de.)150 3385 y(It)c(w)m(ould)g(b)s(e)g(quite)h(kind)e(to)i(refer)f
3183 (the)g(follo)m(wing)i(pap)s(er)d(in)h(an)m(y)h(publication)f(that)h
3184 (results)f(from)g(the)150 3494 y(use)h(of)h(the)f(CLo)s(oG)h(soft)m(w)m
3185 (are)h(or)e(its)h(library:)390 3629 y Fm(@InProceedings{Bas04,)485
3186 3738 y(author)47 b(=)190 b({C.)47 b(Bastoul},)485 3848
3187 y(title)g(=)238 b({Code)47 b(Generation)e(in)i(the)g(Polyhedral)e
3188 (Model)1106 3957 y(Is)i(Easier)f(Than)h(You)g(Think},)485
3189 4067 y(booktitle)f(=)h({PACT'13)f(IEEE)g(International)f(Conference)g
3190 (on)1106 4177 y(Parallel)g(Architecture)g(and)i(Compilation)e
3191 (Techniques},)485 4286 y(year)i(=)286 b(2004,)485 4396
3192 y(pages)47 b(=)238 b({7--16},)485 4505 y(month)47 b(=)238
3193 b({september},)485 4615 y(address)46 b(=)143 b({Juan-les-Pins})390
3194 4725 y(})150 4859 y Fo(Cop)m(yrigh)m(t)602 4856 y(c)577
3195 4859 y Fl(\015)30 b Fo(2002-2005)k(C)m(\023)-43 b(edric)32
3196 b(Bastoul.)150 4994 y(P)m(ermission)g(is)f(gran)m(ted)i(to)f(cop)m(y)-8
3197 b(,)33 b(distribute)e(and/or)h(mo)s(dify)f(this)g(do)s(cumen)m(t)g
3198 (under)g(the)g(terms)h(of)150 5103 y(the)c(GNU)g(F)-8
3199 b(ree)28 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)28
3200 b(1.2)g(published)e(b)m(y)h(the)h(F)-8 b(ree)28 b(Soft)m(w)m(are)h(F)-8
3201 b(ounda-)150 5213 y(tion.)40 b(T)-8 b(o)26 b(receiv)m(e)i(a)e(cop)m(y)h
3202 (of)f(the)g(GNU)g(F)-8 b(ree)27 b(Do)s(cumen)m(tation)h(License,)f
3203 (write)f(to)h(the)f(F)-8 b(ree)27 b(Soft)m(w)m(are)150
3204 5322 y(F)-8 b(oundation,)31 b(Inc.,)g(59)g(T)-8 b(emple)31
3205 b(Place,)h(Suite)e(330,)i(Boston,)g(MA)e(02111-1307)35
3206 b(USA.)p eop end
3207 %%Page: -1 3
3208 TeXDict begin -1 2 bop 3725 -116 a Fo(i)150 299 y Fk(T)-13
3209 b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fn(1)135 b(In)l(tro)t
3210 (duction)15 b Fj(.)20 b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
3211 (.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
3212 60 b Fn(1)449 778 y Fo(1.1)92 b(Basically)-8 b(,)33 b(what's)e(the)f(p)
3213 s(oin)m(t)h(?)d Fi(.)15 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3214 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)59
3215 b Fo(1)449 888 y(1.2)92 b(De\014ning)30 b(a)h(Scanning)f(Order:)39
3216 b(Scattering)32 b(F)-8 b(unctions)30 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)
3217 g(.)g(.)g(.)59 b Fo(2)150 1130 y Fn(2)135 b(Using)45
3218 b(the)h(CLo)t(oG)e(Soft)l(w)l(are)29 b Fj(.)21 b(.)f(.)f(.)h(.)f(.)g(.)
3219 h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)73 b Fn(5)449
3220 1267 y Fo(2.1)92 b(A)30 b(First)h(Example)23 b Fi(.)15
3221 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3222 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3223 g(.)g(.)g(.)g(.)53 b Fo(5)449 1377 y(2.2)92 b(W)-8 b(riting)32
3224 b(The)d(Input)g(File)e Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3225 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3226 (.)g(.)g(.)g(.)g(.)g(.)55 b Fo(6)748 1486 y(2.2.1)93
3227 b(Domain)31 b(Represen)m(tation)c Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3228 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)55
3229 b Fo(7)748 1596 y(2.2.2)93 b(Scattering)31 b(F)-8 b(unction)31
3230 b(Represen)m(tation)d Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3231 (.)g(.)g(.)56 b Fo(8)449 1705 y(2.3)92 b(Calling)31 b(CLo)s(oG)12
3232 b Fi(.)j(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3233 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3234 (.)g(.)h(.)f(.)g(.)g(.)g(.)41 b Fo(10)449 1815 y(2.4)92
3235 b(CLo)s(oG)31 b(Options)18 b Fi(.)c(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
3236 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3237 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)47 b
3238 Fo(10)748 1924 y(2.4.1)93 b(Last)30 b(Depth)h(to)g(Optimize)g(Con)m
3239 (trol)g Fm(-l)f(<depth>)14 b Fi(.)f(.)i(.)g(.)g(.)43
3240 b Fo(11)748 2034 y(2.4.2)93 b(First)30 b(Depth)h(to)g(Optimize)g(Con)m
3241 (trol)g Fm(-f)f(<depth>)24 b Fi(.)15 b(.)g(.)g(.)56 b
3242 Fo(11)748 2144 y(2.4.3)93 b(Once)30 b(Time)g(Lo)s(op)g(Elimination)i
3243 Fm(-otl)d(<boolean>)21 b Fi(.)13 b(.)i(.)50 b Fo(12)748
3244 2253 y(2.4.4)93 b(Equalit)m(y)31 b(Spreading)e Fm(-esp)h(<boolean>)9
3245 b Fi(.)j(.)j(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)38
3246 b Fo(12)748 2363 y(2.4.5)93 b(Constan)m(t)30 b(Spreading)g
3247 Fm(-csp)f(<boolean>)18 b Fi(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3248 (.)g(.)47 b Fo(12)748 2472 y(2.4.6)93 b(First)30 b(Lev)m(el)i(for)e
3249 (Spreading)g Fm(-fsp)f(<level>)24 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g
3250 (.)g(.)56 b Fo(13)748 2582 y(2.4.7)93 b(C)29 b(PrePro)s(cessor)i(F)-8
3251 b(riendly)30 b Fm(-cpp)g(<boolean>)12 b Fi(.)g(.)j(.)g(.)g(.)g(.)g(.)g
3252 (.)41 b Fo(13)748 2692 y(2.4.8)93 b(Statemen)m(t)31 b(Blo)s(c)m(k)h
3253 Fm(-block)d(<boolean>)12 b Fi(.)g(.)j(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3254 (.)g(.)g(.)41 b Fo(14)748 2801 y(2.4.9)93 b(Lo)s(op)30
3255 b(Strides)f Fm(-strides)g(<boolean>)20 b Fi(.)12 b(.)j(.)g(.)g(.)g(.)g
3256 (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)49 b Fo(14)748 2911 y(2.4.10)93
3257 b(Compilable)31 b(Co)s(de)f Fm(-compilable)d(<value>)13
3258 b Fi(.)g(.)i(.)g(.)g(.)g(.)g(.)g(.)42 b Fo(15)748 3020
3259 y(2.4.11)93 b(Output)29 b Fm(-o)h(<output>)12 b Fi(.)h(.)i(.)g(.)g(.)g
3260 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
3261 g(.)g(.)g(.)41 b Fo(16)748 3130 y(2.4.12)93 b(Help)31
3262 b Fm(--help)d Fo(or)j Fm(-h)15 b Fi(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3263 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3264 g(.)45 b Fo(16)748 3240 y(2.4.13)93 b(V)-8 b(ersion)31
3265 b Fm(--version)d Fo(or)i Fm(-v)18 b Fi(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3266 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)47
3267 b Fo(16)449 3349 y(2.5)92 b(A)30 b(F)-8 b(ull)32 b(Example)19
3268 b Fi(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
3269 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3270 (.)g(.)g(.)g(.)g(.)g(.)49 b Fo(16)150 3592 y Fn(3)135
3271 b(Using)45 b(the)h(CLo)t(oG)e(Library)29 b Fj(.)20 b(.)f(.)h(.)f(.)h(.)
3272 f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)74 b Fn(21)449
3273 3729 y Fo(3.1)92 b(CLo)s(oG)31 b(Data)h(Structures)d(Description)c
3274 Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3275 (.)g(.)g(.)g(.)g(.)53 b Fo(21)748 3838 y(3.1.1)93 b(Clo)s(ogMatrix)28
3276 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
3277 (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3278 56 b Fo(21)748 3948 y(3.1.2)93 b(Clo)s(ogDomain)30 b
3279 Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3280 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
3281 b Fo(22)748 4057 y(3.1.3)93 b(Clo)s(ogDomainList)17 b
3282 Fi(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
3283 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46
3284 b Fo(22)748 4167 y(3.1.4)93 b(Clo)s(ogStatemen)m(t)26
3285 b Fi(.)15 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3286 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54
3287 b Fo(23)748 4276 y(3.1.5)93 b(Clo)s(ogBlo)s(c)m(k)8 b
3288 Fi(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3289 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3290 g(.)g(.)38 b Fo(23)748 4386 y(3.1.6)93 b(Clo)s(ogBlo)s(c)m(kList)18
3291 b Fi(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3292 g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47
3293 b Fo(23)748 4496 y(3.1.7)93 b(Clo)s(ogLo)s(op)20 b Fi(.)15
3294 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3295 (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3296 49 b Fo(23)748 4605 y(3.1.8)93 b(Clo)s(ogNames)9 b Fi(.)16
3297 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3298 (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)38
3299 b Fo(24)748 4715 y(3.1.9)93 b(Clo)s(ogProgram)12 b Fi(.)k(.)f(.)g(.)g
3300 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3301 g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)41 b Fo(24)748
3302 4824 y(3.1.10)93 b(Clo)s(ogOptions)27 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g
3303 (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3304 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56 b Fo(27)449 4934 y(3.2)92
3305 b(CLo)s(oG)31 b(F)-8 b(unctions)30 b(Description)20 b
3306 Fi(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
3307 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49 b Fo(28)748
3308 5044 y(3.2.1)93 b(clo)s(og)p 1235 5044 28 4 v 41 w(program)p
3309 1610 5044 V 40 w(generate)17 b Fi(.)g(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3310 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47
3311 b Fo(28)748 5153 y(3.2.2)93 b(clo)s(og)p 1235 5153 V
3312 41 w(program)p 1610 5153 V 40 w(pprin)m(t)18 b Fi(.)d(.)g(.)g(.)g(.)g
3313 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3314 g(.)g(.)g(.)48 b Fo(29)748 5263 y(3.2.3)93 b(clo)s(og)p
3315 1235 5263 V 41 w(program)p 1610 5263 V 40 w(scatter)30
3316 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3317 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58 b Fo(29)p eop end
3318 %%Page: -2 4
3319 TeXDict begin -2 3 bop 150 -116 a Fo(ii)1584 b(CLo)s(oG)31
3320 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)748
3321 83 y(3.2.4)93 b(clo)s(og)p 1235 83 28 4 v 41 w(program)p
3322 1610 83 V 40 w(read)12 b Fi(.)j(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3323 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)41
3324 b Fo(30)748 193 y(3.2.5)93 b(F)-8 b(rom)30 b(Matrices)i(to)g(Domains)f
3325 (and)e(Con)m(v)m(ersely)f Fi(.)16 b(.)f(.)g(.)g(.)g(.)56
3326 b Fo(30)748 302 y(3.2.6)93 b(Allo)s(cation)32 b(and)e(Initialization)j
3327 (F)-8 b(unctions)25 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54
3328 b Fo(30)748 412 y(3.2.7)93 b(Memory)30 b(Deallo)s(cation)k(F)-8
3329 b(unctions)8 b Fi(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3330 g(.)g(.)g(.)g(.)38 b Fo(30)748 521 y(3.2.8)93 b(Prin)m(ting)30
3331 b(F)-8 b(unctions)14 b Fi(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3332 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
3333 43 b Fo(31)449 631 y(3.3)92 b(Example)30 b(of)h(Library)f(Utilization)
3334 20 b Fi(.)d(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
3335 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49 b Fo(31)150
3336 873 y Fn(4)135 b(Installing)46 b(CLo)t(oG)31 b Fj(.)19
3337 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
3338 (.)f(.)h(.)f(.)g(.)h(.)f(.)76 b Fn(33)449 1010 y Fo(4.1)92
3339 b(License)17 b Fi(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3340 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3341 g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46
3342 b Fo(33)449 1120 y(4.2)92 b(Requiremen)m(ts)20 b Fi(.)15
3343 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3344 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3345 g(.)g(.)g(.)g(.)g(.)g(.)49 b Fo(33)748 1230 y(4.2.1)93
3346 b(P)m(olyLib)30 b(\(mandatory\))g Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3347 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3348 58 b Fo(33)748 1339 y(4.2.2)93 b(GMP)30 b(Library)g(\(optional\))9
3349 b Fi(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3350 (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)38 b Fo(33)449 1449 y(4.3)92
3351 b(CLo)s(oG)31 b(Basic)g(Installation)22 b Fi(.)16 b(.)f(.)g(.)g(.)g(.)g
3352 (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
3353 g(.)g(.)g(.)g(.)g(.)g(.)g(.)51 b Fo(34)449 1558 y(4.4)92
3354 b(Optional)31 b(F)-8 b(eatures)20 b Fi(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)g
3355 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
3356 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49 b
3357 Fo(34)449 1668 y(4.5)92 b(Uninstallation)9 b Fi(.)17
3358 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
3359 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
3360 g(.)g(.)g(.)g(.)g(.)g(.)38 b Fo(35)150 1910 y Fn(5)135
3361 b(Do)t(cumen)l(tation)25 b Fj(.)c(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
3362 (.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)70
3363 b Fn(37)150 2180 y(6)135 b(References)38 b Fj(.)20 b(.)f(.)g(.)h(.)f(.)
3364 h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f
3365 (.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)82 b Fn(39)p eop end
3366 %%Page: 1 5
3367 TeXDict begin 1 4 bop 150 -116 a Fo(Chapter)30 b(1:)41
3368 b(In)m(tro)s(duction)2592 b(1)150 299 y Fk(1)80 b(In)l(tro)t(duction)
3369 275 554 y Fo(CLo)s(oG)34 b(is)g(a)g(free)g(soft)m(w)m(are)i(and)d
3370 (library)h(generating)h(lo)s(ops)f(for)g(scanning)f(Z-p)s(olyhedra.)51
3371 b(That)150 664 y(is,)30 b(it)f(\014nds)e(a)i(co)s(de)h(\(e.g.)41
3372 b(in)29 b(C,)g(F)m(OR)-8 b(TRAN...\))41 b(that)30 b(reac)m(hes)g(eac)m
3373 (h)g(in)m(tegral)h(p)s(oin)m(t)e(of)g(one)g(or)g(more)150
3374 773 y(parameterized)k(p)s(olyhedra.)44 b(CLo)s(oG)32
3375 b(has)g(b)s(een)f(originally)j(written)e(to)g(solv)m(e)h(the)f(co)s(de)
3376 h(generation)150 883 y(problem)27 b(for)g(optimizing)h(compilers)g
3377 (based)f(on)g(the)h(p)s(olytop)s(e)f(mo)s(del.)39 b(Nev)m(ertheless)29
3378 b(it)f(is)f(used)g(no)m(w)150 992 y(in)33 b(v)-5 b(arious)34
3379 b(area,)i(e.g.,)g(to)e(build)f(con)m(trol)i(automata)g(for)e(high-lev)m
3380 (el)j(syn)m(thesis)d(or)h(to)g(\014nd)f(the)g(b)s(est)150
3381 1102 y(p)s(olynomial)c(appro)m(ximation)g(of)g(a)g(function.)39
3382 b(CLo)s(oG)29 b(ma)m(y)g(help)f(in)g(an)m(y)h(situation)g(where)f
3383 (scanning)150 1212 y(p)s(olyhedra)c(matters.)40 b(It)25
3384 b(uses)f(the)i(b)s(est)e(state-of-the-art)k(co)s(de)e(generation)g
3385 (algorithm)g(kno)m(wn)e(as)i(the)150 1321 y(Quiller)m(\023)-43
3386 b(e)30 b(et)g(al.)40 b(algorithm)30 b(\(see)g([Qui00],)g(page)g(39\))g
3387 (with)e(our)g(o)m(wn)h(impro)m(v)m(emen)m(ts)h(and)e(extensions)150
3388 1431 y(\(see)33 b([Bas04],)j(page)d(39\).)48 b(The)32
3389 b(user)g(has)g(full)g(con)m(trol)i(on)f(generated)g(co)s(de)g(qualit)m
3390 (y)-8 b(.)48 b(On)32 b(one)h(hand,)150 1540 y(generated)c(co)s(de)g
3391 (size)g(has)f(to)h(b)s(e)e(tuned)h(for)g(sak)m(e)h(of)g(readabilit)m(y)
3392 g(or)g(instruction)f(cac)m(he)i(use.)39 b(On)28 b(the)150
3393 1650 y(other)i(hand,)f(w)m(e)h(m)m(ust)g(ensure)e(that)j(a)f(bad)f(con)
3394 m(trol)i(managemen)m(t)g(do)s(es)e(not)h(hamp)s(er)f(p)s(erformance)150
3395 1759 y(of)c(the)h(generated)g(co)s(de,)h(for)e(instance)h(b)m(y)f(pro)s
3396 (ducing)f(redundan)m(t)g(guards)h(or)g(complex)h(lo)s(op)g(b)s(ounds.)
3397 150 1869 y(CLo)s(oG)i(is)g(sp)s(ecially)g(designed)g(to)h(a)m(v)m(oid)g
3398 (con)m(trol)g(o)m(v)m(erhead)g(and)f(to)g(pro)s(duce)f(a)h(v)m(ery)g
3399 (e\016cien)m(t)h(co)s(de.)275 2011 y(CLo)s(oG)24 b(stands)h(for)f
3400 Fi(Chunky)k(L)-5 b(o)g(op)29 b(Gener)-5 b(ator)10 b Fo(:)40
3401 b(it)25 b(is)g(a)g(part)g(of)f(the)h(Ch)m(unky)f(pro)5
3402 b(ject,)26 b(a)f(researc)m(h)150 2120 y(to)s(ol)f(for)e(data)h(lo)s
3403 (calit)m(y)i(impro)m(v)m(emen)m(t)g(\(see)e([Bas03a],)k(page)d(39\).)39
3404 b(It)23 b(is)f(designed)h(also)h(to)f(b)s(e)f(the)h(bac)m(k-)150
3405 2230 y(end)29 b(of)h(automatic)h(parallelizers)h(lik)m(e)f(Lo)s(oP)m(o)
3406 f(\(see)h([Gri04],)g(page)g(39\).)41 b(Th)m(us)29 b(it)h(is)g(v)m(ery)g
3407 (compilable)150 2339 y(co)s(de)39 b(orien)m(ted)g(and)f(pro)m(vides)h
3408 (p)s(o)m(w)m(erful)f(program)h(transformation)g(facilities.)67
3409 b(Mainly)-8 b(,)42 b(it)e(allo)m(ws)150 2449 y(the)32
3410 b(user)f(to)i(sp)s(ecify)e(v)m(ery)i(general)g(sc)m(hedules)f(where,)g
3411 (e.g.,)h(unimo)s(dularit)m(y)f(or)f(in)m(v)m(ertibilit)m(y)k(of)d(the)
3412 150 2558 y(transformation)f(do)s(esn't)f(matter.)275
3413 2700 y(The)e(curren)m(t)h(v)m(ersion)h(is)f(still)h(under)e(ev)-5
3414 b(aluation,)31 b(and)e(there)g(is)h(no)f(guaran)m(tee)i(that)e(the)h
3415 (up)m(w)m(ard)150 2810 y(compatibilit)m(y)41 b(will)e(b)s(e)f(resp)s
3416 (ected)h(\(but)g(the)g(previous)f(API)h(has)f(b)s(een)g(stable)i(for)e
3417 (t)m(w)m(o)j(y)m(ears,)g(w)m(e)150 2919 y(hop)s(e)35
3418 b(this)g(one)h(will)g(b)s(e)f(as)g(successful)h(-and)f(w)m(e)h(b)s
3419 (eliev)m(e)h(it-\).)57 b(A)35 b(lot)i(of)f(rep)s(orts)e(are)i
3420 (necessary)g(to)150 3029 y(freeze)h(the)g(library)e(API)i(and)e(the)i
3421 (input)e(\014le)h(shap)s(e.)58 b(Most)37 b(API)f(c)m(hanges)h(from)f
3422 (0.12.x)i(to)f(0.14.x)150 3138 y(ha)m(v)m(e)d(b)s(een)d(requested)i(b)m
3423 (y)f(the)g(users)g(themselv)m(es.)48 b(Th)m(us)31 b(y)m(ou)i(are)g(v)m
3424 (ery)f(w)m(elcome)j(and)c(encouraged)150 3248 y(to)g(p)s(ost)f(rep)s
3425 (orts)g(on)g(bugs,)g(wishes,)g(critics,)i(commen)m(ts,)g(suggestions)f
3426 (or)f(successful)h(exp)s(eriences)f(in)150 3357 y(the)c(forum)e(of)i
3427 Fm(http://www.CLooG.org)20 b Fo(\(preferably\))25 b(or)h(to)g(send)f
3428 (them)g(to)h(cedric.bastoul)p Fm(@)p Fo(inria.fr)150
3429 3467 y(directly)-8 b(.)150 3742 y Fn(1.1)68 b(Basically)-11
3430 b(,)46 b(what's)g(the)f(p)t(oin)l(t)h(?)275 3993 y Fo(If)21
3431 b(y)m(ou)h(w)m(an)m(t)g(to)h(use)e(CLo)s(oG,)h(this)g(is)g(b)s(ecause)f
3432 (y)m(ou)h(w)m(an)m(t)h(to)f(scan)g(or)g(to)g(\014nd)e(something)i
3433 (inside)g(the)150 4103 y(in)m(tegral)29 b(p)s(oin)m(ts)d(of)i(a)f(set)g
3434 (of)h(p)s(olyhedra.)38 b(There)27 b(are)g(man)m(y)g(reasons)g(for)g
3435 (that.)40 b(Ma)m(yb)s(e)28 b(y)m(ou)f(need)g(the)150
3436 4212 y(generated)33 b(co)s(de)e(itself)i(b)s(ecause)e(it)h(actually)h
3437 (implemen)m(ts)f(a)g(v)m(ery)g(smart)f(program)h(transformation)150
3438 4322 y(y)m(ou)23 b(found.)37 b(Ma)m(yb)s(e)23 b(y)m(ou)g(w)m(an)m(t)g
3439 (to)h(use)e(the)h(generated)h(co)s(de)e(b)s(ecause)h(y)m(ou)g(kno)m(w)g
3440 (that)g(the)g(solution)g(of)150 4431 y(y)m(our)j(problem)f(b)s(elongs)h
3441 (to)h(the)f(in)m(tegral)i(p)s(oin)m(ts)e(of)g(those)g(damned)f(p)s
3442 (olyhedra)g(and)h(y)m(ou)g(don't)g(kno)m(w)150 4541 y(whic)m(h)j(one.)
3443 41 b(Ma)m(yb)s(e)30 b(y)m(ou)f(just)g(w)m(an)m(t)h(to)g(kno)m(w)f(if)h
3444 (a)f(p)s(olyhedron)f(has)h(in)m(tegral)i(p)s(oin)m(ts)e(dep)s(ending)f
3445 (on)150 4651 y(some)h(parameters,)g(whic)m(h)f(is)h(the)f
3446 (lexicographic)i(minim)m(um,)f(maxim)m(um,)g(the)f(third)g(on)g(the)h
3447 (basis)f(of)150 4760 y(the)j(left)g(etc.)41 b(Probably)30
3448 b(y)m(ou)h(ha)m(v)m(e)h(y)m(our)e(o)m(wn)g(reasons)h(to)g(use)f(CLo)s
3449 (oG.)275 4902 y(Let)44 b(us)g(illustrate)h(a)g(basic)f(use)g(of)h(CLo)s
3450 (oG.)f(Supp)s(ose)f(w)m(e)h(ha)m(v)m(e)i(a)f(set)f(of)h(a\016ne)f
3451 (constrain)m(ts)150 5011 y(that)39 b(describ)s(es)e(a)h(part)g(of)g(a)h
3452 (whatev)m(er-dimensional)g(space,)i(called)e(a)g Fh(domain)p
3453 Fo(,)g(and)f(w)m(e)g(w)m(an)m(t)h(to)150 5121 y(scan)c(it.)54
3454 b(Let)35 b(us)f(consider)g(for)h(instance)g(the)g(follo)m(wing)h(set)f
3455 (of)g(constrain)m(ts)h(where)e(`)p Fm(i)p Fo(')h(and)f(`)p
3456 Fm(j)p Fo(')h(are)150 5230 y(the)g(unkno)m(wn)e(\(the)i(t)m(w)m(o)h
3457 (dimensions)e(of)h(the)g(space\))g(and)g(`)p Fm(m)p Fo(')f(and)g(`)p
3458 Fm(n)p Fo(')h(are)g(the)g(parameters)g(\(some)150 5340
3459 y(sym)m(b)s(olic)c(constan)m(ts\):)p eop end
3460 %%Page: 2 6
3461 TeXDict begin 2 5 bop 150 -116 a Fo(2)1589 b(CLo)s(oG)31
3462 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
3463 299 y Fm(2<=i<=n)390 408 y(2<=j<=m)390 518 y(j<=n+2-i)275
3464 664 y Fo(Let)c(us)f(also)i(consider)f(that)h(w)m(e)f(ha)m(v)m(e)i(a)e
3465 (partial)h(kno)m(wledge)g(of)f(the)g(parameter)h(v)-5
3466 b(alues,)27 b(called)h(the)150 773 y Fh(con)m(text)p
3467 Fo(,)33 b(expressed)d(as)g(a\016ne)h(constrain)m(ts)g(as)g(w)m(ell,)g
3468 (for)f(instance:)390 924 y Fm(m>=2)390 1034 y(n>=2)275
3469 1179 y Fo(Note)j(that)f(using)g(parameters)g(is)g(optional,)i(if)d(y)m
3470 (ou)i(are)f(not)g(comfortable)h(with)f(parameter)g(ma-)150
3471 1289 y(nipulation,)37 b(just)e(replace)h(them)g(with)f(an)m(y)g(scalar)
3472 i(v)-5 b(alue)36 b(that)g(\014ts)f Fm(m>=2)f Fo(and)h
3473 Fm(n>=2)p Fo(.)55 b(A)35 b(graphical)150 1398 y(represen)m(tation)e(of)
3474 e(this)h(part)f(of)h(the)f(2-dimensional)i(space,)f(where)f(the)h(in)m
3475 (tegral)h(p)s(oin)m(ts)e(are)h(repre-)150 1508 y(sen)m(ted)f(using)f
3476 (hea)m(vy)h(dots)f(w)m(ould)g(b)s(e)g(for)g(instance:)1241
3477 2667 y @beginspecial 0 @llx 0 @lly 445 @urx 301 @ury
3478 1700 @rwi @setspecial
3479 %%BeginDocument: ./images/basic.eps
3480 %!PS-Adobe-2.0 EPSF-2.0
3481 %%Title: basic.fig
3482 %%Creator: fig2dev Version 3.2 Patchlevel 4
3483 %%CreationDate: Thu Nov 17 16:54:54 2005
3484 %%For: bastoul@ulysse.futurs.inria.fr (Cedric Bastoul)
3485 %%BoundingBox: 0 0 445 301
3486 %%Magnification: 1.0000
3487 %%EndComments
3488 /$F2psDict 200 dict def
3489 $F2psDict begin
3490 $F2psDict /mtrx matrix put
3491 /col-1 {0 setgray} bind def
3492 /col0 {0.000 0.000 0.000 srgb} bind def
3493 /col1 {0.000 0.000 1.000 srgb} bind def
3494 /col2 {0.000 1.000 0.000 srgb} bind def
3495 /col3 {0.000 1.000 1.000 srgb} bind def
3496 /col4 {1.000 0.000 0.000 srgb} bind def
3497 /col5 {1.000 0.000 1.000 srgb} bind def
3498 /col6 {1.000 1.000 0.000 srgb} bind def
3499 /col7 {1.000 1.000 1.000 srgb} bind def
3500 /col8 {0.000 0.000 0.560 srgb} bind def
3501 /col9 {0.000 0.000 0.690 srgb} bind def
3502 /col10 {0.000 0.000 0.820 srgb} bind def
3503 /col11 {0.530 0.810 1.000 srgb} bind def
3504 /col12 {0.000 0.560 0.000 srgb} bind def
3505 /col13 {0.000 0.690 0.000 srgb} bind def
3506 /col14 {0.000 0.820 0.000 srgb} bind def
3507 /col15 {0.000 0.560 0.560 srgb} bind def
3508 /col16 {0.000 0.690 0.690 srgb} bind def
3509 /col17 {0.000 0.820 0.820 srgb} bind def
3510 /col18 {0.560 0.000 0.000 srgb} bind def
3511 /col19 {0.690 0.000 0.000 srgb} bind def
3512 /col20 {0.820 0.000 0.000 srgb} bind def
3513 /col21 {0.560 0.000 0.560 srgb} bind def
3514 /col22 {0.690 0.000 0.690 srgb} bind def
3515 /col23 {0.820 0.000 0.820 srgb} bind def
3516 /col24 {0.500 0.190 0.000 srgb} bind def
3517 /col25 {0.630 0.250 0.000 srgb} bind def
3518 /col26 {0.750 0.380 0.000 srgb} bind def
3519 /col27 {1.000 0.500 0.500 srgb} bind def
3520 /col28 {1.000 0.630 0.630 srgb} bind def
3521 /col29 {1.000 0.750 0.750 srgb} bind def
3522 /col30 {1.000 0.880 0.880 srgb} bind def
3523 /col31 {1.000 0.840 0.000 srgb} bind def
3526 save
3527 newpath 0 301 moveto 0 0 lineto 445 0 lineto 445 301 lineto closepath clip newpath
3528 -153.0 333.0 translate
3529 1 -1 scale
3531 /cp {closepath} bind def
3532 /ef {eofill} bind def
3533 /gr {grestore} bind def
3534 /gs {gsave} bind def
3535 /sa {save} bind def
3536 /rs {restore} bind def
3537 /l {lineto} bind def
3538 /m {moveto} bind def
3539 /rm {rmoveto} bind def
3540 /n {newpath} bind def
3541 /s {stroke} bind def
3542 /sh {show} bind def
3543 /slc {setlinecap} bind def
3544 /slj {setlinejoin} bind def
3545 /slw {setlinewidth} bind def
3546 /srgb {setrgbcolor} bind def
3547 /rot {rotate} bind def
3548 /sc {scale} bind def
3549 /sd {setdash} bind def
3550 /ff {findfont} bind def
3551 /sf {setfont} bind def
3552 /scf {scalefont} bind def
3553 /sw {stringwidth} bind def
3554 /tr {translate} bind def
3555 /tnt {dup dup currentrgbcolor
3556   4 -2 roll dup 1 exch sub 3 -1 roll mul add
3557   4 -2 roll dup 1 exch sub 3 -1 roll mul add
3558   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
3559   bind def
3560 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
3561   4 -2 roll mul srgb} bind def
3562 /reencdict 12 dict def /ReEncode { reencdict begin
3563 /newcodesandnames exch def /newfontname exch def /basefontname exch def
3564 /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
3565 basefontdict { exch dup /FID ne { dup /Encoding eq
3566 { exch dup length array copy newfont 3 1 roll put }
3567 { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
3568 newfont /FontName newfontname put newcodesandnames aload pop
3569 128 1 255 { newfont /Encoding get exch /.notdef put } for
3570 newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
3571 newfontname newfont definefont pop end } def
3572 /isovec [
3573 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
3574 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
3575 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
3576 8#220 /dotlessi 8#230 /oe 8#231 /OE
3577 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
3578 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
3579 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
3580 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
3581 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
3582 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
3583 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
3584 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
3585 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
3586 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
3587 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
3588 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
3589 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
3590 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
3591 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
3592 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
3593 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
3594 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
3595 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
3596 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
3597 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
3598 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
3599 /Times-Bold /Times-Bold-iso isovec ReEncode
3600 /Times-Roman /Times-Roman-iso isovec ReEncode
3601  /DrawEllipse {
3602         /endangle exch def
3603         /startangle exch def
3604         /yrad exch def
3605         /xrad exch def
3606         /y exch def
3607         /x exch def
3608         /savematrix mtrx currentmatrix def
3609         x y tr xrad yrad sc 0 0 1 startangle endangle arc
3610         closepath
3611         savematrix setmatrix
3612         } def
3614 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
3615 /$F2psEnd {$F2psEnteredState restore end} def
3617 $F2psBegin
3618 10 setmiterlimit
3619 0 slj 0 slc
3620  0.06000 0.06000 sc
3622 % Fig objects follow
3625 % here starts figure with depth 51
3626 % Polyline
3627 n 4200 1500 m 4200 3900 l 8400 3900 l 6000 1500 l
3628  cp gs col7 0.75 shd ef gr 
3629 % Ellipse
3630 7.500 slw
3631  [15 45] 45 sd
3632 1 slc
3633 n 5400 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3634  [] 0 sd
3635 % Ellipse
3636  [15 45] 45 sd
3637 n 4800 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3638  [] 0 sd
3639 % Ellipse
3640  [15 45] 45 sd
3641 n 4200 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3642  [] 0 sd
3643 % Ellipse
3644  [15 45] 45 sd
3645 n 4800 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3646  [] 0 sd
3647 % Ellipse
3648  [15 45] 45 sd
3649 n 4200 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3650  [] 0 sd
3651 % Ellipse
3652  [15 45] 45 sd
3653 n 4200 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3654  [] 0 sd
3655 % Ellipse
3656  [15 45] 45 sd
3657 n 6000 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3658  [] 0 sd
3659 % Ellipse
3660  [15 45] 45 sd
3661 n 6600 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3662  [] 0 sd
3663 % Ellipse
3664  [15 45] 45 sd
3665 n 7200 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3666  [] 0 sd
3667 % Ellipse
3668  [15 45] 45 sd
3669 n 7800 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3670  [] 0 sd
3671 % Ellipse
3672  [15 45] 45 sd
3673 n 7200 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3674  [] 0 sd
3675 % Ellipse
3676  [15 45] 45 sd
3677 n 6600 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3678  [] 0 sd
3679 % Ellipse
3680  [15 45] 45 sd
3681 n 6000 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3682  [] 0 sd
3683 % Ellipse
3684  [15 45] 45 sd
3685 n 5400 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3686  [] 0 sd
3687 % Ellipse
3688  [15 45] 45 sd
3689 n 4800 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3690  [] 0 sd
3691 % Ellipse
3692  [15 45] 45 sd
3693 n 5400 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3694  [] 0 sd
3695 % Ellipse
3696  [15 45] 45 sd
3697 n 6000 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3698  [] 0 sd
3699 % Ellipse
3700  [15 45] 45 sd
3701 n 6600 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3702  [] 0 sd
3703 % Ellipse
3704  [15 45] 45 sd
3705 n 6000 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3706  [] 0 sd
3707 % Ellipse
3708  [15 45] 45 sd
3709 n 5400 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3710  [] 0 sd
3711 % Ellipse
3712  [15 45] 45 sd
3713 n 4800 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3714  [] 0 sd
3715 % Ellipse
3716  [15 45] 45 sd
3717 n 4200 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3718  [] 0 sd
3719 % Ellipse
3720  [15 45] 45 sd
3721 n 4200 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3722  [] 0 sd
3723 % Ellipse
3724  [15 45] 45 sd
3725 n 4800 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3726  [] 0 sd
3727 % Ellipse
3728  [15 45] 45 sd
3729 n 5400 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3730  [] 0 sd
3731 % Ellipse
3732  [15 45] 45 sd
3733 n 7800 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3734  [] 0 sd
3735 % Ellipse
3736  [15 45] 45 sd
3737 n 8400 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3738  [] 0 sd
3739 % Ellipse
3740  [15 45] 45 sd
3741 n 7200 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3742  [] 0 sd
3743 % Ellipse
3744  [15 45] 45 sd
3745 n 6600 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3746  [] 0 sd
3747 % Ellipse
3748  [15 45] 45 sd
3749 n 6000 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
3750  [] 0 sd
3751 % Polyline
3752 0 slc
3753 gs  clippath
3754 9615 5160 m 9615 5040 l 9395 5040 l 9575 5100 l 9395 5160 l cp
3755 eoclip
3756 n 3000 5100 m
3757  9600 5100 l gs col0 s gr gr
3759 % arrowhead
3760 15.000 slw
3761 n 9395 5160 m 9575 5100 l 9395 5040 l 9395 5160 l  cp gs 0.00 setgray ef gr  col0 s
3762 % Polyline
3763 7.500 slw
3764 gs  clippath
3765 3060 885 m 2940 885 l 2940 1105 l 3000 925 l 3060 1105 l cp
3766 eoclip
3767 n 3000 5100 m
3768  3000 900 l gs col0 s gr gr
3770 % arrowhead
3771 15.000 slw
3772 n 3060 1105 m 3000 925 l 2940 1105 l 3060 1105 l  cp gs 0.00 setgray ef gr  col0 s
3773 % Polyline
3774 7.500 slw
3775 n 3000 4500 m
3776  2925 4500 l gs 0.00 setgray ef gr gs col0 s gr 
3777 % Polyline
3778 n 3000 3900 m
3779  2925 3900 l gs 0.00 setgray ef gr gs col0 s gr 
3780 % Polyline
3781 n 3000 3300 m
3782  2925 3300 l gs 0.00 setgray ef gr gs col0 s gr 
3783 % Polyline
3784 n 3600 5100 m
3785  3600 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3786 % Polyline
3787 n 4200 5100 m
3788  4200 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3789 % Polyline
3790 n 5400 5100 m
3791  5400 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3792 % Polyline
3793 n 4800 5100 m
3794  4800 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3795 % Polyline
3796 n 6000 5100 m
3797  6000 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3798 % Polyline
3799 n 6600 5100 m
3800  6600 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3801 % Polyline
3802 n 3000 2700 m
3803  2925 2700 l gs 0.00 setgray ef gr gs col0 s gr 
3804 % Polyline
3805 n 3000 1500 m
3806  2925 1500 l gs 0.00 setgray ef gr gs col0 s gr 
3807 % Polyline
3808 n 3000 2100 m
3809  2925 2100 l gs 0.00 setgray ef gr gs col0 s gr 
3810 % Polyline
3811  [15 45] 45 sd
3812 n 3000 1500 m
3813  9000 1500 l gs col0 s gr  [] 0 sd
3814 % Polyline
3815  [15 45] 45 sd
3816 n 8400 5100 m
3817  8400 900 l gs col0 s gr  [] 0 sd
3818 % Polyline
3819 n 7200 5100 m
3820  7200 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3821 % Polyline
3822 n 7800 5100 m
3823  7800 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3824 % Polyline
3825 n 8400 5100 m
3826  8400 5175 l gs 0.00 setgray ef gr gs col0 s gr 
3827 % Polyline
3828  [15 45] 45 sd
3829 n 3000 3900 m
3830  9000 3900 l gs col0 s gr  [] 0 sd
3831 % Polyline
3832  [15 45] 45 sd
3833 n 5400 900 m
3834  9600 5100 l gs col0 s gr  [] 0 sd
3835 % Polyline
3836  [15 45] 45 sd
3837 n 4200 5100 m
3838  4200 900 l gs col0 s gr  [] 0 sd
3839 /Times-Bold-iso ff 390.00 scf sf
3840 2625 4650 m
3841 gs 1 -1 sc (1) col0 sh gr
3842 /Times-Bold-iso ff 390.00 scf sf
3843 2625 4050 m
3844 gs 1 -1 sc (2) col0 sh gr
3845 /Times-Bold-iso ff 390.00 scf sf
3846 3525 5550 m
3847 gs 1 -1 sc (1) col0 sh gr
3848 /Times-Bold-iso ff 390.00 scf sf
3849 2700 1050 m
3850 gs 1 -1 sc (j) col0 sh gr
3851 /Times-Roman-iso ff 390.00 scf sf
3852 8025 825 m
3853 gs 1 -1 sc (i<=n) col0 sh gr
3854 /Times-Bold-iso ff 390.00 scf sf
3855 4125 5550 m
3856 gs 1 -1 sc (2) col0 sh gr
3857 /Times-Bold-iso ff 390.00 scf sf
3858 8325 5550 m
3859 gs 1 -1 sc (n) col0 sh gr
3860 /Times-Bold-iso ff 390.00 scf sf
3861 2550 1575 m
3862 gs 1 -1 sc (m) col0 sh gr
3863 /Times-Roman-iso ff 390.00 scf sf
3864 9075 3975 m
3865 gs 1 -1 sc (j>=2) col0 sh gr
3866 /Times-Roman-iso ff 390.00 scf sf
3867 9075 1575 m
3868 gs 1 -1 sc (j<=m) col0 sh gr
3869 /Times-Bold-iso ff 390.00 scf sf
3870 9450 5475 m
3871 gs 1 -1 sc (i) col0 sh gr
3872 /Times-Roman-iso ff 390.00 scf sf
3873 3825 825 m
3874 gs 1 -1 sc (i>=2) col0 sh gr
3875 /Times-Roman-iso ff 390.00 scf sf
3876 4875 825 m
3877 gs 1 -1 sc (j<=n+2-i) col0 sh gr
3878 % here ends figure;
3879 $F2psEnd
3881 showpage
3883 %%EndDocument
3884  @endspecial 275 2950 a(The)i(a\016ne)h(constrain)m(ts)h(of)f(b)s(oth)g
3885 (the)g(domain)g(and)f(the)h(con)m(text)i(are)e(what)g(w)m(e)h(will)f
3886 (pro)m(vide)g(to)150 3060 y(CLo)s(oG)c(as)h(input)e(\(in)h(a)h
3887 (particular)f(shap)s(e)g(that)g(will)h(b)s(e)e(describ)s(ed)g(later\).)
3888 42 b(The)29 b(output)f(of)i(CLo)s(oG)150 3170 y(is)g(a)h(pseudo-co)s
3889 (de)f(to)h(scan)g(the)g(in)m(tegral)h(p)s(oin)m(ts)e(of)g(the)h(input)e
3890 (domain)i(according)g(to)g(the)g(con)m(text:)390 3321
3891 y Fm(for)47 b(\(i=2;i<=n;i++\))d({)485 3430 y(for)j
3892 (\(j=2;j<=min\(m,-i+n+2\);j++\))41 b({)581 3540 y(S1\(i,j\))46
3893 b(;)485 3649 y(})390 3759 y(})275 3904 y Fo(If)34 b(y)m(ou)h(felt)g
3894 (suc)m(h)g(a)g(basic)g(example)h(is)f(y)m(et)g(in)m(teresting,)j(there)
3895 d(is)g(a)g(go)s(o)s(d)g(c)m(hance)g(that)h(CLo)s(oG)150
3896 4014 y(is)g(appropriate)g(for)g(y)m(ou.)58 b(CLo)s(oG)36
3897 b(can)g(do)g(m)m(uc)m(h)g(more:)52 b(scanning)36 b(sev)m(eral)h(p)s
3898 (olyhedra)e(or)h(unions)150 4124 y(of)h(p)s(olyhedra)e(at)i(the)g(same)
3899 g(time,)i(applying)d(general)i(a\016ne)e(transformations)h(to)g(the)g
3900 (p)s(olyhedra,)150 4233 y(generate)32 b(compilable)f(co)s(de)g(etc.)42
3901 b(W)-8 b(elcome)33 b(to)e(the)f(CLo)s(oG's)h(user's)f(guide)g(!)150
3902 4532 y Fn(1.2)68 b(De\014ning)45 b(a)g(Scanning)g(Order:)67
3903 b(Scattering)46 b(F)-11 b(unctions)275 4792 y Fo(In)30
3904 b(CLo)s(oG,)h(domains)f(only)h(de\014ne)f(the)h(set)g(of)g(in)m(tegral)
3905 i(p)s(oin)m(ts)e(to)g(scan)g(and)f(their)h(co)s(ordinates.)150
3906 4902 y(In)g(particular,)i(CLo)s(oG)f(is)g(free)g(to)g(c)m(ho)s(ose)h
3907 (the)f(scanning)g(order)f(for)h(generating)h(the)f(most)g(e\016cien)m
3908 (t)150 5011 y(co)s(de.)44 b(This)31 b(means,)g(for)g
3909 (optimizing/parallelizing)k(compiler)d(p)s(eople,)g(that)g(CLo)s(oG)g
3910 (do)s(esn't)f(mak)m(e)150 5121 y(an)m(y)f(sp)s(eculation)g(on)f(dep)s
3911 (endences)g(on)g(and)g(b)s(et)m(w)m(een)i(statemen)m(ts)g(\(b)m(y)f
3912 (the)f(w)m(a)m(y)-8 b(,)32 b(it's)e(not)g(its)g(job)f(!\).)150
3913 5230 y(F)-8 b(or)29 b(instance,)g(if)f(an)g(user)f(giv)m(e)i(to)g(CLo)s
3914 (oG)f(only)g(t)m(w)m(o)h(domains)f Fm(S1:1<=i<=n)p Fo(,)d
3915 Fm(S2:1<=i<=n)g Fo(and)j(the)150 5340 y(con)m(text)k
3916 Fm(n>=1)p Fo(,)e(the)g(follo)m(wing)i(pseudo-co)s(des)e(are)h
3917 (considered)f(to)h(b)s(e)f(equiv)-5 b(alen)m(t:)p eop
3919 %%Page: 3 7
3920 TeXDict begin 3 6 bop 150 -116 a Fo(Chapter)30 b(1:)41
3921 b(In)m(tro)s(duction)2592 b(3)390 299 y Fm(/*)47 b(A)h(convenient)d
3922 (target)h(pseudo-code.)e(*/)390 408 y(for)j(\(i=1;i<=N;i++\))d({)438
3923 518 y(S1\(i\))i(;)390 628 y(})390 737 y(for)h(\(i=1;i<=N;i++\))d({)438
3924 847 y(S2\(i\))i(;)390 956 y(})390 1111 y(/*)h(Another)f(convenient)f
3925 (target)h(pseudo-code.)f(*/)390 1221 y(for)i(\(i=1;i<=N;i++\))d({)438
3926 1330 y(S1\(i\))i(;)438 1440 y(S2\(i\))g(;)390 1549 y(})275
3927 1690 y Fo(The)31 b(default)i(b)s(eha)m(viour)f(of)h(CLo)s(oG)f(is)h(to)
3928 g(generate)h(the)f(second)f(one,)i(since)e(it)h(is)g(optimized)g(in)150
3929 1799 y(con)m(trol.)40 b(It)22 b(is)h(righ)m(t)g(if)f(there)h(are)g(no)f
3930 (data)h(dep)s(endences)f(b)s(et)m(w)m(een)h Fm(S1)f Fo(and)g
3931 Fm(S2)p Fo(,)h(but)f(wrong)g(otherwise.)275 1945 y(Th)m(us)32
3932 b(it)j(is)f(often)g(useful)f(to)i(force)f(scanning)g(to)h(resp)s(ect)f
3933 (a)g(giv)m(en)h(order.)51 b(This)33 b(can)h(b)s(e)g(done)f(in)150
3934 2054 y(CLo)s(oG)k(b)m(y)g(using)f Fh(scattering)j(functions)p
3935 Fo(.)60 b(Scattering)39 b(is)e(a)g(shortcut)g(for)f(sc)m(heduling,)j
3936 (allo)s(cation,)150 2164 y(c)m(h)m(unking)g(functions)g(and)f(the)i
3937 (lik)m(e)g(w)m(e)g(can)f(\014nd)f(in)h(the)g(restructuring)f
3938 (compilation)j(litterature.)150 2274 y(There)31 b(are)h(a)g(lot)g(of)g
3939 (reasons)f(to)i(scatter)f(the)g(in)m(tegral)h(p)s(oin)m(ts)f(of)f(the)h
3940 (domains)f(\(i.e.)45 b(the)32 b(statemen)m(t)150 2383
3941 y(instances)38 b(of)g(a)g(program,)i(for)d(compilation)j(p)s(eople\),)g
3942 (parallelization)h(or)c(optimization)j(are)e(go)s(o)s(d)150
3943 2493 y(examples.)j(F)-8 b(or)29 b(instance,)g(if)f(the)h(user)e(w)m(an)
3944 m(ts)i(for)f(an)m(y)h(reason)f(to)h(set)g(some)f(precedence)h
3945 (constrain)m(ts)150 2602 y(b)s(et)m(w)m(een)35 b(the)g(statemen)m(ts)h
3946 (of)f(our)f(example)h(ab)s(o)m(v)m(e)g(in)g(order)f(to)h(force)g(the)g
3947 (generation)g(of)g(the)g(\014rst)150 2712 y(co)s(de,)c(he)f(can)h(do)f
3948 (it)h(easily)g(b)m(y)g(setting)g(\(for)g(example\))g(the)g(follo)m
3949 (wing)g(sc)m(heduling)g(functions:)1718 2984 y Fg(\022)1761
3950 2998 y Ff(S)s Fe(1)1842 2984 y Fo(\()p Fg(i)p Fo(\))c(=)d(\(1\))1713
3951 3185 y Fg(\022)1756 3199 y Ff(S)s Fe(2)1837 3185 y Fo(\()p
3952 Fg(j)5 b Fo(\))26 b(=)f(\(2\))275 3405 y(This)36 b(scattering)i(means)f
3953 (that)g(eac)m(h)i(in)m(tegral)f(p)s(oin)m(t)f(of)g(the)g(domain)g
3954 Fm(S1)f Fo(is)h(scanned)g(at)g(logical)150 3515 y(date)31
3955 b Fm(1)f Fo(while)g(eac)m(h)h(in)m(tegral)h(p)s(oin)m(t)f(of)f(the)g
3956 (domain)g Fm(S2)g Fo(is)g(scanned)g(at)h(logical)i(date)e
3957 Fm(2)p Fo(.)40 b(As)30 b(a)h(result,)150 3624 y(the)41
3958 b(whole)g(domain)f Fm(S1)g Fo(is)h(scanned)f(b)s(efore)g(domain)h
3959 Fm(S2)f Fo(and)g(the)g(\014rst)g(co)s(de)h(in)f(our)h(example)g(is)150
3960 3734 y(generated.)275 3879 y(The)j(user)g(can)h(set)g(ev)m(ery)h(kind)e
3961 (of)h(a\016ne)f(scanning)h(order)f(thanks)h(to)g(the)g(scattering)i
3962 (func-)150 3989 y(tions.)87 b(Eac)m(h)46 b(domain)g(has)f(its)h(o)m(wn)
3963 g(scattering)h(function)f(and)f(eac)m(h)i(scattering)g(function)e(ma)m
3964 (y)150 4099 y(b)s(e)i(m)m(ulti-dimensional.)95 b(A)48
3965 b(m)m(ulti-dimen)m(tional)i(logical)g(date)f(ma)m(y)g(b)s(e)e(seen)h
3966 (as)g(classical)i(date)150 4208 y(\(y)m(ear,mon)m(th,da)m(y)-8
3967 b(,hour,min)m(ute,etc.\))42 b(where)23 b(the)f(\014rst)g(dimensions)g
3968 (are)h(the)g(most)g(signi\014can)m(t.)39 b(Eac)m(h)150
3969 4318 y(scattering)31 b(dimension)e(ma)m(y)h(dep)s(end)d(linearly)j(on)g
3970 (the)f(original)i(dimensions)e(\(e.g.,)i Fm(i)p Fo(\),)f(the)g(parame-)
3971 150 4427 y(ters)h(\(e.g.,)h Fm(n)p Fo(\))e(ans)g(scalars)h(\(e.g.,)i
3972 Fm(2)p Fo(\).)275 4573 y(A)c(v)m(ery)g(useful)f(example)i(of)f(m)m
3973 (ulti-dimensional)h(scattering)g(functions)f(is,)h(for)e(compilation)j
3974 (p)s(eo-)150 4682 y(ple,)i(the)g(sc)m(heduling)g(of)f(the)h(original)h
3975 (program.)46 b(The)32 b(basic)h(data)g(to)h(use)e(for)g(co)s(de)h
3976 (generation)h(are)150 4792 y(statemen)m(t)27 b(iteration)h(domains.)38
3977 b(As)26 b(w)m(e)g(sa)m(w,)h(these)f(data)g(are)g(not)g(su\016cien)m(t)g
3978 (to)g(rebuild)f(the)h(original)150 4902 y(program)36
3979 b(\(what)g(is)g(the)h(ordering)e(b)s(et)m(w)m(een)i(instances)g(of)f
3980 (di\013eren)m(t)h(statemen)m(ts)g(?\).)58 b(The)36 b(missing)150
3981 5011 y(data)29 b(can)f(b)s(e)f(put)h(in)f(the)i(scattering)g(functions)
3982 f(as)g(the)g(original)h(sc)m(heduling.)40 b(The)28 b(metho)s(d)f(to)i
3983 (com-)150 5121 y(pute)j(it)h(is)g(quite)f(simple)h(\(see)g([F)-8
3984 b(ea92],)36 b(page)e(39\).)48 b(The)32 b(idea)h(is)f(to)h(build)f(an)g
3985 (abstract)h(syn)m(tax)g(tree)150 5230 y(of)28 b(the)h(program)f(and)g
3986 (to)h(read)f(the)h(sc)m(heduling)f(for)g(eac)m(h)i(statemen)m(t.)41
3987 b(F)-8 b(or)29 b(instance,)h(let)f(us)f(consider)150
3988 5340 y(the)j(follo)m(wing)g(implemen)m(tation)h(of)f(a)g(Cholesky)f
3989 (factorization:)p eop end
3990 %%Page: 4 8
3991 TeXDict begin 4 7 bop 150 -116 a Fo(4)1589 b(CLo)s(oG)31
3992 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
3993 299 y Fm(/*)47 b(A)h(Cholesky)d(factorization)f(kernel.)i(*/)390
3994 408 y(for)h(\(i=1;i<=N;i++\))d({)485 518 y(for)j(\(j=1;j<=i-1;j++\))d
3995 ({)581 628 y(a[i][i])i(-=)h(a[i][j])f(;)524 b(/*)48 b(S1)f(*/)485
3996 737 y(})485 847 y(a[i][i])f(=)i(sqrt\(a[i][i]\))c(;)381
3997 b(/*)48 b(S2)f(*/)485 956 y(for)g(\(j=i+1;j<=N;j++\))d({)581
3998 1066 y(for)j(\(k=1;k<=i-1;k++\))c({)676 1176 y(a[j][i])j(-=)h
3999 (a[j][k]*a[i][k])d(;)j(/*)h(S3)f(*/)581 1285 y(})581
4000 1395 y(a[j][i])f(/=)h(a[i][i])f(;)524 b(/*)48 b(S4)f(*/)581
4001 1504 y(})485 1614 y(})390 1724 y(})275 1853 y Fo(The)29
4002 b(corresp)s(onding)f(abstract)j(syn)m(tax)f(tree)h(is)e(giv)m(en)i(in)e
4003 (the)h(follo)m(wing)h(\014gure.)40 b(It)30 b(directly)h(giv)m(es)150
4004 1962 y(the)g(scattering)h(functions)d(\(sc)m(hedules\))j(for)e(all)h
4005 (the)g(statemen)m(ts)h(of)e(the)h(program.)1241 3258
4006 y @beginspecial 0 @llx 0 @lly 388 @urx 312 @ury 1700
4007 @rwi @setspecial
4008 %%BeginDocument: ./images/tree.eps
4009 %!PS-Adobe-2.0 EPSF-2.0
4010 %%Title: tree.eps
4011 %%Creator: fig2dev Version 3.2 Patchlevel 3c
4012 %%CreationDate: Fri Sep  6 10:09:40 2002
4013 %%For: bastoul@whisky (Cedric Bastoul)
4014 %%BoundingBox: 0 0 388 312
4015 %%Magnification: 1.0000
4016 %%EndComments
4017 /$F2psDict 200 dict def
4018 $F2psDict begin
4019 $F2psDict /mtrx matrix put
4020 /col-1 {0 setgray} bind def
4021 /col0 {0.000 0.000 0.000 srgb} bind def
4022 /col1 {0.000 0.000 1.000 srgb} bind def
4023 /col2 {0.000 1.000 0.000 srgb} bind def
4024 /col3 {0.000 1.000 1.000 srgb} bind def
4025 /col4 {1.000 0.000 0.000 srgb} bind def
4026 /col5 {1.000 0.000 1.000 srgb} bind def
4027 /col6 {1.000 1.000 0.000 srgb} bind def
4028 /col7 {1.000 1.000 1.000 srgb} bind def
4029 /col8 {0.000 0.000 0.560 srgb} bind def
4030 /col9 {0.000 0.000 0.690 srgb} bind def
4031 /col10 {0.000 0.000 0.820 srgb} bind def
4032 /col11 {0.530 0.810 1.000 srgb} bind def
4033 /col12 {0.000 0.560 0.000 srgb} bind def
4034 /col13 {0.000 0.690 0.000 srgb} bind def
4035 /col14 {0.000 0.820 0.000 srgb} bind def
4036 /col15 {0.000 0.560 0.560 srgb} bind def
4037 /col16 {0.000 0.690 0.690 srgb} bind def
4038 /col17 {0.000 0.820 0.820 srgb} bind def
4039 /col18 {0.560 0.000 0.000 srgb} bind def
4040 /col19 {0.690 0.000 0.000 srgb} bind def
4041 /col20 {0.820 0.000 0.000 srgb} bind def
4042 /col21 {0.560 0.000 0.560 srgb} bind def
4043 /col22 {0.690 0.000 0.690 srgb} bind def
4044 /col23 {0.820 0.000 0.820 srgb} bind def
4045 /col24 {0.500 0.190 0.000 srgb} bind def
4046 /col25 {0.630 0.250 0.000 srgb} bind def
4047 /col26 {0.750 0.380 0.000 srgb} bind def
4048 /col27 {1.000 0.500 0.500 srgb} bind def
4049 /col28 {1.000 0.630 0.630 srgb} bind def
4050 /col29 {1.000 0.750 0.750 srgb} bind def
4051 /col30 {1.000 0.880 0.880 srgb} bind def
4052 /col31 {1.000 0.840 0.000 srgb} bind def
4055 save
4056 newpath 0 312 moveto 0 0 lineto 388 0 lineto 388 312 lineto closepath clip newpath
4057 -165.0 369.0 translate
4058 1 -1 scale
4060 /cp {closepath} bind def
4061 /ef {eofill} bind def
4062 /gr {grestore} bind def
4063 /gs {gsave} bind def
4064 /sa {save} bind def
4065 /rs {restore} bind def
4066 /l {lineto} bind def
4067 /m {moveto} bind def
4068 /rm {rmoveto} bind def
4069 /n {newpath} bind def
4070 /s {stroke} bind def
4071 /sh {show} bind def
4072 /slc {setlinecap} bind def
4073 /slj {setlinejoin} bind def
4074 /slw {setlinewidth} bind def
4075 /srgb {setrgbcolor} bind def
4076 /rot {rotate} bind def
4077 /sc {scale} bind def
4078 /sd {setdash} bind def
4079 /ff {findfont} bind def
4080 /sf {setfont} bind def
4081 /scf {scalefont} bind def
4082 /sw {stringwidth} bind def
4083 /tr {translate} bind def
4084 /tnt {dup dup currentrgbcolor
4085   4 -2 roll dup 1 exch sub 3 -1 roll mul add
4086   4 -2 roll dup 1 exch sub 3 -1 roll mul add
4087   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
4088   bind def
4089 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4090   4 -2 roll mul srgb} bind def
4091  /DrawEllipse {
4092         /endangle exch def
4093         /startangle exch def
4094         /yrad exch def
4095         /xrad exch def
4096         /y exch def
4097         /x exch def
4098         /savematrix mtrx currentmatrix def
4099         x y tr xrad yrad sc 0 0 1 startangle endangle arc
4100         closepath
4101         savematrix setmatrix
4102         } def
4104 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
4105 /$F2psEnd {$F2psEnteredState restore end} def
4107 $F2psBegin
4108 %%Page: 1 1
4109 10 setmiterlimit
4110  0.06000 0.06000 sc
4112 % Fig objects follow
4114 7.500 slw
4115 % Ellipse
4116 n 5400 1200 237 237 0 360 DrawEllipse gs col0 s gr
4118 % Ellipse
4119 n 3000 3600 237 237 0 360 DrawEllipse gs col0 s gr
4121 % Ellipse
4122 n 7800 3600 237 237 0 360 DrawEllipse gs col0 s gr
4124 % Ellipse
4125 n 6600 4800 237 237 0 360 DrawEllipse gs col0 s gr
4127 % Ellipse
4128 n 5400 2325 237 237 0 360 DrawEllipse gs col0 s gr
4130 % Polyline
4131 gs  clippath
4132 5355 2115 m 5445 2115 l 5445 1888 l 5400 2068 l 5355 1888 l cp
4133 eoclip
4134 n 5400 1425 m
4135  5400 2100 l gs col0 s gr gr
4137 % arrowhead
4138 15.000 slw
4139 n 5355 1888 m 5400 2068 l 5445 1888 l 5355 1888 l  cp gs 0.00 setgray ef gr  col0 s
4140 % Polyline
4141 7.500 slw
4142 gs  clippath
4143 5355 3390 m 5445 3390 l 5445 3163 l 5400 3343 l 5355 3163 l cp
4144 eoclip
4145 n 5400 2550 m
4146  5400 3375 l gs col0 s gr gr
4148 % arrowhead
4149 15.000 slw
4150 n 5355 3163 m 5400 3343 l 5445 3163 l 5355 3163 l  cp gs 0.00 setgray ef gr  col0 s
4151 % Polyline
4152 7.500 slw
4153 gs  clippath
4154 2955 4590 m 3045 4590 l 3045 4363 l 3000 4543 l 2955 4363 l cp
4155 eoclip
4156 n 3000 3825 m
4157  3000 4575 l gs col0 s gr gr
4159 % arrowhead
4160 15.000 slw
4161 n 2955 4363 m 3000 4543 l 3045 4363 l 2955 4363 l  cp gs 0.00 setgray ef gr  col0 s
4162 % Polyline
4163 7.500 slw
4164 gs  clippath
4165 6563 4544 m 6611 4621 l 6803 4500 l 6627 4558 l 6755 4424 l cp
4166 eoclip
4167 n 7800 3825 m
4168  6600 4575 l gs col0 s gr gr
4170 % arrowhead
4171 15.000 slw
4172 n 6755 4424 m 6627 4558 l 6803 4500 l 6755 4424 l  cp gs 0.00 setgray ef gr  col0 s
4173 % Polyline
4174 7.500 slw
4175 gs  clippath
4176 8988 4621 m 9036 4544 l 8844 4424 l 8973 4558 l 8796 4500 l cp
4177 eoclip
4178 n 7800 3825 m
4179  9000 4575 l gs col0 s gr gr
4181 % arrowhead
4182 15.000 slw
4183 n 8796 4500 m 8973 4558 l 8844 4424 l 8796 4500 l  cp gs 0.00 setgray ef gr  col0 s
4184 % Polyline
4185 7.500 slw
4186 gs  clippath
4187 6555 5790 m 6645 5790 l 6645 5563 l 6600 5743 l 6555 5563 l cp
4188 eoclip
4189 n 6600 5025 m
4190  6600 5775 l gs col0 s gr gr
4192 % arrowhead
4193 15.000 slw
4194 n 6555 5563 m 6600 5743 l 6645 5563 l 6555 5563 l  cp gs 0.00 setgray ef gr  col0 s
4195 % Polyline
4196 7.500 slw
4197 gs  clippath
4198 7802 3411 m 7831 3326 l 7615 3253 l 7772 3354 l 7587 3338 l cp
4199 eoclip
4200 n 5400 2550 m
4201  7803 3364 l gs col0 s gr gr
4203 % arrowhead
4204 15.000 slw
4205 n 7587 3338 m 7772 3354 l 7615 3253 l 7587 3338 l  cp gs 0.00 setgray ef gr  col0 s
4206 % Polyline
4207 7.500 slw
4208 gs  clippath
4209 2971 3337 m 3000 3422 l 3215 3348 l 3031 3364 l 3186 3262 l cp
4210 eoclip
4211 n 5400 2550 m
4212  3000 3375 l gs col0 s gr gr
4214 % arrowhead
4215 15.000 slw
4216 n 3186 3262 m 3031 3364 l 3215 3348 l 3186 3262 l  cp gs 0.00 setgray ef gr  col0 s
4217 /Times-Roman ff 330.00 scf sf
4218 3075 4200 m
4219 gs 1 -1 sc (0) col0 sh gr
4220 /Times-Roman ff 330.00 scf sf
4221 6675 5400 m
4222 gs 1 -1 sc (0) col0 sh gr
4223 /Times-Roman ff 330.00 scf sf
4224 5475 3000 m
4225 gs 1 -1 sc (1) col0 sh gr
4226 /Times-Roman ff 330.00 scf sf
4227 3825 3000 m
4228 gs 1 -1 sc (0) col0 sh gr
4229 /Times-Roman ff 330.00 scf sf
4230 6900 3000 m
4231 gs 1 -1 sc (2) col0 sh gr
4232 /Times-Roman ff 330.00 scf sf
4233 6975 4200 m
4234 gs 1 -1 sc (0) col0 sh gr
4235 /Times-Roman ff 330.00 scf sf
4236 8475 4200 m
4237 gs 1 -1 sc (1) col0 sh gr
4238 /Times-Roman ff 330.00 scf sf
4239 5475 1800 m
4240 gs 1 -1 sc (0) col0 sh gr
4241 /Times-Roman ff 330.00 scf sf
4242 2850 4950 m
4243 gs 1 -1 sc (S1) col0 sh gr
4244 /Times-Roman ff 330.00 scf sf
4245 5250 3750 m
4246 gs 1 -1 sc (S2) col0 sh gr
4247 /Times-Roman ff 330.00 scf sf
4248 6450 6150 m
4249 gs 1 -1 sc (S3) col0 sh gr
4250 /Times-Roman ff 330.00 scf sf
4251 8850 4950 m
4252 gs 1 -1 sc (S4) col0 sh gr
4253 /Times-Roman ff 330.00 scf sf
4254 5355 2430 m
4255 gs 1 -1 sc (i) col0 sh gr
4256 /Times-Roman ff 330.00 scf sf
4257 2963 3667 m
4258 gs 1 -1 sc (j) col0 sh gr
4259 /Times-Roman ff 330.00 scf sf
4260 7763 3675 m
4261 gs 1 -1 sc (j) col0 sh gr
4262 /Times-Roman ff 330.00 scf sf
4263 6533 4890 m
4264 gs 1 -1 sc (k) col0 sh gr
4265 $F2psEnd
4268 %%EndDocument
4269  @endspecial 1251 3514 a Fd(8)1251 3589 y(>)1251 3614
4270 y(>)1251 3639 y(<)1251 3788 y(>)1251 3813 y(>)1251 3838
4271 y(:)1339 3574 y Fg(\022)1382 3588 y Ff(S)s Fe(1)1463
4272 3574 y Fo(\()p Fg(i;)15 b(j)5 b Fo(\))1646 3541 y Ff(T)1877
4273 3574 y Fo(=)25 b(\(0)p Fg(;)15 b(i;)g Fo(0)p Fg(;)g(j;)g
4274 Fo(0\))2406 3541 y Ff(T)1339 3684 y Fg(\022)1382 3698
4275 y Ff(S)s Fe(2)1463 3684 y Fo(\()p Fg(i)p Fo(\))313 b(=)25
4276 b(\(0)p Fg(;)15 b(i;)g Fo(1\))2244 3651 y Ff(T)1339 3793
4277 y Fg(\022)1382 3807 y Ff(S)s Fe(3)1463 3793 y Fo(\()p
4278 Fg(i;)g(j;)g(k)s Fo(\))1731 3760 y Ff(T)1877 3793 y Fo(=)25
4279 b(\(0)p Fg(;)15 b(i;)g Fo(2)p Fg(;)g(j;)g Fo(0)p Fg(;)g(k)s(;)g
4280 Fo(0\))2581 3760 y Ff(T)1339 3903 y Fg(\022)1382 3917
4281 y Ff(S)s Fe(4)1463 3903 y Fo(\()p Fg(i;)g(j)5 b Fo(\))1646
4282 3870 y Ff(T)1877 3903 y Fo(=)25 b(\(0)p Fg(;)15 b(i;)g
4283 Fo(2)p Fg(;)g(j;)g Fo(1\))2406 3870 y Ff(T)275 4081 y
4284 Fo(These)37 b(sc)m(hedules)g(dep)s(end)f(on)h(the)g(iterators)i(and)e
4285 (giv)m(e)i(for)e(eac)m(h)h(instance)g(of)g(eac)m(h)g(statemen)m(t)150
4286 4191 y(a)d(unique)e(execution)i(date.)53 b(Using)34 b(suc)m(h)g
4287 (scattering)h(functions)f(allo)m(w)i(CLo)s(oG)e(to)h(re-generate)h(the)
4288 150 4300 y(input)29 b(co)s(de.)p eop end
4289 %%Page: 5 9
4290 TeXDict begin 5 8 bop 150 -116 a Fo(Chapter)30 b(2:)41
4291 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)2020 b(5)150
4292 299 y Fk(2)80 b(Using)53 b(the)g(CLo)t(oG)g(Soft)l(w)l(are)150
4293 667 y Fn(2.1)68 b(A)44 b(First)i(Example)275 913 y Fo(CLo)s(oG)34
4294 b(tak)m(es)i(as)e(input)f(a)i(\014le)f(that)h(m)m(ust)f(b)s(e)g
4295 (written)g(accordingly)h(to)g(a)g(grammar)f(describ)s(ed)150
4296 1023 y(in)f(depth)f(in)g(a)i(further)d(section)j(\(see)g(Section)g(2.2)
4297 g([W)-8 b(riting)34 b(The)e(Input)g(File],)j(page)f(6\).)49
4298 b(Moreo)m(v)m(er)150 1132 y(it)33 b(supp)s(orts)d(man)m(y)i(options)g
4299 (to)h(tune)e(the)i(target)g(co)s(de)f(presen)m(tation)h(or)f(qualit)m
4300 (y)i(as)e(discussed)f(in)h(a)150 1242 y(dedicated)22
4301 b(section)h(\(see)g(Section)g(2.3)g([Calling)f(CLo)s(oG],)h(page)f
4302 (10\).)39 b(Ho)m(w)m(ev)m(er,)26 b(a)c(basic)g(use)g(of)g(CLo)s(oG)150
4303 1351 y(is)30 b(not)g(v)m(ery)g(complex)h(and)e(w)m(e)i(presen)m(t)e(in)
4304 h(this)g(section)h(ho)m(w)f(to)g(generate)i(the)e(co)s(de)g(corresp)s
4305 (onding)150 1461 y(to)h(a)g(basic)g(example)g(discussed)e(earlier)i
4306 (\(see)h(Section)f(1.1)g([Basics],)i(page)e(1\).)275
4307 1598 y(The)26 b(problem)h(is)h(to)g(\014nd)e(the)h(co)s(de)h(that)g
4308 (scans)f(a)h(2-dimensional)g(p)s(olyhedron)e(where)h(`)p
4309 Fm(i)p Fo(')h(and)f(`)p Fm(j)p Fo(')150 1707 y(are)j(the)f(unkno)m(wn)f
4310 (\(the)i(t)m(w)m(o)h(dimensions)d(of)i(the)g(space\))g(and)f(`)p
4311 Fm(m)p Fo(')g(and)g(`)p Fm(n)p Fo(')g(are)h(the)g(parameters)f(\(the)
4312 150 1817 y(sym)m(b)s(olic)i(constan)m(ts\),)h(de\014ned)d(b)m(y)h(the)h
4313 (follo)m(wing)h(set)f(of)f(constrain)m(ts:)390 1954 y
4314 Fm(2<=i<=n)390 2063 y(2<=j<=m)390 2173 y(j<=n+2-i)150
4315 2305 y Fo(W)-8 b(e)44 b(also)g(consider)f(a)g(partial)h(kno)m(wledge)g
4316 (of)f(the)g(parameter)h(v)-5 b(alues,)46 b(expressed)d(thanks)f(to)i
4317 (the)150 2414 y(follo)m(wing)32 b(a\016ne)e(constrain)m(ts:)390
4318 2551 y Fm(m>=2)390 2661 y(n>=2)275 2792 y Fo(An)40 b(input)h(\014le)g
4319 (that)h(corresp)s(onds)e(to)i(this)f(problem,)j(and)c(asks)i(for)f(a)g
4320 (generated)i(co)s(de)e(in)g(C,)150 2902 y(ma)m(y)c(b)s(e)e(the)h(follo)
4321 m(wing.)59 b(Note)37 b(that)g(w)m(e)f(do)g(not)g(describ)s(e)f(here)h
4322 (precisely)h(the)f(structure)f(and)h(the)150 3011 y(comp)s(onen)m(ts)22
4323 b(of)h(this)f(\014le)g(\(see)h(Section)g(2.2)g([W)-8
4324 b(riting)24 b(The)e(Input)f(File],)k(page)e(6)g(for)f(suc)m(h)f
4325 (information,)150 3121 y(if)30 b(y)m(ou)h(feel)g(it)g(necessary\):)390
4326 3258 y Fm(#)47 b(----------------------)42 b(CONTEXT)k
4327 (----------------------)390 3367 y(c)h(#)h(language)d(is)j(C)390
4328 3587 y(#)f(Context)f(\(constraints)f(on)i(two)g(parameters\))390
4329 3696 y(2)g(4)907 b(#)47 b(2)h(lines)e(and)h(4)h(columns)390
4330 3806 y(#)f(eq/in)g(m)95 b(n)g(1)429 b(eq/in:)47 b(1)g(for)g(inequality)
4331 e(>=0,)i(0)g(for)g(equality)e(=0)581 3915 y(1)143 b(1)95
4332 b(0)47 b(-2)334 b(#)47 b(1*m)g(+)h(0*n)f(-2*1)f(>=)i(0,)f(i.e.)f(m>=2)
4333 581 4025 y(1)143 b(0)95 b(1)47 b(-2)334 b(#)47 b(0*m)g(+)h(1*n)f(-2*1)f
4334 (>=)i(0,)f(i.e.)f(n>=2)390 4244 y(1)h(#)h(We)f(want)g(to)g(set)g
4335 (manually)e(the)i(parameter)f(names)390 4354 y(m)h(n)907
4336 b(#)47 b(parameter)f(names)390 4573 y(#)h(---------------------)42
4337 b(STATEMENTS)j(--------------------)390 4682 y(1)i(#)h(Number)e(of)h
4338 (statements)390 4902 y(1)g(#)h(First)e(statement:)f(one)i(domain)390
4339 5011 y(#)g(First)g(domain)390 5121 y(5)g(6)907 b(#)47
4340 b(5)h(lines)e(and)h(6)h(columns)390 5230 y(#)f(eq/in)g(i)95
4341 b(j)g(m)g(n)h(1)581 5340 y(1)143 b(1)95 b(0)g(0)g(0)48
4342 b(-2)f(#)g(i)h(>=)f(2)p eop end
4343 %%Page: 6 10
4344 TeXDict begin 6 9 bop 150 -116 a Fo(6)1589 b(CLo)s(oG)31
4345 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)581
4346 299 y Fm(1)95 b(-1)g(0)g(0)g(1)h(0)47 b(#)g(i)h(<=)f(n)581
4347 408 y(1)143 b(0)95 b(1)g(0)g(0)48 b(-2)f(#)g(j)h(>=)f(2)581
4348 518 y(1)143 b(0)47 b(-1)95 b(1)g(0)h(0)47 b(#)g(j)h(<=)f(m)581
4349 628 y(1)95 b(-1)47 b(-1)95 b(0)g(1)h(2)47 b(#)g(n+2-i>=j)390
4350 737 y(0)95 b(0)g(0)716 b(#)47 b(for)g(future)f(options)390
4351 956 y(1)h(#)h(We)f(want)g(to)g(set)g(manually)e(the)i(iterator)f(names)
4352 390 1066 y(i)h(j)907 b(#)47 b(iterator)f(names)390 1285
4353 y(#)h(---------------------)42 b(SCATTERING)j(--------------------)390
4354 1395 y(0)i(#)h(No)f(scattering)e(functions)275 1526 y
4355 Fo(This)28 b(\014le)h(ma)m(y)h(b)s(e)e(called)j(`)p Fm(basic.cloog)p
4356 Fo(')26 b(\(this)k(example)f(is)h(pro)m(vided)e(in)h(the)h(CLo)s(oG)f
4357 (distribu-)150 1636 y(tion)34 b(as)g Fm(test/manual_basic.cloog)p
4358 Fo(\))28 b(and)33 b(w)m(e)h(can)g(ask)g(CLo)s(oG)g(to)g(pro)s(cess)g
4359 (it)g(and)f(to)h(generate)150 1745 y(the)i(co)s(de)g(b)m(y)f(a)h
4360 (simple)g(calling)h(to)f(CLo)s(oG)g(with)f(this)h(\014le)g(as)f(input:)
4361 51 b(`)p Fm(cloog)29 b(basic.cloog)p Fo('.)54 b(By)150
4362 1855 y(default,)31 b(CLo)s(oG)f(will)h(prin)m(t)f(the)h(generated)g(co)
4363 s(de)g(in)f(the)g(standard)g(output:)390 1986 y Fm(/*)47
4364 b(Generated)e(by)j(CLooG)e(v0.14.0)g(in)h(0.00s.)f(*/)390
4365 2096 y(for)h(\(i=2;i<=n;i++\))d({)485 2206 y(for)j
4366 (\(j=2;j<=min\(m,-i+n+2\);j++\))41 b({)581 2315 y(S1\(i,j\))46
4367 b(;)485 2425 y(})390 2534 y(})150 2776 y Fn(2.2)68 b(W)-11
4368 b(riting)46 b(The)e(Input)g(File)275 3017 y Fo(The)26
4369 b(input)g(text)h(\014le)g(con)m(tains)h(a)f(problem)f(description,)i
4370 (i.e.)41 b(the)27 b(con)m(text,)i(the)e(domains)g(and)f(the)150
4371 3126 y(scattering)31 b(functions.)40 b(Because)31 b(CLo)s(oG)e(is)h(v)m
4372 (ery)g('compilable)g(co)s(de)g(generation)h(orien)m(ted',)g(w)m(e)f
4373 (can)150 3236 y(asso)s(ciate)24 b(some)f(additional)h(informations)e
4374 (to)h(eac)m(h)h(domain.)38 b(W)-8 b(e)23 b(call)h(this)e(asso)s
4375 (ciation)j(a)d Fi(statement)p Fo(.)150 3346 y(The)30
4376 b(set)i(of)f(all)g(informations)g(is)g(called)h(a)g Fi(pr)-5
4377 b(o)g(gr)g(am)p Fo(.)45 b(The)30 b(input)g(\014le)h(resp)s(ects)g(the)g
4378 (grammar)g(b)s(elo)m(w)150 3455 y(\(terminals)g(are)g(preceeded)f(b)m
4379 (y)h Fm(")p 1337 3455 28 4 v 39 w(")p Fo(\):)390 3587
4380 y Fm(File)619 b(::=)47 b(Program)390 3696 y(Program)475
4381 b(::=)47 b(Context)f(Statements)f(Scattering)390 3806
4382 y(Context)475 b(::=)47 b(Language)284 b(Domain)428 b(Naming)390
4383 3915 y(Statements)331 b(::=)47 b(Nb_statements)d(Statement_list)g
4384 (Naming)390 4025 y(Scattering)331 b(::=)47 b(Nb_functions)92
4385 b(Domain_list)188 b(Naming)390 4134 y(Naming)523 b(::=)47
4386 b(Option)f(Name_list)390 4244 y(Name_list)379 b(::=)47
4387 b(_String)142 b(Name_list)283 b(|)48 b(\(void\))390 4354
4388 y(Statement_list)139 b(::=)47 b(Statement)f(Statement_list)d(|)48
4389 b(\(void\))390 4463 y(Domain_list)283 b(::=)47 b(_Domain)142
4390 b(Domain_list)187 b(|)48 b(\(void\))390 4573 y(Statement)379
4391 b(::=)47 b(Iteration_domain)d(0)j(0)h(0)390 4682 y(Iteration_domain)43
4392 b(::=)k(Domain_union)390 4792 y(Domain_union)235 b(::=)47
4393 b(Nb_domains)e(Domain_list)390 4902 y(Option)523 b(::=)47
4394 b(0)h(|)f(1)390 5011 y(Language)427 b(::=)47 b(c)h(|)f(f)390
4395 5121 y(Nb_statements)187 b(::=)47 b(_Integer)390 5230
4396 y(Nb_domains)331 b(::=)47 b(_Integer)390 5340 y(Nb_functions)235
4397 b(::=)47 b(_Integer)p eop end
4398 %%Page: 7 11
4399 TeXDict begin 7 10 bop 150 -116 a Fo(Chapter)30 b(2:)41
4400 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)2020 b(7)225
4401 299 y Fl(\017)60 b Fo(`)p Fm(Context)p Fo(')24 b(represen)m(ts)i(the)g
4402 (informations)g(that)h(are)f(shared)f(b)m(y)h(all)h(the)f(statemen)m
4403 (ts.)40 b(It)26 b(consists)330 408 y(on)31 b(the)g(language)h(used)e
4404 (\(whic)m(h)h(can)g(b)s(e)g(`)p Fm(c)p Fo(')g(for)f(C)h(or)g(`)p
4405 Fm(f)p Fo(')g(for)g(F)m(OR)-8 b(TRAN)31 b(90\))h(and)f(the)g(global)330
4406 518 y(constrain)m(ts)37 b(on)f(parameters.)57 b(These)36
4407 b(constrain)m(ts)h(are)f(essen)m(tial)i(since)e(they)g(giv)m(e)h(to)g
4408 (CLo)s(oG)330 628 y(the)d(n)m(um)m(b)s(er)f(of)h(parameters.)52
4409 b(If)33 b(there)h(is)g(no)g(parameter)h(or)f(no)g(constrain)m(ts)g(on)g
4410 (parameters,)330 737 y(just)26 b(giv)m(e)i(a)f(constrain)m(t)g(alw)m(a)
4411 m(ys)h(satis\014ed)f(lik)m(e)h(1)d Fl(\025)g Fo(0.)40
4412 b(`)p Fm(Naming)p Fo(')26 b(sets)g(the)h(parameter)g(names.)39
4413 b(If)330 847 y(the)28 b(naming)f(option)h(`)p Fm(Option)p
4414 Fo(')e(is)i(1,)h(parameter)f(names)f(will)h(b)s(e)f(read)g(on)h(the)g
4415 (next)f(line.)40 b(There)330 956 y(m)m(ust)e(b)s(e)f(exactly)j(as)e
4416 (man)m(y)g(names)f(as)i(parameters.)63 b(If)38 b(the)g(naming)f(option)
4417 i(`)p Fm(Option)p Fo(')d(is)i(0,)330 1066 y(parameter)f(names)f(are)h
4418 (automatically)i(generated.)60 b(The)36 b(name)h(of)f(the)h(\014rst)f
4419 (parameter)h(will)330 1176 y(b)s(e)e(`)p Fm(M)p Fo(',)h(and)f(the)g
4420 (name)h(of)f(the)g(\()p Fg(n)24 b Fo(+)f(1\))1766 1143
4421 y Ff(th)1870 1176 y Fo(parameter)36 b(directly)g(follo)m(ws)g(the)f
4422 (name)h(of)f(the)g Fg(n)3682 1143 y Ff(th)330 1285 y
4423 Fo(parameter)27 b(in)f(ASCI)s(I)f(co)s(de.)40 b(It)27
4424 b(is)f(the)h(user)f(resp)s(onsibilit)m(y)g(to)i(ensure)e(that)h
4425 (parameter)g(names,)330 1395 y(iterators)32 b(and)d(scattering)j
4426 (dimension)e(names)g(are)h(di\013eren)m(t.)225 1530 y
4427 Fl(\017)60 b Fo(`)p Fm(Statements)p Fo(')49 b(represen)m(ts)i(the)h
4428 (informations)f(on)h(the)f(statemen)m(ts.)106 b(`)p Fm(Nb_statements)p
4429 Fo(')48 b(is)330 1640 y(the)g(n)m(um)m(b)s(er)e(of)i(statemen)m(ts)i
4430 (in)d(the)h(program,)k(i.e.)94 b(the)48 b(n)m(um)m(b)s(er)f(of)h(`)p
4431 Fm(Statement)p Fo(')d(items)330 1749 y(in)61 b(the)g(`)p
4432 Fm(Statement_list)p Fo('.)131 b(`)p Fm(Statement)p Fo(')59
4433 b(represen)m(ts)i(the)h(informations)f(on)g(a)h(giv)m(en)330
4434 1859 y(statemen)m(t.)42 b(T)-8 b(o)28 b(eac)m(h)i(statemen)m(t)g(is)e
4435 (asso)s(ciated)i(a)e(domain)g(\(the)h(statemen)m(t)h(iteration)g
4436 (domain:)330 1969 y(`)p Fm(Iteration_domain)p Fo('\))35
4437 b(and)k(three)g(zero)s(es)h(that)f(represen)m(ts)g(future)g(options.)67
4438 b(`)p Fm(Naming)p Fo(')38 b(sets)330 2078 y(the)29 b(iterator)h(names.)
4439 40 b(If)28 b(the)h(naming)g(option)g(`)p Fm(Option)p
4440 Fo(')f(is)g(1,)i(the)f(iterator)h(names)f(will)g(b)s(e)f(read)330
4441 2188 y(on)g(the)h(next)g(line.)40 b(There)28 b(m)m(ust)h(b)s(e)f
4442 (exactly)i(as)f(man)m(y)g(names)f(as)h(nesting)g(lev)m(el)h(in)e(the)h
4443 (deep)s(est)330 2297 y(iteration)h(domain.)40 b(If)28
4444 b(the)g(naming)h(option)f(`)p Fm(Option)p Fo(')f(is)i(0,)g(iterator)h
4445 (names)e(are)h(automatically)330 2407 y(generated.)42
4446 b(The)30 b(iterator)h(name)g(of)f(the)h(outermost)g(lo)s(op)f(will)h(b)
4447 s(e)e(`)p Fm(i)p Fo(',)i(and)f(the)g(iterator)i(name)330
4448 2517 y(of)k(the)h(lo)s(op)f(at)h(lev)m(el)g Fg(n)24 b
4449 Fo(+)g(1)36 b(directly)h(follo)m(ws)g(the)g(iterator)g(name)f(of)g(the)
4450 h(lo)s(op)f(at)h(lev)m(el)h Fg(n)d Fo(in)330 2626 y(ASCI)s(I)29
4451 b(co)s(de.)225 2762 y Fl(\017)60 b Fo(`)p Fm(Scattering)p
4452 Fo(')34 b(represen)m(ts)i(the)h(informations)g(on)f(scattering)i
4453 (functions.)58 b(`)p Fm(Nb_functions)p Fo(')34 b(is)330
4454 2871 y(the)23 b(n)m(um)m(b)s(er)f(of)i(functions)e(\(it)j(m)m(ust)e(b)s
4455 (e)f(equal)i(to)g(the)f(n)m(um)m(b)s(er)f(of)i(statemen)m(ts)g(or)g(0)f
4456 (if)g(there)h(is)f(no)330 2981 y(scattering)31 b(function\).)41
4457 b(The)29 b(function)g(themselv)m(es)i(are)g(represen)m(ted)e(through)g
4458 (`)p Fm(Domain_list)p Fo('.)330 3090 y(`)p Fm(Naming)p
4459 Fo(')h(sets)i(the)g(scattering)h(dimension)d(names.)44
4460 b(If)31 b(the)h(naming)f(option)h(`)p Fm(Option)p Fo(')e(is)h(1,)i(the)
4461 330 3200 y(scattering)38 b(dimension)d(names)i(will)f(b)s(e)g(read)g
4462 (on)g(the)g(next)h(line.)58 b(There)36 b(m)m(ust)g(b)s(e)g(exactly)i
4463 (as)330 3310 y(man)m(y)24 b(names)g(as)g(scattering)i(dimensions.)38
4464 b(If)23 b(the)h(naming)g(option)h(`)p Fm(Option)p Fo(')d(is)i(0,)i
4465 (scattering)g(di-)330 3419 y(mension)g(names)f(are)i(automatically)i
4466 (generated.)40 b(The)25 b(name)h(of)g(the)g Fg(n)2844
4467 3386 y Ff(th)2938 3419 y Fo(scattering)i(dimen)m(tion)330
4468 3529 y(will)j(b)s(e)e(`)p Fm(cn)p Fo('.)150 3757 y Fc(2.2.1)63
4469 b(Domain)41 b(Represen)m(tation)275 4003 y Fo(As)35 b(sho)m(wn)f(b)m(y)
4470 h(the)g(grammar,)i(the)e(input)f(\014le)h(describ)s(es)f(the)h(v)-5
4471 b(arious)35 b(informations)h(thanks)e(to)150 4113 y(c)m(haracters,)43
4472 b(in)m(tegers)d(and)e(domains.)66 b(Eac)m(h)39 b(domain)g(is)g
4473 (de\014ned)e(b)m(y)i(a)g(set)g(of)g(constrain)m(ts)h(in)f(the)150
4474 4222 y(P)m(olyLib)31 b(format)g(\(see)g([Wil93],)i(page)e(39\).)42
4475 b(They)30 b(ha)m(v)m(e)h(the)g(follo)m(wing)h(syn)m(tax:)199
4476 4359 y(1.)61 b(some)31 b(optional)g(commen)m(t)h(lines)e(b)s(eginning)g
4477 (with)g(`)p Fm(#)p Fo(',)199 4494 y(2.)61 b(the)31 b(ro)m(w)f(and)g
4478 (column)g(n)m(um)m(b)s(ers,)f(p)s(ossibly)h(follo)m(w)m(ed)i(b)m(y)e
4479 (commen)m(ts,)199 4630 y(3.)61 b(the)33 b(constrain)m(t)i(ro)m(ws,)f
4480 (eac)m(h)g(ro)m(w)f(corresp)s(onds)f(to)i(a)f(constrain)m(t)h(the)g
4481 (domain)f(ha)m(v)m(e)h(to)g(satisfy)-8 b(.)330 4739 y(Eac)m(h)24
4482 b(ro)m(w)g(m)m(ust)f(b)s(e)g(on)h(a)g(single)g(line)g(and)f(is)g(p)s
4483 (ossibly)g(follo)m(w)m(ed)i(b)m(y)e(commen)m(ts.)40 b(The)23
4484 b(constrain)m(t)330 4849 y(is)41 b(an)f(equalit)m(y)i
4485 Fg(p)p Fo(\()p Fg(x)p Fo(\))h(=)f(0)f(if)g(the)g(\014rst)e(elemen)m(t)k
4486 (is)d(0,)k(an)d(inequalit)m(y)h Fg(p)p Fo(\()p Fg(x)p
4487 Fo(\))g Fl(\025)g Fo(0)f(if)g(the)g(\014rst)330 4958
4488 y(elemen)m(t)23 b(is)f(1.)39 b(The)21 b(next)h(elemen)m(ts)h(are)g(the)
4489 f(unkno)m(wn)e(co)s(e\016cien)m(ts,)26 b(follo)m(w)m(ed)e(b)m(y)d(the)h
4490 (parameter)330 5068 y(co)s(e\016cien)m(ts.)42 b(The)30
4491 b(last)i(elemen)m(t)f(is)g(the)f(constan)m(t)i(factor.)275
4492 5230 y(F)-8 b(or)31 b(instance,)h(assuming)f(that)g(`)p
4493 Fm(i)p Fo(',)h(`)p Fm(j)p Fo(')f(and)f(`)p Fm(k)p Fo(')h(are)h
4494 (iterators)g(and)e(`)p Fm(m)p Fo(')i(and)e(`)p Fm(n)p
4495 Fo(')h(are)g(parameters,)150 5340 y(the)g(domain)f(de\014ned)f(b)m(y)h
4496 (the)h(follo)m(wing)h(constrain)m(ts)f(:)p eop end
4497 %%Page: 8 12
4498 TeXDict begin 8 11 bop 150 -116 a Fo(8)1589 b(CLo)s(oG)31
4499 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)1611
4500 308 y Fd(8)1611 383 y(<)1611 532 y(:)1700 369 y Fl(\000)p
4501 Fg(i)20 b Fo(+)g Fg(m)144 b Fl(\025)25 b Fo(0)1700 479
4502 y Fl(\000)p Fg(j)h Fo(+)20 b Fg(n)157 b Fl(\025)25 b
4503 Fo(0)1700 588 y Fg(i)c Fo(+)f Fg(j)25 b Fl(\000)20 b
4504 Fg(k)94 b Fl(\025)25 b Fo(0)150 743 y(can)31 b(b)s(e)e(written)i(in)f
4505 (the)g(input)g(\014le)g(as)h(follo)m(ws)g(:)390 874 y
4506 Fm(#)47 b(This)g(is)g(the)g(domain)390 984 y(3)g(7)1050
4507 b(#)48 b(3)f(lines)f(and)h(7)h(columns)390 1093 y(#)f(eq/in)g(i)95
4508 b(j)g(k)g(m)h(n)f(1)581 1203 y(1)g(-1)g(0)g(0)g(1)h(0)f(0)47
4509 b(#)191 b(-i)47 b(+)g(m)h(>=)f(0)581 1312 y(1)143 b(0)47
4510 b(-1)95 b(0)g(0)h(1)f(0)47 b(#)191 b(-j)47 b(+)g(n)h(>=)f(0)581
4511 1422 y(1)143 b(1)95 b(1)47 b(-1)95 b(0)h(0)f(0)47 b(#)h(i)f(+)h(j)f(-)g
4512 (k)h(>=)f(0)275 1547 y Fo(Eac)m(h)35 b(iteration)i(domain)e(`)p
4513 Fm(Iteration_domain)p Fo(')c(of)36 b(a)f(giv)m(en)i(statemen)m(t)g(is)e
4514 (a)g(union)g(of)g(p)s(olyhe-)150 1657 y(dra)g(`)p Fm(Domain_union)p
4515 Fo('.)52 b(A)36 b(union)e(is)h(de\014ned)f(b)m(y)i(its)f(n)m(um)m(b)s
4516 (er)f(of)i(elemen)m(ts)g(`)p Fm(Nb_domains)p Fo(')d(and)i(the)150
4517 1767 y(elemen)m(ts)25 b(themselv)m(es)g(`)p Fm(Domain_list)p
4518 Fo('.)36 b(F)-8 b(or)24 b(instance,)i(let)f(us)d(consider)i(the)g
4519 (follo)m(wing)h(pseudo-co)s(de:)390 1897 y Fm(for)47
4520 b(\(i=1;i<=n;i++\))d({)485 2007 y(if)k(\(\(i)f(>=)g(m\))g(||)g(\(i)g
4521 (<=)g(2*m\)\))581 2117 y(S1)g(;)485 2226 y(for)g(\(j=i+1;j<=m;j++\))581
4522 2336 y(S2)g(;)390 2445 y(})150 2571 y Fo(The)35 b(iteration)i(domain)f
4523 (of)g(`)p Fm(S1)p Fo(')f(can)h(b)s(e)f(divided)g(in)m(to)i(t)m(w)m(o)g
4524 (p)s(olyhedra)e(and)g(written)h(in)f(the)h(input)150
4525 2680 y(\014le)30 b(as)h(follo)m(ws:)390 2811 y Fm(2)47
4526 b(#)h(Number)e(of)h(polyhedra)e(in)j(the)f(union)390
4527 2921 y(#)g(First)g(domain)390 3030 y(3)g(5)764 b(#)47
4528 b(3)h(lines)e(and)h(5)g(columns)390 3140 y(#)g(eq/in)g(i)95
4529 b(m)g(n)g(1)581 3249 y(1)143 b(1)95 b(0)g(0)48 b(-1)f(#)95
4530 b(i)47 b(>=)h(1)581 3359 y(1)95 b(-1)g(0)g(1)g(0)48 b(#)95
4531 b(i)47 b(<=)h(n)581 3469 y(1)143 b(1)47 b(-1)95 b(0)g(0)48
4532 b(#)95 b(i)47 b(>=)h(m)390 3578 y(#)f(Second)g(domain)390
4533 3688 y(3)g(5)764 b(#)47 b(3)h(lines)e(and)h(5)g(columns)390
4534 3797 y(#)g(eq/in)g(i)95 b(m)g(n)g(1)581 3907 y(1)143
4535 b(1)95 b(0)g(0)48 b(-1)f(#)95 b(i)47 b(>=)h(1)581 4016
4536 y(1)95 b(-1)g(0)g(1)g(0)48 b(#)95 b(i)47 b(<=)h(n)581
4537 4126 y(1)95 b(-1)g(2)g(0)g(0)48 b(#)95 b(i)47 b(<=)h(2*m)150
4538 4333 y Fc(2.2.2)63 b(Scattering)40 b(F)-10 b(unction)41
4539 b(Represen)m(tation)275 4573 y Fo(Scattering)h(functions)f(are)g
4540 (depicted)g(in)g(the)g(input)g(\014le)g(thanks)f(a)i(represen)m(tation)
4541 g(v)m(ery)g(close)150 4682 y(to)f(the)f(domain)g(one.)71
4542 b(An)40 b(in)m(teger)h(giv)m(es)h(the)e(n)m(um)m(b)s(er)f(of)h
4543 (functions)g(`)p Fm(Nb_functions)p Fo(')d(and)j(eac)m(h)150
4544 4792 y(function)35 b(is)g(represen)m(ted)g(b)m(y)g(a)g(domain.)55
4545 b(Eac)m(h)36 b(line)f(of)h(the)f(domain)g(corresp)s(onds)f(to)h(an)g
4546 (equalit)m(y)150 4902 y(de\014ning)i(a)i(dimension)f(of)g(the)g
4547 (function.)64 b(Note)40 b(that)f(at)g(presen)m(t)f(\(CLo)s(oG)h
4548 (0.14.0\))h Fh(all)f(functions)150 5011 y(m)m(ust)23
4549 b(ha)m(v)m(e)g(the)g(same)g(scattering)i(dimension)d(n)m(um)m(b)s(er)p
4550 Fo(.)37 b(If)22 b(a)h(user)f(w)m(an)m(ts)i(to)f(set)g(scattering)h
4551 (functions)150 5121 y(with)33 b(di\013eren)m(t)g(dimensionalit)m(y)-8
4552 b(,)36 b(he)d(has)g(to)h(complete)g(the)g(smaller)f(one)h(with)e(zero)s
4553 (es)i(to)g(reac)m(h)g(the)150 5230 y(maxim)m(um)h(dimensionalit)m(y)-8
4554 b(.)55 b(F)-8 b(or)36 b(instance,)g(let)g(us)e(consider)h(the)g(follo)m
4555 (wing)h(co)s(de)f(and)f(sc)m(heduling)150 5340 y(functions:)p
4556 eop end
4557 %%Page: 9 13
4558 TeXDict begin 9 12 bop 150 -116 a Fo(Chapter)30 b(2:)41
4559 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)2020 b(9)390
4560 299 y Fm(for)47 b(\(i=1;i<=n;i++\))d({)485 408 y(if)k(\(\(i)f(>=)g(m\))
4561 g(||)g(\(i)g(<=)g(2*m\)\))581 518 y(S1)g(;)485 628 y(for)g
4562 (\(j=i+1;j<=m;j++\))581 737 y(S2)g(;)390 847 y(})1431
4563 942 y Fd(\032)1508 1008 y Fg(\022)1551 1022 y Ff(S)s
4564 Fe(1)1632 1008 y Fo(\()p Fg(i)p Fo(\))227 b(=)25 b(\()p
4565 Fg(i;)15 b Fo(0\))2242 975 y Ff(T)1508 1118 y Fg(\022)1551
4566 1132 y Ff(S)s Fe(2)1632 1118 y Fo(\()p Fg(i;)g(j)5 b
4567 Fo(\))1815 1085 y Ff(T)1960 1118 y Fo(=)25 b(\()p Fg(n;)15
4568 b(i)21 b Fo(+)f Fg(j)5 b Fo(\))2406 1085 y Ff(T)150 1309
4569 y Fo(This)30 b(sc)m(heduling)g(can)h(b)s(e)e(written)i(in)f(the)g
4570 (input)g(\014le)g(as)h(follo)m(ws:)390 1449 y Fm(2)47
4571 b(#)h(Number)e(of)h(scattering)e(functions)390 1559 y(#)i(First)g
4572 (function)390 1668 y(2)g(7)1241 b(#)48 b(2)f(lines)f(and)h(7)h(columns)
4573 390 1778 y(#)f(eq/in)g(c1)g(c2)95 b(i)g(m)g(n)g(1)581
4574 1887 y(0)191 b(1)95 b(0)47 b(-1)95 b(0)g(0)g(0)191 b(#)95
4575 b(c1)47 b(=)h(i)581 1997 y(0)191 b(0)95 b(1)g(0)g(0)g(0)g(0)191
4576 b(#)95 b(c2)47 b(=)h(0)390 2107 y(#)f(Second)g(function)390
4577 2216 y(2)g(8)1241 b(#)48 b(2)f(lines)f(and)h(8)h(columns)390
4578 2326 y(#)f(eq/in)g(c1)g(c2)95 b(i)g(j)g(m)g(n)h(1)581
4579 2435 y(0)191 b(1)95 b(0)g(0)g(0)g(0)48 b(-1)95 b(0)47
4580 b(#)95 b(c1)47 b(=)h(n)581 2545 y(0)191 b(0)95 b(1)47
4581 b(-1)g(-1)95 b(0)g(0)h(0)47 b(#)95 b(c2)47 b(=)h(i+j)275
4582 2680 y Fo(The)36 b(complete)i(input)d(\014le)i(for)g(the)f(user)g(who)h
4583 (w)m(an)m(ts)g(to)g(generate)i(the)d(co)s(de)h(for)g(this)f(example)150
4584 2789 y(with)31 b(the)h(preceding)f(sc)m(heduling)g(w)m(ould)h(b)s(e)e
4585 (\(this)i(\014le)f(is)h(pro)m(vided)f(in)g(the)g(CLo)s(oG)h
4586 (distribution)f(as)150 2899 y Fm(test/manual_scattering.c)o(loog)o
4587 Fo(:)390 3039 y Fm(#)47 b(----------------------)42 b(CONTEXT)k
4588 (----------------------)390 3148 y(c)h(#)h(language)d(is)j(C)390
4589 3367 y(#)f(Context)f(\(no)h(constraints)e(on)i(two)g(parameters\))390
4590 3477 y(1)g(4)907 b(#)47 b(1)h(lines)e(and)h(4)h(columns)390
4591 3587 y(#)f(eq/in)g(m)95 b(n)g(1)581 3696 y(1)143 b(0)95
4592 b(0)g(0)334 b(#)47 b(0)h(>=)f(0,)g(always)f(true)390
4593 3915 y(1)h(#)h(We)f(want)g(to)g(set)g(manually)e(the)i(parameter)f
4594 (names)390 4025 y(m)h(n)907 b(#)47 b(parameter)f(names)390
4595 4244 y(#)h(---------------------)42 b(STATEMENTS)j
4596 (--------------------)390 4354 y(2)i(#)h(Number)e(of)h(statements)390
4597 4573 y(2)g(#)h(First)e(statement:)f(two)i(domains)390
4598 4682 y(#)g(First)g(domain)390 4792 y(3)g(5)907 b(#)47
4599 b(3)h(lines)e(and)h(5)h(columns)390 4902 y(#)f(eq/in)g(i)95
4600 b(m)g(n)g(1)581 5011 y(1)143 b(1)95 b(0)g(0)48 b(-1)190
4601 b(#)47 b(i)h(>=)f(1)581 5121 y(1)95 b(-1)g(0)g(1)g(0)191
4602 b(#)47 b(i)h(<=)f(n)581 5230 y(1)143 b(1)47 b(-1)95 b(0)g(0)191
4603 b(#)47 b(i)h(>=)f(m)390 5340 y(#)g(Second)g(domain)p
4604 eop end
4605 %%Page: 10 14
4606 TeXDict begin 10 13 bop 150 -116 a Fo(10)1544 b(CLo)s(oG)31
4607 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
4608 299 y Fm(3)47 b(5)907 b(#)47 b(3)h(lines)e(and)h(5)h(columns)390
4609 408 y(#)f(eq/in)g(i)95 b(m)g(n)g(1)581 518 y(1)143 b(1)95
4610 b(0)g(0)48 b(-1)190 b(#)47 b(i)h(>=)f(1)581 628 y(1)95
4611 b(-1)g(0)g(1)g(0)191 b(#)47 b(i)h(<=)f(n)581 737 y(1)95
4612 b(-1)g(2)g(0)g(0)191 b(#)47 b(i)h(<=)f(2*m)390 847 y(0)95
4613 b(0)g(0)716 b(#)47 b(for)g(future)f(options)390 1066
4614 y(1)h(#)h(Second)e(statement:)f(one)i(domain)390 1176
4615 y(4)g(6)907 b(#)47 b(4)h(lines)e(and)h(6)h(columns)390
4616 1285 y(#)f(eq/in)g(i)95 b(j)g(m)g(n)h(1)581 1395 y(1)143
4617 b(1)95 b(0)g(0)g(0)48 b(-1)f(#)g(i)h(>=)f(1)581 1504
4618 y(1)95 b(-1)g(0)g(0)g(1)h(0)47 b(#)g(i)h(<=)f(n)581 1614
4619 y(1)95 b(-1)g(1)g(0)g(0)48 b(-1)f(#)g(j)h(>=)f(i+1)581
4620 1724 y(1)143 b(0)47 b(-1)95 b(1)g(0)h(0)47 b(#)g(j)h(<=)f(m)390
4621 1833 y(0)95 b(0)g(0)716 b(#)47 b(for)g(future)f(options)390
4622 2052 y(1)h(#)h(We)f(want)g(to)g(set)g(manually)e(the)i(iterator)f
4623 (names)390 2162 y(i)h(j)907 b(#)47 b(iterator)f(names)390
4624 2381 y(#)h(---------------------)42 b(SCATTERING)j
4625 (--------------------)390 2491 y(2)i(#)h(Scattering)d(functions)390
4626 2600 y(#)i(First)g(function)390 2710 y(2)g(7)907 b(#)47
4627 b(2)h(lines)e(and)h(7)h(columns)390 2819 y(#)f(eq/in)g(p1)g(p2)95
4628 b(i)g(m)g(n)g(1)581 2929 y(0)191 b(1)95 b(0)47 b(-1)95
4629 b(0)g(0)g(0)191 b(#)48 b(p1)f(=)g(i)581 3039 y(0)191
4630 b(0)95 b(1)g(0)g(0)g(0)g(0)191 b(#)48 b(p2)f(=)g(0)390
4631 3148 y(#)g(Second)g(function)390 3258 y(2)g(8)907 b(#)47
4632 b(2)h(lines)e(and)h(8)h(columns)390 3367 y(#)f(eq/in)g(p1)g(p2)95
4633 b(i)g(j)g(m)g(n)h(1)581 3477 y(0)191 b(1)95 b(0)g(0)g(0)g(0)48
4634 b(-1)95 b(0)47 b(#)h(p1)f(=)g(n)581 3587 y(0)191 b(0)95
4635 b(1)47 b(-1)g(-1)95 b(0)g(0)h(0)47 b(#)h(p2)f(=)g(i+j)390
4636 3806 y(1)g(#)h(We)f(want)g(to)g(set)g(manually)e(the)i(scattering)e
4637 (dimension)h(names)390 3915 y(p1)h(p2)811 b(#)47 b(scattering)e
4638 (dimension)h(names)150 4171 y Fn(2.3)68 b(Calling)46
4639 b(CLo)t(oG)275 4415 y Fo(CLo)s(oG)30 b(is)g(called)i(b)m(y)e(the)h
4640 (follo)m(wing)h(command:)724 4548 y Fm(cloog)46 b([)i(options)e(|)h
4641 (file)g(])275 4682 y Fo(The)26 b(default)g(b)s(eha)m(vior)h(of)g(CLo)s
4642 (oG)f(is)h(to)g(read)g(the)f(input)g(informations)h(from)f(a)g(\014le)h
4643 (and)f(to)h(prin)m(t)150 4792 y(the)41 b(generated)h(co)s(de)f(or)g
4644 (pseudo-co)s(de)f(on)h(the)g(standard)f(output.)72 b(CLo)s(oG's)41
4645 b(b)s(eha)m(vior)g(and)f(the)150 4902 y(output)34 b(co)s(de)g(shap)s(e)
4646 g(is)g(under)f(the)h(user)g(con)m(trol)i(thanks)e(to)h(man)m(y)f
4647 (options)h(whic)m(h)f(are)g(detailed)i(a)150 5011 y(further)d(section)i
4648 (\(see)g(Section)g(2.4)h([CLo)s(oG)e(Options],)i(page)f(11\).)53
4649 b Fm(file)33 b Fo(is)h(the)h(input)e(\014le.)52 b Fm(stdin)150
4650 5121 y Fo(is)36 b(a)h(sp)s(ecial)g(v)-5 b(alue:)53 b(when)35
4651 b(used,)i(input)e(is)i(standard)e(input.)57 b(F)-8 b(or)37
4652 b(instance,)i(w)m(e)e(can)f(call)i(CLo)s(oG)150 5230
4653 y(to)30 b(treat)g(the)f(input)f(\014le)h Fm(basic.cloog)d
4654 Fo(with)j(default)g(options)h(b)m(y)f(t)m(yping:)40 b
4655 Fm(cloog)29 b(basic.cloog)d Fo(or)150 5340 y Fm(more)j(basic.cloog)f(|)
4656 i(cloog)e(stdin)p Fo(.)p eop end
4657 %%Page: 11 15
4658 TeXDict begin 11 14 bop 150 -116 a Fo(Chapter)30 b(2:)41
4659 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)1974 b(11)150
4660 299 y Fn(2.4)68 b(CLo)t(oG)45 b(Options)150 675 y Fc(2.4.1)63
4661 b(Last)40 b(Depth)h(to)g(Optimize)g(Con)m(trol)g Fb(-l)g(<depth>)275
4662 940 y Fm(-l)29 b(<depth>)p Fo(:)39 b(this)29 b(option)h(sets)g(the)g
4663 (last)h(lo)s(op)e(depth)g(to)i(b)s(e)d(optimized)j(in)e(con)m(trol.)42
4664 b(The)29 b(higher)150 1050 y(this)c(depth,)h(the)g(less)g(con)m(trol)h
4665 (o)m(v)m(erhead.)40 b(F)-8 b(or)26 b(instance,)i(with)d(some)h(input)e
4666 (\014le,)j(a)f(user)f(can)g(generate)150 1159 y(di\013eren)m(t)31
4667 b(pseudo-co)s(des)f(with)g(di\013eren)m(t)h Fm(depth)e
4668 Fo(v)-5 b(alues)30 b(as)h(sho)m(wn)f(b)s(elo)m(w.)390
4669 1315 y Fm(/*)47 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4670 Fh(option)30 b(-l)h(1)49 b Fm(*/)390 1425 y(for)e(\(i=0;i<=M;i++\))d({)
4671 485 1534 y(S1)k(;)485 1644 y(for)f(\(j=0;j<=N;j++\))d({)581
4672 1753 y(S2)j(;)485 1863 y(})485 1973 y(for)g(\(j=0;j<=N;j++\))d({)581
4673 2082 y(S3)j(;)485 2192 y(})485 2301 y(S4)h(;)390 2411
4674 y(})390 2576 y(/*)f(Generated)e(using)i(the)g(same)f(input)h(file)f
4675 (but)h Fh(option)31 b(-l)g(2)48 b Fm(*/)390 2685 y(for)f
4676 (\(i=0;i<=M;i++\))d({)485 2795 y(S1)k(;)485 2905 y(for)f
4677 (\(j=0;j<=N;j++\))d({)581 3014 y(S2)j(;)581 3124 y(S3)g(;)485
4678 3233 y(})485 3343 y(S4)h(;)390 3452 y(})275 3603 y Fo(In)35
4679 b(this)h(example)g(w)m(e)h(can)f(see)h(that)g(this)f(option)g(can)g(c)m
4680 (hange)h(the)g(op)s(eration)f(execution)h(order)150 3712
4681 y(b)s(et)m(w)m(een)k(statemen)m(ts.)73 b(Let)41 b(us)f(remind)f(that)i
4682 (CLo)s(oG)g(do)s(es)f(not)h(mak)m(e)h(an)m(y)e(sp)s(eculation)h(on)g
4683 (de-)150 3822 y(p)s(endences)32 b(b)s(et)m(w)m(een)j(statemen)m(ts)g
4684 (\(see)f(Section)g(1.2)h([Scattering],)h(page)e(2\).)51
4685 b(Th)m(us)33 b(if)g(nothing)g(\(i.e.)150 3932 y(scattering)40
4686 b(functions\))f(forbids)f(this,)j(CLo)s(oG)d(considers)h(the)g(ab)s(o)m
4687 (v)m(e)h(co)s(des)f(to)g(b)s(e)f(equiv)-5 b(alen)m(t.)67
4688 b(If)150 4041 y(there)26 b(is)h(no)f(scattering)h(functions,)g(the)f
4689 (minim)m(um)g(v)-5 b(alue)26 b(for)g Fm(depth)f Fo(is)h(1)h(\(in)f(the)
4690 g(case)h(of)g(0,)g(the)g(user)150 4151 y(do)s(esn't)j(really)h(need)f
4691 (a)h(lo)s(op)f(generator)h(!\),)g(and)f(the)g(n)m(um)m(b)s(er)f(of)h
4692 (scattering)i(dimensions)e(otherwise)150 4260 y(\(CLo)s(oG)i(will)f(w)m
4693 (arn)g(the)g(user)f(if)h(he)g(do)s(esn't)g(resp)s(ect)g(suc)m(h)g
4694 (constrain)m(t\).)44 b(The)31 b(maxim)m(um)g(v)-5 b(alue)31
4695 b(for)150 4370 y(depth)f(is)g(-1)h(\(in\014nit)m(y\).)41
4696 b(Default)32 b(v)-5 b(alue)31 b(is)f(in\014nit)m(y)-8
4697 b(.)150 4636 y Fc(2.4.2)63 b(First)41 b(Depth)g(to)g(Optimize)g(Con)m
4698 (trol)g Fb(-f)g(<depth>)275 4902 y Fm(-f)29 b(<depth>)p
4699 Fo(:)41 b(this)31 b(option)h(sets)f(the)h(\014rst)e(lo)s(op)i(depth)e
4700 (to)i(b)s(e)f(optimized)h(in)f(con)m(trol.)45 b(The)31
4701 b(lo)m(w)m(er)150 5011 y(this)38 b(depth,)i(the)f(less)g(con)m(trol)h
4702 (o)m(v)m(erhead)f(\(and)f(the)h(longer)g(the)g(generated)g(co)s(de\).)
4703 66 b(F)-8 b(or)39 b(instance,)150 5121 y(with)28 b(some)g(input)f
4704 (\014le,)i(a)f(user)f(can)i(generate)g(di\013eren)m(t)f(pseudo-co)s
4705 (des)g(with)g(di\013eren)m(t)g Fm(depth)f Fo(v)-5 b(alues)150
4706 5230 y(as)25 b(sho)m(wn)g(b)s(elo)m(w.)39 b(The)25 b(minim)m(um)f(v)-5
4707 b(alue)26 b(for)f Fm(depth)f Fo(is)h(1,)i(and)e(the)g(maxim)m(um)g(v)-5
4708 b(alue)26 b(is)f(-1)h(\(in\014nit)m(y\).)150 5340 y(Default)31
4709 b(v)-5 b(alue)31 b(is)g(1.)p eop end
4710 %%Page: 12 16
4711 TeXDict begin 12 15 bop 150 -116 a Fo(12)1544 b(CLo)s(oG)31
4712 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
4713 299 y Fm(/*)47 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4714 Fh(option)30 b(-f)h(3)48 b Fm(*/)390 408 y(for)f(\(i=1;i<=N;i++\))d({)
4715 485 518 y(for)j(\(j=1;j<=M;j++\))d({)581 628 y(S1)j(;)581
4716 737 y(if)g(\(j)g(>=)g(10\))g({)676 847 y(S2)h(;)581 956
4717 y(})485 1066 y(})390 1176 y(})390 1312 y(/*)f(Generated)e(using)i(the)g
4718 (same)f(input)h(file)f(but)h Fh(option)31 b(-f)g(2)48
4719 b Fm(*/)390 1422 y(for)f(\(i=1;i<=N;i++\))d({)485 1532
4720 y(for)j(\(j=1;j<=9;j++\))d({)581 1641 y(S1)j(;)485 1751
4721 y(})485 1860 y(for)g(\(j=10;j<=M;j++\))d({)581 1970 y(S1)j(;)581
4722 2080 y(S2)g(;)485 2189 y(})390 2299 y(})150 2496 y Fc(2.4.3)63
4723 b(Once)40 b(Time)i(Lo)s(op)g(Elimination)f Fb(-otl)h(<boolean>)275
4724 2733 y Fm(-otl)29 b(<boolean>)p Fo(:)38 b(this)29 b(option)h(allo)m(ws)
4725 h(\()p Fm(boolean=1)p Fo(\))d(or)h(forbids)g(\()p Fm(boolean=0)p
4726 Fo(\))f(the)h(simpli\014ca-)150 2843 y(tion)i(of)f(lo)s(ops)h(running)d
4727 (once.)42 b(Default)31 b(v)-5 b(alue)31 b(is)g(1.)390
4728 2971 y Fm(/*)47 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4729 Fh(option)30 b(-otl)i(0)48 b Fm(*/)390 3080 y(for)f
4730 (\(j=i+1;j<=i+1;j++\))c({)485 3190 y(S1)48 b(;)390 3300
4731 y(})390 3436 y(/*)f(Generated)e(using)i(the)g(same)f(input)h(file)f
4732 (but)h Fh(option)31 b(-otl)h(1)48 b Fm(*/)390 3546 y(j)f(=)h(i+1)f(;)
4733 390 3656 y(S1)g(;)150 3853 y Fc(2.4.4)63 b(Equalit)m(y)39
4734 b(Spreading)j Fb(-esp)f(<boolean>)275 4090 y Fm(-esp)29
4735 b(<boolean>)p Fo(:)38 b(this)29 b(option)i(allo)m(ws)g(\()p
4736 Fm(boolean=1)p Fo(\))d(or)i(forbids)e(\()p Fm(boolean=0)p
4737 Fo(\))g(v)-5 b(alues)30 b(spread-)150 4200 y(ing)h(when)e(there)h(are)h
4738 (equalities.)43 b(Default)31 b(v)-5 b(alue)31 b(is)f(0.)390
4739 4328 y Fm(/*)47 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4740 Fh(option)30 b(-esp)h(0)48 b Fm(*/)390 4437 y(i)f(=)h(M+2)f(;)390
4741 4547 y(j)g(=)h(N)f(;)390 4656 y(for)g(\(k=i;k<=j+M;k++\))c({)485
4742 4766 y(S1)48 b(;)390 4876 y(})390 5012 y(/*)f(Generated)e(using)i(the)g
4743 (same)f(input)h(file)f(but)h Fh(option)31 b(-esp)g(1)48
4744 b Fm(*/)390 5122 y(for)f(\(k=M+2;k<=N+M;k++\))c({)485
4745 5232 y(S1\(i)k(=)h(M+2,)e(j)i(=)f(N\))g(;)390 5341 y(})p
4746 eop end
4747 %%Page: 13 17
4748 TeXDict begin 13 16 bop 150 -116 a Fo(Chapter)30 b(2:)41
4749 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)1974 b(13)150
4750 299 y Fc(2.4.5)63 b(Constan)m(t)40 b(Spreading)i Fb(-csp)f(<boolean>)
4751 275 556 y Fm(-csp)29 b(<boolean>)p Fo(:)38 b(this)29
4752 b(option)i(allo)m(ws)g(\()p Fm(boolean=1)p Fo(\))d(or)i(forbids)e(\()p
4753 Fm(boolean=0)p Fo(\))g(v)-5 b(alues)30 b(spread-)150
4754 665 y(ing)f(when)e(there)i(are)g Fi(c)-5 b(onstant)38
4755 b Fo(equalities.)k(That)29 b(is,)g(when)e(the)i(righ)m(t)g(mem)m(b)s
4756 (er)f(of)g(the)h(equalit)m(y)h(is)f(a)150 775 y(constan)m(t)j(term.)40
4757 b(Default)32 b(v)-5 b(alue)31 b(is)f(1.)390 922 y Fm(/*)47
4758 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4759 Fh(option)30 b(-csp)h(0)48 b Fm(*/)390 1032 y(i)f(=)h(M+2)f(;)390
4760 1141 y(j)g(=)h(N)f(;)390 1251 y(for)g(\(k=i;j<=j+M;j++\))c({)485
4761 1360 y(S1)48 b(;)390 1470 y(})390 1626 y(/*)f(Generated)e(using)i(the)g
4762 (same)f(input)h(file)f(but)h Fh(option)31 b(-csp)g(1)48
4763 b Fm(*/)390 1736 y(i)f(=)h(M+2)f(;)390 1845 y(for)g(\(k=i;k<=N+M;k++\))
4764 c({)485 1955 y(S1\(j)k(=)h(N\))f(;)390 2064 y(})150 2308
4765 y Fc(2.4.6)63 b(First)41 b(Lev)m(el)f(for)i(Spreading)g
4766 Fb(-fsp)f(<level>)275 2564 y Fm(-fsp)29 b(<level>)p Fo(:)k(it)21
4767 b(can)g(b)s(e)e(useful)h(to)h(set)g(a)f(\014rst)g(lev)m(el)i(to)f(b)s
4768 (egin)f(equalit)m(y)i(spreading.)37 b(P)m(articularly)150
4769 2674 y(when)30 b(using)h(scattering)i(functions,)f(the)g(user)e(ma)m(y)
4770 i(w)m(an)m(t)h(to)f(see)g(the)g(scattering)h(dimension)e(v)-5
4771 b(alues)150 2783 y(instead)32 b(of)g(spreading)f(or)h(hiding)f(them.)44
4772 b(If)32 b(user)f(has)g(set)h(a)g(spreading,)g Fm(level)e
4773 Fo(is)i(the)g(\014rst)f(lev)m(el)i(to)150 2893 y(start)e(it.)41
4774 b(Default)32 b(v)-5 b(alue)31 b(is)f(1.)390 3040 y Fm(/*)47
4775 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4776 Fh(option)30 b(-fsp)g(1)48 b Fm(*/)390 3150 y(for)f(\(j=0;j<=N+M;j++\))
4777 c({)485 3259 y(S1\(i)k(=)h(N\))f(;)390 3369 y(})390 3478
4778 y(for)g(\(j=0;j<=N+M;j++\))c({)485 3588 y(S1\(i)k(=)h(M\))f(;)390
4779 3698 y(})390 3854 y(/*)g(Generated)e(using)i(the)g(same)f(input)h(file)
4780 f(but)h Fh(option)31 b(-fsp)f(2)48 b Fm(*/)390 3964 y(c1)f(=)h(N)f(;)
4781 390 4073 y(for)g(\(j=0;j<=c1+M;j++\))c({)485 4183 y(S1\(i)k(=)h(c1\))e
4782 (;)390 4292 y(})390 4402 y(c1)h(=)h(M)f(;)390 4511 y(for)g
4783 (\(j=0;j<=N+c1;j++\))c({)485 4621 y(S1\(i)k(=)h(c1\))e(;)390
4784 4731 y(})150 4974 y Fc(2.4.7)63 b(C)40 b(PrePro)s(cessor)j(F)-10
4785 b(riendly)41 b Fb(-cpp)g(<boolean>)275 5230 y Fm(-cpp)29
4786 b(<boolean>)p Fo(:)50 b(this)36 b(option)g(ask)h(CLo)s(oG)f(for)g(prin)
4787 m(ting)g(a)h(less)f(h)m(uman-readable)h(but)e(com-)150
4788 5340 y(pilable)46 b(co)s(de)f(b)m(y)g(using)f(the)h(C)g(prepro)s
4789 (cessor)f(\()p Fm(boolean=1)p Fo(\).)83 b(In)44 b(this)h(case)h(eac)m
4790 (h)g(statemen)m(t)h(is)p eop end
4791 %%Page: 14 18
4792 TeXDict begin 14 17 bop 150 -116 a Fo(14)1544 b(CLo)s(oG)31
4793 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)150
4794 299 y(written)j(as)h(a)f(function)g(of)h(the)f(iterators)i(corresp)s
4795 (onding)d(to)i(its)g(domain)f(dimensions:)45 b Fm(Si\(value_)150
4796 408 y(of_iterator_1,...,value_)o(of_i)o(tera)o(tor)o(_n\))p
4797 Fo(.)d(It)32 b(follo)m(ws)i(that)g(the)f(user)f(can)h(easily)h(add)e
4798 (pre-)150 518 y(pro)s(cessor)g(macros)h(to)g(de\014ne)f(eac)m(h)i
4799 (statemen)m(t)g(and)e(use)g(the)h(generated)g(textual)h(co)s(de)f
4800 (directly)g(for)150 628 y(compilation.)39 b(When)22 b
4801 Fm(boolean)d Fo(is)i(set)h(to)h(0,)g(the)f(prett)m(y)g(prin)m(ter)f
4802 (has)g(the)h(default)f(b)s(eha)m(viour.)38 b(Default)150
4803 737 y(v)-5 b(alue)31 b(is)f(0.)390 932 y Fm(/*)47 b(Generated)e(using)i
4804 (a)g(given)g(input)f(file)h(and)g Fh(option)30 b(-cpp)g(0)49
4805 b Fm(*/)390 1042 y(for)e(\(j=0;j<=N+M;j++\))c({)485 1151
4806 y(S1\(i)k(=)h(N\))f(;)390 1261 y(})390 1465 y(/*)g(Generated)e(using)i
4807 (the)g(same)f(input)h(file)f(but)h Fh(option)31 b(-cpp)f(1)48
4808 b Fm(*/)390 1574 y(/*)f(and)g(a)h(preprocessor)c(macro)i(set)h(by)g
4809 (the)g(user)g(*/)390 1793 y(#define)f(S1\(i,j\))g(A[\(j\)]=3*\(i\))390
4810 2013 y(for)h(\(j=0;j<=N+M;j++\))c({)485 2122 y(S1\(N,j\))j(;)390
4811 2232 y(})150 2570 y Fc(2.4.8)63 b(Statemen)m(t)40 b(Blo)s(c)m(k)h
4812 Fb(-block)g(<boolean>)275 2874 y Fm(-block)28 b(<boolean>)p
4813 Fo(:)37 b(this)28 b(option)g(allo)m(ws)h(\()p Fm(boolean=1)p
4814 Fo(\))d(to)i(create)h(a)g(statemen)m(t)g(blo)s(c)m(k)f(for)g(eac)m(h)
4815 150 2984 y(new)39 b(iterator,)j(ev)m(en)e(if)f(there)g(is)h(only)f(an)g
4816 (equalit)m(y)-8 b(.)68 b(This)39 b(can)g(b)s(e)g(useful)f(in)h(order)f
4817 (to)i(parse)f(the)150 3093 y(generated)45 b(pseudo-co)s(de.)80
4818 b(When)43 b Fm(boolean)e Fo(is)j(set)g(to)g(0)g(or)g(when)e(the)i
4819 (generation)h(language)g(is)150 3203 y(F)m(OR)-8 b(TRAN,)31
4820 b(this)g(feature)f(is)h(disabled.)40 b(Default)32 b(v)-5
4821 b(alue)31 b(is)f(0.)390 3398 y Fm(/*)47 b(Generated)e(using)i(a)g
4822 (given)g(input)f(file)h(and)g Fh(option)30 b(-blo)s(c)m(k)i(0)48
4823 b Fm(*/)390 3507 y(i)f(=)h(M+2)f(;)390 3617 y(j)g(=)h(N)f(;)390
4824 3726 y(S1)g(;)390 3930 y(/*)g(Generated)e(using)i(the)g(same)f(input)h
4825 (file)f(but)h Fh(option)31 b(-blo)s(c)m(k)g(1)49 b Fm(*/)390
4826 4040 y({)e(i)h(=)f(M+2)g(;)485 4150 y({)h(j)f(=)h(N)f(;)581
4827 4259 y(S1)g(;)485 4369 y(})390 4478 y(})150 4816 y Fc(2.4.9)63
4828 b(Lo)s(op)42 b(Strides)f Fb(-strides)h(<boolean>)275
4829 5121 y Fm(-strides)28 b(<boolean>)p Fo(:)58 b(this)40
4830 b(options)h(allo)m(ws)h(\()p Fm(boolean=1)p Fo(\))c(to)j(handle)f
4831 (non-unit)g(strides)g(for)150 5230 y(lo)s(op)k(incremen)m(ts.)83
4832 b(This)43 b(can)i(remo)m(v)m(e)g(a)g(lot)g(of)g(guards)e(and)h(mak)m(e)
4833 h(the)f(generated)h(co)s(de)g(more)150 5340 y(e\016cien)m(t.)d(Default)
4834 32 b(v)-5 b(alue)31 b(is)f(0.)p eop end
4835 %%Page: 15 19
4836 TeXDict begin 15 18 bop 150 -116 a Fo(Chapter)30 b(2:)41
4837 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)1974 b(15)390
4838 299 y Fm(/*)47 b(Generated)e(using)i(a)g(given)g(input)f(file)h(and)g
4839 Fh(option)30 b(-strides)h(0)49 b Fm(*/)390 408 y(for)e
4840 (\(i=1;i<=n;i++\))d({)485 518 y(if)k(\(i\0452)e(==)h(0\))h({)581
4841 628 y(S1\(j)f(=)g(i/2\))g(;)485 737 y(})485 847 y(if)h(\(i\0454)e(==)h
4842 (0\))h({)581 956 y(S2\(j)f(=)g(i/4\))g(;)485 1066 y(})390
4843 1176 y(})390 1320 y(/*)g(Generated)e(using)i(the)g(same)f(input)h(file)
4844 f(but)h Fh(option)31 b(-strides)g(1)48 b Fm(*/)390 1430
4845 y(for)f(\(i=2;i<=n;i+=2\))d({)485 1540 y(S1\(j)j(=)h(i/2\))e(;)485
4846 1649 y(if)i(\(i\0454)e(==)h(0\))h({)581 1759 y(S2\(j)f(=)g(i/4\))g(;)
4847 485 1868 y(})390 1978 y(})150 2198 y Fc(2.4.10)63 b(Compilable)41
4848 b(Co)s(de)h Fb(-compilable)g(<value>)275 2444 y Fm(-compilable)27
4849 b(<value>)p Fo(:)57 b(this)39 b(options)h(allo)m(ws)h(\()p
4850 Fm(value)e Fo(is)g(not)h(0\))g(to)h(generate)g(a)f(compilable)150
4851 2553 y(co)s(de)33 b(where)g(all)h(parameters)f(ha)m(v)m(e)h(the)g(in)m
4852 (tegral)g(v)-5 b(alue)34 b Fm(value)p Fo(.)47 b(This)32
4853 b(option)i(creates)g(a)g(macro)f(for)150 2663 y(eac)m(h)25
4854 b(statemen)m(t.)41 b(Since)24 b(CLo)s(oG)g(do)g(not)g(kno)m(w)g(an)m
4855 (ything)g(ab)s(out)g(the)g(statemen)m(t)i(sources,)f(it)g(\014lls)f
4856 (the)150 2772 y(macros)31 b(with)g(a)g(basic)g(incremen)m(t)h(that)f
4857 (computes)g(the)g(total)i(n)m(um)m(b)s(er)c(of)i(scanned)f(in)m(tegral)
4858 j(p)s(oin)m(ts.)150 2882 y(The)28 b(user)h(ma)m(y)g(c)m(hange)h(easily)
4859 g(the)f(macros)g(according)h(to)g(his)e(o)m(wn)h(needs.)40
4860 b(This)28 b(option)h(is)g(p)s(ossible)150 2992 y(only)h(if)h(the)f
4861 (generated)i(co)s(de)e(is)h(in)f(C.)g(Default)i(v)-5
4862 b(alue)30 b(is)h(0.)390 3127 y Fm(/*)47 b(Generated)e(using)i(a)g
4863 (given)g(input)f(file)h(and)g Fh(option)30 b(-compilable)i(0)48
4864 b Fm(*/)390 3237 y(for)f(\(i=0;i<=n;i++\))d({)485 3347
4865 y(for)j(\(j=0;j<=n;j++\))d({)581 3456 y(S1)j(;)581 3566
4866 y(S2)g(;)485 3675 y(})485 3785 y(S3)h(;)390 3894 y(})390
4867 4025 y(/*)f(Generated)e(using)i(the)g(same)f(input)h(file)f(but)h
4868 Fh(option)31 b(-compilable)h(10)48 b Fm(*/)390 4134 y(/*)f(DON'T)g
4869 (FORGET)f(TO)h(USE)g(-lm)g(OPTION)f(TO)h(COMPILE.)e(*/)390
4870 4354 y(/*)i(Useful)f(headers.)g(*/)390 4463 y(#include)g(<stdio.h>)390
4871 4573 y(#include)g(<stdlib.h>)390 4682 y(#include)g(<math.h>)390
4872 4902 y(/*)h(Parameter)e(value.)i(*/)390 5011 y(#define)f(PARVAL)g(10)
4873 390 5230 y(/*)h(Statement)e(macros)i(\(please)e(set\).)i(*/)390
4874 5340 y(#define)f(S1\(i,j\))g({total++;})p eop end
4875 %%Page: 16 20
4876 TeXDict begin 16 19 bop 150 -116 a Fo(16)1544 b(CLo)s(oG)31
4877 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
4878 299 y Fm(#define)46 b(S2\(i,j\))g({total++;})390 408
4879 y(#define)g(S3\(i\))142 b({total++;})390 628 y(int)47
4880 b(main\(\))f({)485 737 y(/*)i(Original)d(iterators.)g(*/)485
4881 847 y(int)i(i,)h(j)f(;)485 956 y(/*)h(Parameters.)c(*/)485
4882 1066 y(int)j(n=PARVAL,)f(total=0)f(;)485 1285 y(for)i(\(i=0;i<=n;i++\))
4883 d({)581 1395 y(for)j(\(j=0;j<=n;j++\))d({)676 1504 y(S1\(i,j\))i(;)676
4884 1614 y(S2\(i,j\))g(;)581 1724 y(})581 1833 y(S3\(i\))g(;)485
4885 1943 y(})485 2162 y(printf\("Number)e(of)k(integral)d(points:)h
4886 (\045d.\\n",total\))e(;)485 2271 y(return)j(0)g(;)390
4887 2381 y(})150 2721 y Fc(2.4.11)63 b(Output)41 b Fb(-o)g(<output>)275
4888 3023 y Fm(-o)29 b(<output>)p Fo(:)55 b(this)38 b(option)h(sets)g(the)g
4889 (output)f(\014le.)65 b Fm(stdout)37 b Fo(is)i(a)f(sp)s(ecial)i(v)-5
4890 b(alue:)57 b(when)37 b(used,)150 3133 y(output)30 b(is)g(standard)g
4891 (output.)40 b(Default)32 b(v)-5 b(alue)31 b(is)f Fm(stdout)p
4892 Fo(.)150 3473 y Fc(2.4.12)63 b(Help)41 b Fb(--help)h
4893 Fc(or)f Fb(-h)275 3775 y Fm(--help)28 b Fo(or)j Fm(-h)p
4894 Fo(:)40 b(this)30 b(option)h(ask)f(CLo)s(oG)h(to)g(prin)m(t)f(a)h
4895 (short)f(help.)150 4115 y Fc(2.4.13)63 b(V)-10 b(ersion)42
4896 b Fb(--version)g Fc(or)f Fb(-v)275 4417 y Fm(--version)27
4897 b Fo(or)k Fm(-v)p Fo(:)40 b(this)30 b(option)h(ask)g(CLo)s(oG)f(to)h
4898 (prin)m(t)f(some)h(v)m(ersion)g(informations.)150 4819
4899 y Fn(2.5)68 b(A)44 b(F)-11 b(ull)45 b(Example)275 5121
4900 y Fo(Let)35 b(us)g(consider)g(the)g(allo)s(cation)j(problem)d(of)g(a)h
4901 (Gaussian)f(elimination,)j(i.e.)56 b(w)m(e)36 b(w)m(an)m(t)g(to)g(dis-)
4902 150 5230 y(tribute)24 b(the)h(v)-5 b(arious)24 b(statemen)m(t)i
4903 (instances)f(of)f(the)h(compute)f(k)m(ernel)h(on)m(to)h(di\013eren)m(t)
4904 e(pro)s(cessors.)38 b(The)150 5340 y(original)32 b(co)s(de)e(is)h(the)f
4905 (follo)m(wing:)p eop end
4906 %%Page: 17 21
4907 TeXDict begin 17 20 bop 150 -116 a Fo(Chapter)30 b(2:)41
4908 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)1974 b(17)390
4909 299 y Fm(for)47 b(\(i=1;j<=N-1;i++\))c({)485 408 y(for)k
4910 (\(j=i+1;j<=N;j++\))d({)581 518 y(c[i][j])i(=)h(a[j][i]/a[i][i])d(;)190
4911 b(/*)48 b(S1)f(*/)581 628 y(for)g(\(k=i+1;k<=N;k++\))c({)676
4912 737 y(a[j][k])j(-=)h(c[i][j]*a[i][k])d(;)j(/*)h(S2)f(*/)581
4913 847 y(})485 956 y(})390 1066 y(})150 1194 y Fo(The)35
4914 b(b)s(est)h(a\016ne)g(allo)s(cation)i(functions)d(can)h(b)s(e)f(found)g
4915 (b)m(y)g(an)m(y)i(go)s(o)s(d)e(automatic)j(parallelizer)g(lik)m(e)150
4916 1303 y(Lo)s(oP)m(o)31 b(\(see)h([Gri04],)g(page)f(39\):)1529
4917 1452 y Fd(\032)1606 1518 y Fg(\022)1649 1532 y Ff(S)s
4918 Fe(1)1730 1518 y Fo(\()p Fg(i;)15 b(j)5 b Fo(\))1913
4919 1485 y Ff(T)2144 1518 y Fo(=)25 b(\()p Fg(i)p Fo(\))1606
4920 1628 y Fg(\022)1649 1642 y Ff(S)s Fe(2)1730 1628 y Fo(\()p
4921 Fg(i;)15 b(j;)g(k)s Fo(\))1998 1595 y Ff(T)2144 1628
4922 y Fo(=)25 b(\()p Fg(k)s Fo(\))150 1799 y(T)-8 b(o)35
4923 b(ensure)f(that)h(on)f(eac)m(h)i(pro)s(cessor,)g(the)e(set)h(of)g
4924 (statemen)m(t)i(instances)e(is)f(executed)i(according)f(to)150
4925 1909 y(the)i(original)h(ordering,)h(w)m(e)e(add)f(as)i(minor)e
4926 (scattering)j(dimensions)d(the)h(original)h(sc)m(heduling)f(\(see)150
4927 2018 y(Section)31 b(1.2)h([Scattering],)g(page)f(2\):)1211
4928 2167 y Fd(\032)1288 2233 y Fg(\022)1331 2247 y Ff(S)s
4929 Fe(1)1412 2233 y Fo(\()p Fg(i;)15 b(j)5 b Fo(\))1595
4930 2200 y Ff(T)1826 2233 y Fo(=)25 b(\()p Fg(i;)15 b Fo(0)p
4931 Fg(;)g(i;)g Fo(0)p Fg(;)g(j;)g Fo(0\))2426 2200 y Ff(T)1288
4932 2343 y Fg(\022)1331 2357 y Ff(S)s Fe(2)1412 2343 y Fo(\()p
4933 Fg(i;)g(j;)g(k)s Fo(\))1680 2310 y Ff(T)1826 2343 y Fo(=)25
4934 b(\()p Fg(k)s(;)15 b Fo(0)p Fg(;)g(i;)g Fo(0)p Fg(;)g(j;)g
4935 Fo(1)p Fg(;)g(k)s(;)g Fo(0\))2621 2310 y Ff(T)150 2514
4936 y Fo(T)-8 b(o)28 b(ensure)f(that)i(the)f(scattering)h(functions)f(ha)m
4937 (v)m(e)h(the)f(same)g(dimensionalit)m(y)-8 b(,)30 b(w)m(e)e(complete)i
4938 (the)e(\014rst)150 2624 y(function)33 b(with)h(zero)s(es)g(\(this)g(is)
4939 f(a)h(CLo)s(oG)g(0.14.0)i(and)d(previous)g(v)m(ersions)h(requiremen)m
4940 (t,)h(it)f(should)150 2733 y(b)s(e)c(remo)m(v)m(ed)h(in)f(a)h(future)e
4941 (v)m(ersion,)i(don't)g(w)m(orry)f(it's)h(absolutly)g(legal)h(!\):)1211
4942 2882 y Fd(\032)1288 2948 y Fg(\022)1331 2962 y Ff(S)s
4943 Fe(1)1412 2948 y Fo(\()p Fg(i;)15 b(j)5 b Fo(\))1595
4944 2915 y Ff(T)1826 2948 y Fo(=)25 b(\()p Fg(i;)15 b Fo(0)p
4945 Fg(;)g(i;)g Fo(0)p Fg(;)g(j;)g Fo(0)p Fg(;)g Fo(0)p Fg(;)g
4946 Fo(0)q(\))2597 2915 y Ff(T)1288 3058 y Fg(\022)1331 3072
4947 y Ff(S)s Fe(2)1412 3058 y Fo(\()p Fg(i;)g(j;)g(k)s Fo(\))1680
4948 3025 y Ff(T)1826 3058 y Fo(=)25 b(\()p Fg(k)s(;)15 b
4949 Fo(0)p Fg(;)g(i;)g Fo(0)p Fg(;)g(j;)g Fo(1)p Fg(;)g(k)s(;)g
4950 Fo(0\))2621 3025 y Ff(T)150 3234 y Fo(The)29 b(input)f(\014le)h
4951 (corresp)s(onding)f(to)i(this)f(co)s(de)h(generation)g(problem)f(could)
4952 g(b)s(e)f(\(this)i(\014le)f(is)g(pro)m(vided)150 3344
4953 y(in)h(the)h(CLo)s(oG)f(distribution)g(as)h Fm(test/manual_gauss.cloo)o
4954 (g)p Fo(:)390 3477 y Fm(#)47 b(----------------------)42
4955 b(CONTEXT)k(----------------------)390 3587 y(c)h(#)h(language)d(is)j
4956 (C)390 3806 y(#)f(Context)f(\(no)h(constraints)e(on)i(one)g
4957 (parameter\))390 3915 y(1)g(3)1002 b(#)48 b(1)f(line)g(and)g(3)g
4958 (columns)390 4025 y(#)g(eq/in)g(n)95 b(1)581 4134 y(1)143
4959 b(0)95 b(0)572 b(#)48 b(0)f(>=)h(0,)f(always)f(true)390
4960 4354 y(1)h(#)h(We)f(want)g(to)g(set)g(manually)e(the)i(parameter)f
4961 (name)390 4463 y(n)1097 b(#)48 b(parameter)d(name)390
4962 4682 y(#)i(---------------------)42 b(STATEMENTS)j
4963 (--------------------)390 4792 y(2)i(#)h(Number)e(of)h(statements)390
4964 5011 y(1)g(#)h(First)e(statement:)f(one)i(domain)390
4965 5121 y(4)g(5)1002 b(#)48 b(4)f(lines)g(and)g(3)g(columns)390
4966 5230 y(#)g(eq/in)g(i)95 b(j)g(n)g(1)581 5340 y(1)143
4967 b(1)95 b(0)g(0)48 b(-1)285 b(#)48 b(i)f(>=)h(1)p eop
4969 %%Page: 18 22
4970 TeXDict begin 18 21 bop 150 -116 a Fo(18)1544 b(CLo)s(oG)31
4971 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)581
4972 299 y Fm(1)95 b(-1)g(0)g(1)48 b(-1)285 b(#)48 b(i)f(<=)h(n-1)581
4973 408 y(1)95 b(-1)g(1)g(0)48 b(-1)285 b(#)48 b(j)f(>=)h(i+1)581
4974 518 y(1)143 b(0)47 b(-1)95 b(1)g(0)286 b(#)48 b(j)f(<=)h(n)390
4975 628 y(0)95 b(0)g(0)811 b(#)48 b(for)f(future)f(options)390
4976 847 y(1)390 956 y(#)h(Second)g(statement:)e(one)h(domain)390
4977 1066 y(6)h(6)1002 b(#)48 b(6)f(lines)g(and)g(3)g(columns)390
4978 1176 y(#)g(eq/in)g(i)95 b(j)g(k)g(n)h(1)581 1285 y(1)143
4979 b(1)95 b(0)g(0)g(0)48 b(-1)142 b(#)48 b(i)f(>=)h(1)581
4980 1395 y(1)95 b(-1)g(0)g(0)g(1)48 b(-1)142 b(#)48 b(i)f(<=)h(n-1)581
4981 1504 y(1)95 b(-1)g(1)g(0)g(0)48 b(-1)142 b(#)48 b(j)f(>=)h(i+1)581
4982 1614 y(1)143 b(0)47 b(-1)95 b(0)g(1)h(0)142 b(#)48 b(j)f(<=)h(n)581
4983 1724 y(1)95 b(-1)g(0)g(1)g(0)48 b(-1)142 b(#)48 b(k)f(>=)h(i+1)581
4984 1833 y(1)143 b(0)95 b(0)47 b(-1)95 b(1)h(0)142 b(#)48
4985 b(k)f(<=)h(n)390 1943 y(0)95 b(0)g(0)811 b(#)48 b(for)f(future)f
4986 (options)390 2162 y(0)h(#)h(We)f(let)g(CLooG)f(set)h(the)g(iterator)f
4987 (names)390 2381 y(#)h(---------------------)42 b(SCATTERING)j
4988 (--------------------)390 2491 y(2)i(#)h(Scattering)d(functions)390
4989 2600 y(#)i(First)g(function)390 2710 y(8)g(13)954 b(#)48
4990 b(3)f(lines)g(and)g(3)g(columns)390 2819 y(#)g(eq/in)g(p1)g(p2)g(p3)g
4991 (p4)h(p5)f(p6)g(p7)g(p8)95 b(i)g(j)g(n)h(1)581 2929 y(0)191
4992 b(1)95 b(0)g(0)g(0)g(0)g(0)h(0)f(0)47 b(-1)95 b(0)g(0)h(0)238
4993 b(#)47 b(p1)h(=)f(i)581 3039 y(0)191 b(0)95 b(1)g(0)g(0)g(0)g(0)h(0)f
4994 (0)g(0)g(0)g(0)h(0)238 b(#)47 b(p2)h(=)f(0)581 3148 y(0)191
4995 b(0)95 b(0)g(1)g(0)g(0)g(0)h(0)f(0)47 b(-1)95 b(0)g(0)h(0)238
4996 b(#)47 b(p3)h(=)f(i)581 3258 y(0)191 b(0)95 b(0)g(0)g(1)g(0)g(0)h(0)f
4997 (0)g(0)g(0)g(0)h(0)238 b(#)47 b(p4)h(=)f(0)581 3367 y(0)191
4998 b(0)95 b(0)g(0)g(0)g(1)g(0)h(0)f(0)g(0)47 b(-1)95 b(0)h(0)238
4999 b(#)47 b(p5)h(=)f(j)581 3477 y(0)191 b(0)95 b(0)g(0)g(0)g(0)g(1)h(0)f
5000 (0)g(0)g(0)g(0)h(0)238 b(#)47 b(p6)h(=)f(0)581 3587 y(0)191
5001 b(0)95 b(0)g(0)g(0)g(0)g(0)h(1)f(0)g(0)g(0)g(0)h(0)238
5002 b(#)47 b(p7)h(=)f(0)581 3696 y(0)191 b(0)95 b(0)g(0)g(0)g(0)g(0)h(0)f
5003 (1)g(0)g(0)g(0)h(0)238 b(#)47 b(p8)h(=)f(0)390 3806 y(#)g(Second)g
5004 (function)390 3915 y(8)g(14)954 b(#)48 b(3)f(lines)g(and)g(3)g(columns)
5005 390 4025 y(#)g(eq/in)g(p1)g(p2)g(p3)g(p4)h(p5)f(p6)g(p7)g(p8)95
5006 b(i)g(j)g(k)h(n)f(1)581 4134 y(0)191 b(1)95 b(0)g(0)g(0)g(0)g(0)h(0)f
5007 (0)g(0)g(0)48 b(-1)95 b(0)g(0)g(#)47 b(p1)h(=)f(k)581
5008 4244 y(0)191 b(0)95 b(1)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(0)g
5009 (#)47 b(p2)h(=)f(0)581 4354 y(0)191 b(0)95 b(0)g(1)g(0)g(0)g(0)h(0)f(0)
5010 47 b(-1)95 b(0)g(0)h(0)f(0)g(#)47 b(p3)h(=)f(i)581 4463
5011 y(0)191 b(0)95 b(0)g(0)g(1)g(0)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(0)g(#)47
5012 b(p4)h(=)f(0)581 4573 y(0)191 b(0)95 b(0)g(0)g(0)g(1)g(0)h(0)f(0)g(0)47
5013 b(-1)95 b(0)h(0)f(0)g(#)47 b(p5)h(=)f(j)581 4682 y(0)191
5014 b(0)95 b(0)g(0)g(0)g(0)g(1)h(0)f(0)g(0)g(0)g(0)h(0)47
5015 b(-1)95 b(#)47 b(p6)h(=)f(1)581 4792 y(0)191 b(0)95 b(0)g(0)g(0)g(0)g
5016 (0)h(1)f(0)g(0)g(0)48 b(-1)95 b(0)g(0)g(#)47 b(p7)h(=)f(k)581
5017 4902 y(0)191 b(0)95 b(0)g(0)g(0)g(0)g(0)h(0)f(1)g(0)g(0)g(0)h(0)f(0)g
5018 (#)47 b(p8)h(=)f(0)390 5121 y(1)g(#)h(We)f(want)g(to)g(set)g(manually)e
5019 (the)i(scattering)e(dimension)h(names)390 5230 y(p1)h(p2)g(p3)h(p4)f
5020 (p5)g(p6)g(p7)g(p8)g(#)h(scattering)d(dimension)g(names)p
5021 eop end
5022 %%Page: 19 23
5023 TeXDict begin 19 22 bop 150 -116 a Fo(Chapter)30 b(2:)41
5024 b(Using)30 b(the)h(CLo)s(oG)g(Soft)m(w)m(are)1974 b(19)275
5025 299 y(Calling)38 b(CLo)s(oG,)f(with)g(for)g(instance)h(the)g(command)f
5026 (line)g Fm(cloog)29 b(-fsp)g(2)h(gauss.cloog)35 b Fo(for)i(a)150
5027 408 y(b)s(etter)44 b(view)g(of)g(the)f(allo)s(cation)j(\(the)f(pro)s
5028 (cessor)e(n)m(um)m(b)s(er)f(is)i(giv)m(en)h(b)m(y)e Fm(p1)p
5029 Fo(\),)k(will)e(result)e(on)h(the)150 518 y(follo)m(wing)32
5030 b(target)h(co)s(de)e(that)g(actually)i(implemen)m(ts)e(the)g
5031 (transformation.)42 b(A)31 b(minor)f(pro)s(cessing)h(on)150
5032 628 y(the)41 b(dimension)f Fm(p1)g Fo(to)i(implemen)m(t,)i(e.g.,)h(MPI)
5033 c(calls,)k(whic)m(h)40 b(is)h(not)g(sho)m(wn)f(here)h(ma)m(y)h(result)e
5034 (in)150 737 y(dramatic)31 b(sp)s(eedups)d(!)390 872 y
5035 Fm(if)47 b(\(n)g(>=)h(2\))f({)485 981 y(p1)h(=)f(1)h(;)485
5036 1091 y(for)f(\(p5=2;p5<=n;p5++\))c({)581 1200 y(S1\(i)k(=)g(1,j)g(=)g
5037 (p5\))g(;)485 1310 y(})390 1420 y(})390 1529 y(for)g
5038 (\(p1=2;p1<=n-1;p1++\))42 b({)485 1639 y(for)47 b
5039 (\(p3=1;p3<=p1-1;p3++\))c({)581 1748 y(for)k(\(p5=p3+1;p5<=n;p5++\))42
5040 b({)676 1858 y(S2\(i)47 b(=)g(p3,j)g(=)h(p5,k)e(=)i(p1\))f(;)581
5041 1968 y(})485 2077 y(})485 2187 y(for)g(\(p5=p1+1;p5<=n;p5++\))c({)581
5042 2296 y(S1\(i)k(=)g(p1,j)g(=)g(p5\))g(;)485 2406 y(})390
5043 2516 y(})390 2625 y(if)g(\(n)g(>=)h(2\))f({)485 2735
5044 y(p1)h(=)f(n)h(;)485 2844 y(for)f(\(p3=1;p3<=n-1;p3++\))c({)581
5045 2954 y(for)k(\(p5=p3+1;p5<=n;p5++\))42 b({)676 3064 y(S2\(i)47
5046 b(=)g(p3,j)g(=)h(p5,k)e(=)i(n\))f(;)581 3173 y(})485
5047 3283 y(})390 3392 y(})p eop end
5048 %%Page: 20 24
5049 TeXDict begin 20 23 bop 150 -116 a Fo(20)1544 b(CLo)s(oG)31
5050 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)p
5051 eop end
5052 %%Page: 21 25
5053 TeXDict begin 21 24 bop 150 -116 a Fo(Chapter)30 b(3:)41
5054 b(Using)30 b(the)h(CLo)s(oG)g(Library)2016 b(21)150 299
5055 y Fk(3)80 b(Using)53 b(the)g(CLo)t(oG)g(Library)275 576
5056 y Fo(The)28 b(CLo)s(oG)h(Library)g(w)m(as)g(implemen)m(ted)h(to)g(allo)
5057 m(w)g(the)g(user)e(to)i(call)h(CLo)s(oG)e(directly)h(from)e(his)150
5058 686 y(programs,)22 b(without)f(\014le)f(accesses)i(or)e(system)h
5059 (calls.)38 b(The)20 b(user)g(only)g(needs)g(to)h(link)f(his)g(programs)
5060 g(with)150 795 y(C)31 b(libraries.)45 b(The)32 b(CLo)s(oG)g(library)f
5061 (mainly)h(pro)m(vides)g(one)g(function)f(\()p Fm
5062 (cloog_program_generate)p Fo(\))150 905 y(whic)m(h)24
5063 b(tak)m(es)i(as)e(input)g(the)g(problem)g(description)g(with)g(some)h
5064 (options,)h(and)d(returns)h(the)g(data)h(struc-)150 1014
5065 y(ture)i(corresp)s(onding)g(to)h(the)g(generated)h(co)s(de)f(\(a)g
5066 Fm(CloogProgram)d Fo(structure\))i(whic)m(h)g(is)h(more)g(or)g(less)150
5067 1124 y(an)i(abstract)h(syn)m(tax)g(tree.)41 b(The)30
5068 b(user)f(can)h(w)m(ork)h(with)e(this)h(data)h(structure)f(and/or)g(use)
5069 g(our)f(prett)m(y)150 1233 y(prin)m(ting)35 b(function)f(to)i(write)f
5070 (the)g(\014nal)f(co)s(de)h(in)f(either)i(C)e(or)h(F)m(OR)-8
5071 b(TRAN.)36 b(Some)e(other)h(functions)150 1343 y(are)j(pro)m(vided)f
5072 (for)h(con)m(v)m(enience)i(reasons.)62 b(These)38 b(functions)f(as)h(w)
5073 m(ell)g(as)g(the)g(data)g(structures)g(are)150 1453 y(describ)s(ed)29
5074 b(in)h(this)h(section.)150 1746 y Fn(3.1)68 b(CLo)t(oG)45
5075 b(Data)h(Structures)e(Description)275 2004 y Fo(In)30
5076 b(this)h(section,)i(w)m(e)f(describ)s(e)f(the)g(data)h(structures)f
5077 (used)f(b)m(y)h(the)h(lo)s(op)f(generator)i(to)f(represen)m(t)150
5078 2114 y(and)e(to)h(pro)s(cess)f(a)h(co)s(de)f(generation)i(problem.)150
5079 2367 y Fc(3.1.1)63 b(Clo)s(ogMatrix)390 2586 y Fm(#define)46
5080 b(CloogMatrix)f(Matrix)150 2735 y Fo(The)e Fm(CloogMatrix)d
5081 Fo(structure)j(is)g(directly)h(the)f(P)m(olyLib)h Fm(Matrix)e
5082 Fo(data)h(structure)g(\(see)h([Wil93],)150 2844 y(page)h(39\).)84
5083 b(This)44 b(structure)g(is)g(dev)m(oted)h(to)h(represen)m(t)e(a)h(set)g
5084 (of)f(constrain)m(ts.)84 b(It)45 b(is)f(de\014ned)f(in)150
5085 2954 y Fm(polylib/types.h)26 b Fo(as)31 b(the)f(follo)m(wing:)390
5086 3103 y Fm(struct)46 b(matrix)390 3212 y({)h(unsigned)f(NbRows)g(;)191
5087 b(/*)47 b(Number)f(of)h(rows.)g(*/)485 3322 y(unsigned)f(NbColumns)f(;)
5088 j(/*)f(Number)f(of)h(columns.)f(*/)485 3431 y(Value)h(**)g(p)g(;)430
5089 b(/*)47 b(Array)f(of)h(pointers)f(to)h(the)g(matrix)f(rows.)h(*/)485
5090 3541 y(Value)g(*)g(p_Init)f(;)239 b(/*)47 b(Matrix)f(rows)h
5091 (contiguously)d(in)j(memory.)f(*/)485 3650 y(int)h(p_Init_size)e(;)191
5092 b(/*)47 b(For)g(internal)e(use.)i(*/)390 3760 y(})390
5093 3870 y(typedef)f(struct)g(matrix)g(Matrix;)150 4013 y
5094 Fo(The)31 b(whole)h(matrix)g(is)g(stored)g(in)f(memory)h(ro)m(w)g
5095 (after)g(ro)m(w)g(at)h(the)f Fm(p_Init)e Fo(address.)44
5096 b Fm(p)31 b Fo(is)h(an)f(arra)m(y)150 4123 y(of)k(p)s(oin)m(ters)g
5097 (where)f Fm(p[i])g Fo(p)s(oin)m(ts)g(to)i(the)f(\014rst)f(elemen)m(t)j
5098 (of)e(the)g Fg(i)2492 4090 y Ff(th)2595 4123 y Fo(ro)m(w.)54
5099 b Fm(NbRows)33 b Fo(and)h Fm(NbColumns)150 4232 y Fo(are)g(resp)s
5100 (ectiv)m(ely)h(the)e(n)m(um)m(b)s(er)f(of)i(ro)m(ws)f(and)g(columns)g
5101 (of)h(the)f(matrix.)51 b(Eac)m(h)34 b(ro)m(w)f(corresp)s(onds)f(to)150
5102 4342 y(a)k(constrain)m(t.)58 b(The)36 b(\014rst)f(elemen)m(t)i(of)f
5103 (eac)m(h)h(ro)m(w)f(is)f(an)h(equalit)m(y/inequalit)m(y)j(tag.)59
5104 b(The)35 b(constrain)m(t)150 4451 y(is)e(an)f(equalit)m(y)i
5105 Fg(p)p Fo(\()p Fg(x)p Fo(\))c(=)e(0)33 b(if)g(the)g(\014rst)f(elemen)m
5106 (t)i(is)e(0,)i(but)e(it)h(is)g(an)f(inequalit)m(y)i Fg(p)p
5107 Fo(\()p Fg(x)p Fo(\))c Fl(\025)e Fo(0)33 b(if)g(the)g(\014rst)150
5108 4561 y(elemen)m(t)k(is)e(1.)57 b(The)35 b(next)g(elemen)m(ts)i(are)f
5109 (the)g(unkno)m(wn)e(co)s(e\016cien)m(ts,)k(follo)m(w)m(ed)f(b)m(y)f
5110 (the)f(parameter)150 4671 y(co)s(e\016cien)m(ts,)d(then)e(the)h(scalar)
5111 g(co)s(e\016cien)m(t.)43 b(F)-8 b(or)31 b(instance,)g(the)g(follo)m
5112 (wing)h(three)e(constrain)m(ts:)1611 4850 y Fd(8)1611
5113 4925 y(<)1611 5074 y(:)1700 4911 y Fl(\000)p Fg(i)20
5114 b Fo(+)g Fg(m)144 b Fo(=)25 b(0)1700 5021 y Fl(\000)p
5115 Fg(j)h Fo(+)20 b Fg(n)157 b Fl(\025)25 b Fo(0)1700 5130
5116 y Fg(j)h Fo(+)20 b Fg(i)g Fl(\000)g Fg(k)94 b Fl(\025)25
5117 b Fo(0)150 5340 y(w)m(ould)30 b(b)s(e)g(represen)m(ted)g(b)m(y)g(the)h
5118 (follo)m(wing)h(ro)m(ws:)p eop end
5119 %%Page: 22 26
5120 TeXDict begin 22 25 bop 150 -116 a Fo(22)1544 b(CLo)s(oG)31
5121 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
5122 299 y Fm(#)47 b(eq/in)95 b(i)142 b(j)h(k)g(m)g(n)g(cst)581
5123 408 y(0)191 b(0)95 b(-1)142 b(0)h(1)g(0)191 b(0)581 518
5124 y(1)143 b(-1)f(0)h(0)g(0)g(1)191 b(0)581 628 y(1)g(1)142
5125 b(1)96 b(-1)142 b(0)h(0)191 b(0)150 837 y Fo(T)-8 b(o)43
5126 b(b)s(e)f(able)h(to)h(pro)m(vide)e(di\013eren)m(t)h(precision)g(v)m
5127 (ersion)g(\(CLo)s(oG)g(supp)s(orts)e(32)j(bits,)i(64)d(bits)g(and)150
5128 946 y(arbitrary)25 b(precision)h(through)f(the)h(GMP)g(library\),)h
5129 (the)f Fm(Value)e Fo(t)m(yp)s(e)i(dep)s(ends)e(on)i(the)g
5130 (con\014guration)150 1056 y(options)40 b(\(it)g(ma)m(y)h(b)s(e)e
5131 Fm(long)29 b(int)39 b Fo(for)g(32)h(bits)g(v)m(ersion,)i
5132 Fm(long)30 b(long)f(int)39 b Fo(for)g(64)h(bits)g(v)m(ersion,)j(and)150
5133 1165 y Fm(mpz_t)32 b Fo(for)g(m)m(ultiple)i(precision)f(v)m(ersion\).)
5134 49 b(The)33 b Fm(p_Init_size)d Fo(\014eld)i(is)h(needed)g(b)m(y)g(the)g
5135 (P)m(olyLib)g(to)150 1275 y(free)c(the)g(memory)g(allo)s(cated)i(b)m(y)
5136 d Fm(mpz_init)f Fo(in)i(the)g(m)m(ultiple)g(precision)g(release.)42
5137 b(Set)29 b(this)f(\014eld)h(to)h(0)150 1385 y(if)h(y)m(ou)g(are)g
5138 Fi(not)40 b Fo(using)30 b(m)m(ultiple)i(precision.)42
5139 b(Set)31 b(this)f(\014eld)h(to)g(the)g(size)h(of)f(the)g
5140 Fm(p_Init)e Fo(arra)m(y)i(if)g(y)m(ou)150 1494 y(initialized)h(it)f(y)m
5141 (ourself)g(and)e(if)i(y)m(ou)g(are)f(using)g(the)h(m)m(ultiple)g
5142 (precision)f(v)m(ersion.)150 1868 y Fc(3.1.2)63 b(Clo)s(ogDomain)390
5143 2087 y Fm(struct)46 b(cloogdomain)390 2197 y({)h(Polyhedron)e(*)j
5144 (polyhedron)d(;)95 b(/*)47 b(The)g(polyhedral)e(domain.)h(*/)390
5145 2307 y(})h(;)390 2416 y(typedef)f(struct)g(cloogdomain)f(CloogDomain)f
5146 (;)150 2620 y Fo(The)23 b Fm(CloogDomain)e Fo(structure)i(con)m(tains)h
5147 (a)g(P)m(olyLib)h Fm(Polyhedron)20 b Fo(data)25 b(structure)e(whic)m(h)
5148 g(represen)m(ts)150 2730 y(a)31 b(p)s(olyhedral)f(domain)h(\(a)h(union)
5149 e(of)h(p)s(olyhedra\))f(in)h(b)s(oth)f(constrain)m(t)i(represen)m
5150 (tation)g(and)e(its)h(dual)150 2839 y(ra)m(y)24 b(represen)m(tation)h
5151 (\(see)g([Wil93],)i(page)e(39\).)39 b(It)24 b(is)g(de\014ned)e(in)i
5152 Fm(polylib/types.h)19 b Fo(as)24 b(the)g(follo)m(wing:)390
5153 3049 y Fm(struct)46 b(polyhedron)390 3158 y({)h(unsigned)f(Dimension,)
5154 379 b(/*)47 b(Number)f(of)i(dimensions.)c(*/)915 3268
5155 y(NbConstraints,)187 b(/*)47 b(Number)f(of)i(constraints.)c(*/)915
5156 3377 y(NbRays,)523 b(/*)47 b(Number)f(of)i(rays.)e(*/)915
5157 3487 y(NbEq,)619 b(/*)47 b(Number)f(of)i(vertices)d(\(?\).)i(*/)915
5158 3597 y(NbBid)f(;)525 b(/*)47 b(Number)f(of)i(extremal)d(rays)i(\(?\).)f
5159 (*/)485 3706 y(Value)h(**)g(Constraint)e(;)286 b(/*)47
5160 b(Pointers)f(to)h(constraints.)d(*/)485 3816 y(Value)j(**)g(Ray)g(;)620
5161 b(/*)47 b(Pointers)f(to)h(rays.)f(*/)485 3925 y(Value)h(*)g(p_Init)f(;)
5162 525 b(/*)47 b(Constraints)e(and)i(rays)g(contiguously.)d(*/)485
5163 4035 y(int)j(p_Init_size)e(;)477 b(/*)47 b(For)g(internal)f(use.)g(*/)
5164 485 4145 y(struct)h(polyhedron)e(*)i(next)g(;)g(/*)g(Next)g(component)e
5165 (of)i(the)g(union.)f(*/)390 4254 y(})390 4364 y(typedef)g(struct)g
5166 (polyhedron)f(Polyhedron;)150 4573 y Fo(The)34 b(constrain)m(t)h
5167 (represen)m(tation)g(is)g(quite)f(the)h(same)f(as)h(in)f(the)g
5168 Fm(Matrix)f Fo(data)h(structure)g(\(see)h(Sec-)150 4682
5169 y(tion)29 b(3.1.1)h([Clo)s(ogMatrix],)h(page)e(21\).)41
5170 b(The)28 b(n)m(um)m(b)s(er)f(of)i(ro)m(ws)f(is)g Fm(NbConstraints)d
5171 Fo(and)j(the)g(n)m(um)m(b)s(er)150 4792 y(of)40 b(columns)f(in)g(the)g
5172 Fm(Polyhedron)e Fo(structure)i(is)g Fm(Dimension+2)e
5173 Fo(\(the)j(+2)f(comes)i(from)d(the)i(equal-)150 4902
5174 y(it)m(y/inequalit)m(y)i(tag)f(and)e(the)h(scalar)g(co)s(e\016cien)m
5175 (t\).)71 b(As)39 b(in)g(the)h Fm(Matrix)e Fo(structure,)j(The)e(data)i
5176 (are)150 5011 y(stored)c(in)f(memory)g(con)m(tiguously)i(at)g(the)e
5177 Fm(p_Init)f Fo(address)h(and)g(the)h Fm(p_Init_size)c
5178 Fo(\014eld)j(is)h(used)150 5121 y(for)k(memory)f(deallo)s(cation)j(in)e
5179 (the)g(m)m(ultiple)g(precision)g(case)h(\(see)g(Section)g(3.1.1)g([Clo)
5180 s(ogMatrix],)150 5230 y(page)32 b(21\).)44 b(F)-8 b(or)32
5181 b(a)g(b)s(etter)f(understanding)f(of)h(the)g(dual)g(ra)m(y)h(represen)m
5182 (tation,)h(the)e(user)f(ma)m(y)i(refer)f(to)150 5340
5183 y(the)g(P)m(olyLib)f(do)s(cumen)m(tation.)p eop end
5184 %%Page: 23 27
5185 TeXDict begin 23 26 bop 150 -116 a Fo(Chapter)30 b(3:)41
5186 b(Using)30 b(the)h(CLo)s(oG)g(Library)2016 b(23)150 299
5187 y Fc(3.1.3)63 b(Clo)s(ogDomainList)390 518 y Fm(struct)46
5188 b(cloogdomainlist)390 628 y({)h(CloogDomain)e(*)j(domain)e(;)485
5189 737 y(struct)h(cloogdomainlist)c(*)48 b(next)e(;)390
5190 847 y(})h(;)390 956 y(typedef)f(struct)g(cloogdomainlist)e
5191 (CloogDomainList)f(;)150 1078 y Fo(The)30 b(Clo)s(ogDomainList)i
5192 (structure)e(represen)m(ts)g(a)h Fm(NULL)e Fo(terminated)i(link)m(ed)g
5193 (list)g(of)f(domains.)150 1281 y Fc(3.1.4)63 b(Clo)s(ogStatemen)m(t)390
5194 1500 y Fm(struct)46 b(cloogstatement)390 1610 y({)h(int)g(number)f(;)
5195 859 b(/*)47 b(The)g(statement)f(unique)g(number.)g(*/)485
5196 1719 y(void)h(*)h(usr)e(;)859 b(/*)47 b(Pointer)f(for)h(user's)f
5197 (convenience.)f(*/)485 1829 y(struct)i(cloogstatement)c(*)48
5198 b(next)f(;/*)f(Next)h(element)f(of)h(the)g(linked)f(list.)g(*/)390
5199 1939 y(})h(;)390 2048 y(typedef)f(struct)g(cloogstatement)e
5200 (CloogStatement)g(;)150 2170 y Fo(The)33 b Fm(CloogStatement)c
5201 Fo(structure)j(represen)m(ts)h(a)h Fm(NULL)d Fo(terminated)j(link)m(ed)
5202 f(list)h(of)f(statemen)m(ts.)51 b(In)150 2280 y(CLo)s(oG,)42
5203 b(a)g(statemen)m(t)i(is)d(only)h(de\014ned)e(b)m(y)i(its)g(unique)f(n)m
5204 (um)m(b)s(er)f(\()p Fm(number)p Fo(\).)73 b(The)41 b(user)g(can)h(use)
5205 150 2389 y(the)d(p)s(oin)m(ter)f Fm(usr)g Fo(for)g(his)g(o)m(wn)g(con)m
5206 (v)m(enience)j(to)e(link)f(his)g(o)m(wn)h(statemen)m(t)h(represen)m
5207 (tation)g(to)f(the)150 2499 y(corresp)s(onding)f Fm(CloogStatement)e
5208 Fo(structure.)66 b(The)39 b(whole)h(managemen)m(t)g(of)g(the)f
5209 Fm(usr)g Fo(p)s(oin)m(ter)g(is)150 2609 y(under)33 b(the)h(resp)s
5210 (onsibilit)m(y)g(of)h(the)f(user,)h(in)e(particular,)j(CLo)s(oG)f(nev)m
5211 (er)f(tries)h(to)g(prin)m(t,)g(to)f(allo)s(cate)150 2718
5212 y(or)c(to)h(free)g(a)g(memory)f(blo)s(c)m(k)h(p)s(oin)m(ted)f(b)m(y)g
5213 Fm(usr)p Fo(.)150 2921 y Fc(3.1.5)63 b(Clo)s(ogBlo)s(c)m(k)390
5214 3140 y Fm(struct)46 b(cloogblock)390 3250 y({)h(CloogStatement)d(*)k
5215 (statement)d(;)j(/*)f(Statement)e(list)i(of)g(the)g(block.)f(*/)485
5216 3359 y(CloogMatrix)f(*)j(scattering)d(;)143 b(/*)47 b(Scattering)e
5217 (function)g(of)i(the)g(block.)f(*/)485 3469 y(int)h(depth)g(;)859
5218 b(/*)47 b(Original)e(block)i(depth.*/)390 3578 y(})g(;)390
5219 3688 y(typedef)f(struct)g(cloogblock)f(CloogBlock)g(;)150
5220 3810 y Fo(The)28 b Fm(CloogBlock)d Fo(structure)i(represen)m(ts)h(a)h
5221 (statemen)m(t)h(blo)s(c)m(k.)40 b(In)28 b(a)g(statemen)m(t)i(blo)s(c)m
5222 (k,)f(ev)m(ery)g(state-)150 3919 y(men)m(ts)f(ha)m(v)m(e)h(the)f(same)h
5223 (iteration)g(domain)f(and)f(the)h(same)h(scattering)g(function)f
5224 (\(actually)-8 b(,)31 b(the)d(scat-)150 4029 y(tering)j(functions)e(ma)
5225 m(y)i(di\013er)f(only)g(b)m(y)g(a)g(scalar)h(co)s(e\016cien)m(t)h(if)e
5226 (it)h(just)e(precises)h(the)h(ordering)f(of)g(the)150
5227 4139 y(statemen)m(ts)36 b(within)f(the)f(blo)s(c)m(k\).)55
5228 b Fm(statement)32 b Fo(is)j(the)g(statemen)m(t)h(list)g(where)e(the)h
5229 (statemen)m(t)h(order)150 4248 y(matters,)30 b Fm(scattering)d
5230 Fo(is)i(one)h(of)f(the)h(statemen)m(t)h(scattering)g(functions)e(and)g
5231 Fm(depth)e Fo(is)j(the)f(n)m(um)m(b)s(er)150 4358 y(of)i(dimensions)e
5232 (of)i(the)f(iteration)i(domain)e(\(only)h(the)g(unkno)m(wn,)e(not)i
5233 (the)f(tag/parameters/scalar\).)150 4560 y Fc(3.1.6)63
5234 b(Clo)s(ogBlo)s(c)m(kList)390 4780 y Fm(struct)46 b(cloogdblocklist)390
5235 4889 y({)h(CloogBlock)e(*)j(block)e(;)485 4999 y(struct)h
5236 (cloogblocklist)c(*)48 b(next)f(;)390 5108 y(})g(;)390
5237 5218 y(typedef)f(struct)g(cloogblocklist)e(CloogBlockList)g(;)150
5238 5340 y Fo(The)30 b(Clo)s(ogBlo)s(c)m(kList)j(structure)d(represen)m(ts)
5239 g(a)h Fm(NULL)e Fo(terminated)i(link)m(ed)f(list)h(of)g(blo)s(c)m(ks.)p
5240 eop end
5241 %%Page: 24 28
5242 TeXDict begin 24 27 bop 150 -116 a Fo(24)1544 b(CLo)s(oG)31
5243 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)150
5244 299 y Fc(3.1.7)63 b(Clo)s(ogLo)s(op)390 518 y Fm(struct)46
5245 b(cloogloop)390 628 y({)h(CloogDomain)e(*)j(domain)e(;)334
5246 b(/*)47 b(Iteration)e(domain.)h(*/)485 737 y(int)h(stride)f(;)812
5247 b(/*)47 b(Loop)f(stride.)g(*/)485 847 y(CloogBlock)f(*)j(block)e(;)430
5248 b(/*)47 b(Included)e(statement)h(block.*/)485 956 y(struct)h(cloogloop)
5249 e(*)i(inner)g(;)143 b(/*)47 b(Loop)f(at)i(the)e(next)h(level.)f(*/)485
5250 1066 y(struct)h(cloogloop)e(*)i(next)g(;)191 b(/*)47
5251 b(Next)f(loop)h(at)g(the)g(same)g(level.)f(*/)390 1176
5252 y(})h(;)390 1285 y(typedef)f(struct)g(cloogloop)f(CloogLoop)g(;)150
5253 1677 y Fo(The)37 b Fm(CloogLoop)f Fo(structure)h(represen)m(ts)h(a)g
5254 (lo)s(op.)64 b(First)38 b(of)g(all,)j(a)d(lo)s(op)g(has)g(an)g
5255 (iteration)h(domain)150 1787 y(\()p Fm(domain)p Fo(\).)81
5256 b(The)43 b(iterator's)j(stride)e(for)f(lo)s(op)h(incremen)m(t)h(is)f
5257 Fm(stride)p Fo(.)80 b(The)43 b(lo)s(op)i(can)f(include)g(a)150
5258 1896 y(statemen)m(t)39 b(blo)s(c)m(k)e(in)f(the)h(\014eld)g
5259 Fm(block)p Fo(.)58 b(If)36 b(there)h(is)g(no)g(included)f(statemen)m(t)
5260 i(blo)s(c)m(k,)h Fm(block)d Fo(is)g(set)150 2006 y(to)e
5261 Fm(NULL)p Fo(.)49 b Fm(inner)32 b Fo(is)i(a)g(p)s(oin)m(ter)f(to)i(the)
5262 e(inner)g(lo)s(op,)i(and)e Fm(next)f Fo(a)i(p)s(oin)m(ter)f(to)i(the)e
5263 (next)h(lo)s(op)g(in)f(the)150 2116 y(textual)i(order.)50
5264 b(If)33 b(there)h(are)f(no)h(inner)f(lo)s(op)g(or)h(no)f(next)h(lo)s
5265 (op,)h(the)f(corresp)s(onding)e(p)s(oin)m(ter)i(is)f(set)150
5266 2225 y(to)e Fm(NULL)p Fo(.)150 2975 y Fc(3.1.8)63 b(Clo)s(ogNames)390
5267 3194 y Fm(struct)46 b(cloognames)390 3304 y({)h(int)g(nb_scattering)e
5268 (;)429 b(/*)47 b(Scattering)e(dimension)g(number.)h(*/)485
5269 3414 y(int)h(nb_iterators)e(;)477 b(/*)47 b(Iterator)f(number.)f(*/)485
5270 3523 y(int)i(nb_parameters)e(;)429 b(/*)47 b(Parameter)e(number.)h(*/)
5271 485 3633 y(char)h(**)g(scattering)e(;)382 b(/*)47 b(The)g(scattering)e
5272 (dimension)g(names.)h(*/)485 3742 y(char)h(**)g(iterators)f(;)429
5273 b(/*)47 b(The)g(iterator)e(names.)i(*/)485 3852 y(char)g(**)g
5274 (parameters)e(;)382 b(/*)47 b(The)g(parameter)e(names.)h(*/)390
5275 3962 y(})h(;)390 4071 y(typedef)f(struct)g(cloognames)f(CloogNames)g(;)
5276 150 4463 y Fo(The)40 b Fm(CloogNames)d Fo(structure)j(represen)m(ts)g
5277 (the)g(scattering)i(dimension,)h(the)d(iterator)i(and)d(the)i(pa-)150
5278 4573 y(rameter)32 b(names)f(in)h(the)f(\014nal)h(program.)44
5279 b Fm(nb_scattering)27 b Fo(\(resp)s(ectiv)m(ely)34 b
5280 Fm(nb_iterators)28 b Fo(and)j Fm(nb_)150 4682 y(parameters)p
5281 Fo(\))c(is)j(the)h(n)m(um)m(b)s(er)d(of)i(scattering)i(dimensions)d(n)m
5282 (um)m(b)s(er)f(\(resp)s(ectiv)m(ely)k(the)e(iterator)i(and)150
5283 4792 y(parameter)g(n)m(um)m(b)s(er\))f(and)g(of)h(elemen)m(ts)g(in)g
5284 (the)g(corresp)s(onding)e(arra)m(y)i(of)g(strings)g Fm(scattering)c
5285 Fo(\(re-)150 4902 y(sp)s(ectiv)m(ely)37 b Fm(iterators)c
5286 Fo(and)i Fm(parameters)p Fo(\).)54 b(The)35 b Fg(i)2039
5287 4869 y Ff(th)2143 4902 y Fo(scattering)i(dimension)e(name)h(will)g(b)s
5288 (e)f(asso-)150 5011 y(ciated)j(with)f(the)g(to)g(the)g(dimension)f
5289 Fg(i)h Fo(of)g(the)g(scattering)i(function.)59 b(The)36
5290 b Fg(i)2919 4978 y Ff(th)3025 5011 y Fo(iterator)i(name)f(will)150
5291 5121 y(b)s(e)d(asso)s(ciated)i(with)e(the)h(dimension)e
5292 Fg(i)i Fo(of)g(the)f(iteration)i(domain.)53 b(The)34
5293 b Fg(i)2820 5088 y Ff(th)2923 5121 y Fo(parameter)h(name)g(will)150
5294 5230 y(b)s(e)29 b(asso)s(ciated)i(with)f(the)g(dimension)f
5295 Fg(i)h Fo(of)g(the)g(con)m(text)i(p)s(olyhedron.)39 b(The)29
5296 b(user)g(has)h(to)g(ensure)f(that)150 5340 y(there)i(are)f(enough)g
5297 (scattering)i(dimension,)e(iterator)i(and)e(parameter)h(names.)p
5298 eop end
5299 %%Page: 25 29
5300 TeXDict begin 25 28 bop 150 -116 a Fo(Chapter)30 b(3:)41
5301 b(Using)30 b(the)h(CLo)s(oG)g(Library)2016 b(25)150 299
5302 y Fc(3.1.9)63 b(Clo)s(ogProgram)390 518 y Fm(struct)46
5303 b(cloogprogram)390 628 y({)h(char)g(language)f(;)668
5304 b(/*)47 b(The)g(language)e(of)i(the)g(program.)f(*/)485
5305 737 y(int)95 b(scattdims)45 b(;)621 b(/*)47 b(Scattering)e(dimension)g
5306 (number.)h(*/)485 847 y(CloogNames)93 b(*)48 b(names)e(;)382
5307 b(/*)47 b(Iterators)e(and)i(parameters)e(names.)h(*/)485
5308 956 y(CloogDomain)f(*)j(context)d(;)287 b(/*)47 b(The)g(context)e(of)j
5309 (the)f(program.)e(*/)485 1066 y(CloogLoop)141 b(*)48
5310 b(loop)e(;)430 b(/*)47 b(The)g(loops)f(of)h(the)g(program.)f(*/)485
5311 1176 y(CloogBlockList)e(*)k(blocklist)d(;)j(/*)f(The)g(statement)e
5312 (block)h(list.)h(*/)390 1285 y(})g(;)390 1395 y(typedef)f(struct)g
5313 (cloogprogram)e(CloogProgram)h(;)150 1525 y Fo(The)28
5314 b Fm(CloogProgram)c Fo(structure)k(represen)m(ts)g(a)g(static)i(con)m
5315 (trol)g(program)d(k)m(ernel.)41 b Fm(language)26 b Fo(precises)150
5316 1635 y(the)43 b(language)i(\()p Fm(c)e Fo(for)g(C)f(or)h
5317 Fm(f)g Fo(for)g(F)m(OR)-8 b(TRAN\).)44 b Fm(scattdims)d
5318 Fo(giv)m(es)j(the)f(n)m(um)m(b)s(er)f(of)h(scattering)150
5319 1745 y(dimensions.)58 b Fm(context)35 b Fo(is)h(a)h(p)s(oin)m(ter)f(to)
5320 h(the)g(constrain)m(ts)g(on)g(the)f(program)h(parameters,)h(it)f(can't)
5321 150 1854 y(b)s(e)d(the)i Fm(NULL)d Fo(p)s(oin)m(ter)i(ev)m(en)h(if)f
5322 (there)g(are)h(no)e(constrain)m(ts)i(on)f(parameters.)55
5323 b(In)35 b(suc)m(h)f(a)i(case,)h(set)f(a)150 1964 y(p)s(olyhedron)20
5324 b(with)h(as)g(man)m(y)h(dimensions)e(as)i(there)f(are)h(parameters,)i
5325 (with)c(an)i Fi(always)k(true)i Fo(constrain)m(t)150
5326 2073 y(lik)m(e)i(1)c Fl(\025)f Fo(0)30 b(\(this)f(is)g(necessary)h
5327 (since)g(the)f(n)m(um)m(b)s(er)f(of)h(parameters)h(is)f(deduced)f(from)
5328 h(the)h(dimension)150 2183 y(n)m(um)m(b)s(er)22 b(of)i(the)f(con)m
5329 (text)i(constrain)m(ts\).)40 b Fm(loop)22 b Fo(is)i(a)f(p)s(oin)m(ter)h
5330 (to)g(the)f(\014rst)g(lo)s(op)g(of)h(the)f(program.)38
5331 b Fm(names)150 2292 y Fo(is)c(a)h(p)s(oin)m(ter)f(to)h(the)f(v)-5
5332 b(arious)34 b(elemen)m(t)i(names)e(\(scattering)i(dimension,)e
5333 (iterators,)j(parameters\))e(of)150 2402 y(the)29 b(\014nal)g(program.)
5334 40 b Fm(names)27 b Fo(can)j(b)s(e)e(the)h Fm(NULL)f Fo(p)s(oin)m(ter)h
5335 (if)g(the)g(user)f(do)h(not)h(w)m(an)m(t)f(to)h(use)f(our)f(prett)m(y)
5336 150 2512 y(prin)m(ting)i(function.)40 b Fm(blocklist)28
5337 b Fo(is)i(the)g(link)m(ed)g(list)h(of)f(all)h(the)f(statemen)m(t)i(blo)
5338 s(c)m(k)e(structures.)40 b(As)30 b(an)150 2621 y(example,)h(let)h(us)d
5339 (consider)i(the)f(follo)m(wing)i(lo)s(op)e(nest:)390
5340 2757 y Fm(for)47 b(\(i=0;)f(i<=n;)h(i++\))f({)485 2867
5341 y(for)h(\(j=0;)g(j<=n;)f(j++\))h({)581 2976 y(S1)g(;)581
5342 3086 y(S2)g(;)485 3196 y(})485 3305 y(for)g(\(j=n+1;)f(j<=2*n;)g(j++\))
5343 h({)581 3415 y(S3)g(;)485 3524 y(})390 3634 y(})150 3764
5344 y Fo(The)33 b(next)i(\014gure)e(giv)m(es)i(a)f(p)s(ossible)g(represen)m
5345 (tation)h(in)f(memory)f(for)h(this)g(program)g(thanks)f(to)i(the)150
5346 3874 y(CLo)s(oG)h(data)h(structures)f(\(it)h(has)f(b)s(een)g(actually)i
5347 (prin)m(ted)e(b)m(y)g(the)g Fm(cloog_program_print)c
5348 Fo(func-)150 3984 y(tion\).)44 b(In)31 b(this)g(\014gure,)g(`)p
5349 Fm(+--)f(CloogLoop)p Fo(')f(denotes)j(an)f(`)p Fm(inner)p
5350 Fo(')f(lo)s(op,)i(while)g(a)f(`)p Fm(CloogLoop)p Fo(')f(on)h(the)150
5351 4093 y(same)g(column)f(p)s(oin)m(ted)g(b)m(y)h(an)f(arro)m(w)g(denotes)
5352 h(a)g(`)p Fm(next)p Fo(')f(lo)s(op:)390 4207 y Fa(+--)40
5353 b(CloogProgram)390 4294 y(|)275 b(|)390 4381 y(|)g(Language:)41
5354 b(c)390 4468 y(|)275 b(|)390 4555 y(|)g(Scattering)41
5355 b(dimension)h(number:)e(0)390 4643 y(|)275 b(|)390 4730
5356 y(|)g(+--)40 b(CloogNames)390 4817 y(|)275 b(|)g(|)390
5357 4904 y(|)g(|)g(Scattering)41 b(dimension)g(number:)g(0)390
5358 4991 y(|)275 b(|)g(|)390 5078 y(|)g(|)g(+--)40 b(No)f(scattering)j
5359 (string)390 5166 y(|)275 b(|)g(|)390 5253 y(|)g(|)g(Iterator)41
5360 b(number)f(-----------:)i(2)390 5340 y(|)275 b(|)g(|)p
5361 eop end
5362 %%Page: 26 30
5363 TeXDict begin 26 29 bop 150 -116 a Fo(26)1544 b(CLo)s(oG)31
5364 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
5365 299 y Fa(|)275 b(|)g(+--)40 b(Iterator)h(strings)f(------:)h(i)f(j)390
5366 386 y(|)275 b(|)g(|)390 473 y(|)g(|)g(Parameter)41 b(number)g
5367 (----------:)g(1)390 560 y(|)275 b(|)g(|)390 648 y(|)g(|)g(+--)40
5368 b(Parameter)h(strings)g(-----:)f(n)390 735 y(|)275 b(|)390
5369 822 y(|)g(+--)40 b(Context)390 909 y(|)275 b(|)g([)118
5370 b(1)157 b(1)118 b(-2)79 b(])390 996 y(|)275 b(|)g([)118
5371 b(1)157 b(0)g(1)79 b(])390 1083 y(|)275 b(|)390 1171
5372 y(|)g(+--)40 b(CloogLoop)390 1258 y(|)275 b(|)g(|)390
5373 1345 y(|)g(|)g(+--)40 b(CloogDomain)390 1432 y(|)275
5374 b(|)g(|)f([)118 b(1)g(-1)158 b(1)f(0)78 b(])390 1519
5375 y(|)275 b(|)g(|)f([)118 b(1)158 b(1)f(0)g(0)78 b(])390
5376 1606 y(|)275 b(|)g(|)f([)118 b(1)158 b(0)f(0)g(1)78 b(])390
5377 1694 y(|)275 b(|)g(|)390 1781 y(|)g(|)g(Stride:)40 b(1)390
5378 1868 y(|)275 b(|)g(|)390 1955 y(|)g(|)g(+--)40 b(Null)g(CloogBlock)390
5379 2042 y(|)275 b(|)g(|)390 2130 y(|)g(|)g(+--)40 b(CloogLoop)390
5380 2217 y(|)275 b(|)g(|)f(|)390 2304 y(|)h(|)g(|)f(+--)40
5381 b(CloogDomain)390 2391 y(|)275 b(|)g(|)f(|)h([)118 b(1)157
5382 b(0)g(1)h(0)f(0)78 b(])390 2478 y(|)275 b(|)g(|)f(|)h([)118
5383 b(1)157 b(0)118 b(-1)158 b(1)f(0)78 b(])390 2565 y(|)275
5384 b(|)g(|)f(|)h([)118 b(1)157 b(0)g(0)h(0)f(1)78 b(])390
5385 2653 y(|)275 b(|)g(|)f(|)390 2740 y(|)h(|)g(|)f(Stride:)41
5386 b(1)390 2827 y(|)275 b(|)g(|)f(|)390 2914 y(|)h(|)g(|)f(+--)40
5387 b(Null)h(CloogBlock)390 3001 y(|)275 b(|)g(|)f(|)390
5388 3088 y(|)h(|)g(|)f(+--)40 b(CloogLoop)390 3176 y(|)275
5389 b(|)g(|)f(|)h(|)390 3263 y(|)g(|)g(|)f(|)h(+--)40 b(CloogDomain)390
5390 3350 y(|)275 b(|)g(|)f(|)h(|)g([)118 b(1)157 b(0)g(0)g(0)h(1)78
5391 b(])390 3437 y(|)275 b(|)g(|)f(|)h(|)390 3524 y(|)g(|)g(|)f(|)h
5392 (Stride:)41 b(1)390 3611 y(|)275 b(|)g(|)f(|)h(|)390
5393 3699 y(|)g(|)g(|)f(|)h(+--)40 b(CloogBlock)390 3786 y(|)275
5394 b(|)g(|)f(|)h(|)g(|)390 3873 y(|)g(|)g(|)f(|)h(|)g(+--)40
5395 b(CloogStatement)i(1)390 3960 y(|)275 b(|)g(|)f(|)h(|)g(|)393
5396 b(|)390 4047 y(|)275 b(|)g(|)f(|)h(|)g(|)393 b(V)390
5397 4134 y(|)275 b(|)g(|)f(|)h(|)g(|)118 b(CloogStatement)42
5398 b(2)390 4222 y(|)275 b(|)g(|)f(|)h(|)g(|)390 4309 y(|)g(|)g(|)f(|)h(|)g
5399 (+--)40 b(Null)g(scattering)i(function)390 4396 y(|)275
5400 b(|)g(|)f(|)h(|)g(|)390 4483 y(|)g(|)g(|)f(|)h(|)g(Depth:)41
5401 b(2)390 4570 y(|)275 b(|)g(|)f(|)h(|)390 4658 y(|)g(|)g(|)f(|)390
5402 4745 y(|)h(|)g(|)f(V)390 4832 y(|)h(|)g(|)118 b(CloogLoop)390
5403 4919 y(|)275 b(|)g(|)f(|)390 5006 y(|)h(|)g(|)f(+--)40
5404 b(CloogDomain)390 5093 y(|)275 b(|)g(|)f(|)h([)118 b(1)157
5405 b(0)118 b(-1)158 b(2)f(0)78 b(])390 5181 y(|)275 b(|)g(|)f(|)h([)118
5406 b(1)157 b(0)g(1)118 b(-1)h(-1)78 b(])390 5268 y(|)275
5407 b(|)g(|)f(|)h([)118 b(1)157 b(0)g(0)h(0)f(1)78 b(])p
5408 eop end
5409 %%Page: 27 31
5410 TeXDict begin 27 30 bop 150 -116 a Fo(Chapter)30 b(3:)41
5411 b(Using)30 b(the)h(CLo)s(oG)g(Library)2016 b(27)390 299
5412 y Fa(|)275 b(|)g(|)f(|)390 386 y(|)h(|)g(|)f(Stride:)41
5413 b(1)390 473 y(|)275 b(|)g(|)f(|)390 560 y(|)h(|)g(|)f(+--)40
5414 b(Null)h(CloogBlock)390 648 y(|)275 b(|)g(|)f(|)390 735
5415 y(|)h(|)g(|)f(+--)40 b(CloogLoop)390 822 y(|)275 b(|)g(|)f(|)h(|)390
5416 909 y(|)g(|)g(|)f(|)h(+--)40 b(CloogDomain)390 996 y(|)275
5417 b(|)g(|)f(|)h(|)g([)118 b(1)157 b(0)g(0)g(0)h(1)78 b(])390
5418 1083 y(|)275 b(|)g(|)f(|)h(|)390 1171 y(|)g(|)g(|)f(|)h(Stride:)41
5419 b(1)390 1258 y(|)275 b(|)g(|)f(|)h(|)390 1345 y(|)g(|)g(|)f(|)h(+--)40
5420 b(CloogBlock)390 1432 y(|)275 b(|)g(|)f(|)h(|)g(|)390
5421 1519 y(|)g(|)g(|)f(|)h(|)g(+--)40 b(CloogStatement)i(3)390
5422 1606 y(|)275 b(|)g(|)f(|)h(|)g(|)390 1694 y(|)g(|)g(|)f(|)h(|)g(+--)40
5423 b(Null)g(scattering)i(function)390 1781 y(|)275 b(|)g(|)f(|)h(|)g(|)390
5424 1868 y(|)g(|)g(|)f(|)h(|)g(Depth:)41 b(2)390 1955 y(|)275
5425 b(|)g(|)f(|)h(|)390 2042 y(|)g(|)g(|)f(|)390 2130 y(|)h(|)g(|)390
5426 2217 y(|)g(|)390 2304 y(|)150 2519 y Fc(3.1.10)63 b(Clo)s(ogOptions)390
5427 2738 y Fm(struct)46 b(cloogoptions)390 2848 y({)h(int)g(l)h(;)1002
5428 b(/*)47 b(-l)g(option.)476 b(*/)485 2957 y(int)47 b(f)h(;)1002
5429 b(/*)47 b(-f)g(option.)476 b(*/)485 3067 y(int)47 b(strides)f(;)716
5430 b(/*)47 b(-strides)f(option.)189 b(*/)485 3176 y(int)47
5431 b(esp)g(;)907 b(/*)47 b(-esp)g(option.)380 b(*/)485 3286
5432 y(int)47 b(csp)g(;)907 b(/*)47 b(-csp)g(option.)380 b(*/)485
5433 3395 y(int)47 b(fsp)g(;)907 b(/*)47 b(-fsp)g(option.)380
5434 b(*/)485 3505 y(int)47 b(otl)g(;)907 b(/*)47 b(-otl)g(option.)380
5435 b(*/)485 3615 y(int)47 b(block)g(;)811 b(/*)47 b(-block)f(option.)285
5436 b(*/)485 3724 y(int)47 b(cpp)g(;)907 b(/*)47 b(-cpp)g(option.)380
5437 b(*/)485 3834 y(int)47 b(compilable)e(;)573 b(/*)47 b(-compilable)e
5438 (option.)h(*/)390 3943 y(})h(;)390 4053 y(typedef)f(struct)g
5439 (cloogoptions)e(CloogOptions)h(;)150 4179 y Fo(The)35
5440 b Fm(CloogOptions)d Fo(structure)j(con)m(tains)i(all)f(the)g(p)s
5441 (ossible)f(options)h(to)g(rule)g(CLo)s(oG's)f(b)s(eha)m(viour)150
5442 4289 y(\(see)c(Section)h(2.3)f([Calling)g(CLo)s(oG],)g(page)h(10\).)41
5443 b(As)31 b(a)g(reminder,)e(the)i(default)f(v)-5 b(alues)31
5444 b(are:)225 4420 y Fl(\017)60 b Fg(l)27 b Fo(=)e Fl(\000)p
5445 Fo(1)31 b(\(optimize)h(con)m(trol)f(un)m(til)g(the)g(innermost)f(lo)s
5446 (ops\),)225 4551 y Fl(\017)60 b Fg(f)35 b Fo(=)25 b(1)30
5447 b(\(optimize)i(con)m(trol)g(from)e(the)h(outermost)g(lo)s(ops\),)225
5448 4683 y Fl(\017)60 b Fg(str)s(ides)25 b Fo(=)g(0)31 b(\(use)f(only)g
5449 (unit)g(strides\),)225 4814 y Fl(\017)60 b Fg(esp)25
5450 b Fo(=)g(0)31 b(\(do)f(not)h(spread)f(complex)h(equalities\),)225
5451 4946 y Fl(\017)60 b Fg(csp)25 b Fo(=)g(1)31 b(\(spread)f(constan)m(t)h
5452 (v)-5 b(alues\),)225 5077 y Fl(\017)60 b Fg(f)10 b(sp)24
5453 b Fo(=)h(1)31 b(\(start)g(to)g(spread)f(from)g(the)g(\014rst)g
5454 (iterators\),)225 5209 y Fl(\017)60 b Fg(otl)27 b Fo(=)e(1)31
5455 b(\(simplify)f(lo)s(ops)g(running)f(only)i(once\).)225
5456 5340 y Fl(\017)60 b Fg(bl)r(ock)29 b Fo(=)c(0)30 b(\(do)h(not)g(mak)m
5457 (e)g(statemen)m(t)h(blo)s(c)m(ks)f(when)e(not)i(necessary\).)p
5458 eop end
5459 %%Page: 28 32
5460 TeXDict begin 28 31 bop 150 -116 a Fo(28)1544 b(CLo)s(oG)31
5461 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)225
5462 299 y Fl(\017)60 b Fg(cpp)25 b Fo(=)g(0)31 b(\(do)f(not)h(generate)h(a)
5463 f(compilable)g(part)f(of)h(co)s(de)g(using)e(prepro)s(cessor\).)225
5464 437 y Fl(\017)60 b Fg(compil)r(abl)r(e)26 b Fo(=)f(0)30
5465 b(\(do)h(not)g(generate)h(a)e(compilable)i(co)s(de\).)150
5466 710 y Fn(3.2)68 b(CLo)t(oG)45 b(F)-11 b(unctions)44 b(Description)150
5467 1057 y Fc(3.2.1)63 b(clo)s(og)p 748 1057 37 5 v 55 w(program)p
5468 1255 1057 V 55 w(generate)390 1276 y Fm(CloogProgram)140
5469 b(*)47 b(cloog_program_generate)390 1386 y(\()g(CloogProgram)e(*)i
5470 (program,)332 b(/*)47 b(Input)g(program.)e(*/)485 1495
5471 y(CloogOptions)g(*)i(options)380 b(/*)47 b(Options.)f(*/)390
5472 1605 y(\))h(;)150 1740 y Fo(The)40 b Fm(cloog_program_generate)35
5473 b Fo(function)41 b(generates)h(the)f(data)h(structure)e(of)h(the)h
5474 (source)f(co)s(de)150 1850 y(that)e(scans)f(the)h(input)e(p)s(olyhedra)
5475 g(p)s(oin)m(ted)h(b)m(y)g Fm(program)f Fo(according)i(to)g(the)f
5476 (options)h(p)s(oin)m(ted)f(b)m(y)150 1960 y Fm(options)p
5477 Fo(.)f(The)26 b(pro)s(cess)g(is)g(made)h(directly)f(on)h(the)f(input)f
5478 (structure)h(p)s(oin)m(ted)g(b)m(y)h Fm(program)p Fo(,)e(th)m(us)h(the)
5479 150 2069 y(original)31 b(structure)f(is)g(no)g(longer)h(a)m(v)-5
5480 b(ailable)33 b(after)e(a)f(call)i(to)f(this)f(function.)40
5481 b(It)30 b(returns)f(a)i(p)s(oin)m(ter)f(to)150 2179 y(a)h
5482 Fm(CloogProgram)c Fo(structure)j(con)m(taining)i(the)e(solution)h(in)f
5483 (CLo)s(oG)h(structures.)275 2320 y(The)25 b(input)g Fm(CloogProgram)d
5484 Fo(structure)k(m)m(ust)f(ha)m(v)m(e)i(only)f(one)g(lo)s(op)g(lev)m(el)i
5485 (\(no)e(inner)f(lo)s(ops\):)39 b(there)150 2429 y(is)j(one)g(lo)s(op)g
5486 (p)s(er)f(statemen)m(t)j(blo)s(c)m(k.)76 b(F)-8 b(or)43
5487 b(a)f(giv)m(en)h(blo)s(c)m(k,)j(the)c(corresp)s(onding)f(lo)s(op)h
5488 (carries)h(the)150 2539 y(iteration)33 b(domain,)g(the)e(statemen)m(t)j
5489 (blo)s(c)m(k,)f(and)e(a)h(lo)s(op)g(stride)g(initialized)h(to)g(1.)45
5490 b(F)-8 b(or)33 b(instance,)g(the)150 2649 y(input)26
5491 b Fm(CloogProgram)e Fo(structure)i(that)i(ha)m(v)m(e)g(b)s(een)e(sen)m
5492 (t)h(to)h Fm(cloog_program_generate)21 b Fo(to)28 b(ac)m(hiev)m(e)150
5493 2758 y(the)33 b(\014nal)g(structure)f(and)h(co)s(de)g(sho)m(wn)f(as)h
5494 (example)h(in)f(the)g Fm(CloogProgram)c Fo(structure)k(description)150
5495 2868 y(\(see)e(Section)h(3.1.9)g([Clo)s(ogProgram],)g(page)f(25\))g(w)m
5496 (as)g(the)g(follo)m(wing)h(one:)390 2986 y Fa(+--)40
5497 b(CloogProgram)390 3073 y(|)275 b(|)390 3161 y(|)g(Language:)41
5498 b(c)390 3248 y(|)275 b(|)390 3335 y(|)g(Scattering)41
5499 b(dimension)h(number:)e(0)390 3422 y(|)275 b(|)390 3509
5500 y(|)g(+--)40 b(CloogNames)390 3597 y(|)275 b(|)g(|)390
5501 3684 y(|)g(|)g(Scattering)41 b(dimension)g(number:)g(0)390
5502 3771 y(|)275 b(|)g(|)390 3858 y(|)g(|)g(+--)40 b(No)f(scattering)j
5503 (string)390 3945 y(|)275 b(|)g(|)390 4032 y(|)g(|)g(Iterator)41
5504 b(number)f(-----------:)i(2)390 4120 y(|)275 b(|)g(|)390
5505 4207 y(|)g(|)g(+--)40 b(Iterator)h(strings)f(------:)h(i)f(j)390
5506 4294 y(|)275 b(|)g(|)390 4381 y(|)g(|)g(Parameter)41
5507 b(number)g(----------:)g(1)390 4468 y(|)275 b(|)g(|)390
5508 4555 y(|)g(|)g(+--)40 b(Parameter)h(strings)g(-----:)f(n)390
5509 4643 y(|)275 b(|)390 4730 y(|)g(+--)40 b(Context)390
5510 4817 y(|)275 b(|)g([)157 b(1)196 b(1)157 b(-2)79 b(])390
5511 4904 y(|)275 b(|)390 4991 y(|)g(+--)40 b(CloogLoop)390
5512 5078 y(|)275 b(|)g(|)390 5166 y(|)g(|)g(+--)40 b(CloogDomain)390
5513 5253 y(|)275 b(|)g(|)f([)158 b(1)196 b(1)g(0)h(0)f(0)79
5514 b(])390 5340 y(|)275 b(|)g(|)f([)158 b(1)f(-1)196 b(0)h(1)f(0)79
5515 b(])p eop end
5516 %%Page: 29 33
5517 TeXDict begin 29 32 bop 150 -116 a Fo(Chapter)30 b(3:)41
5518 b(Using)30 b(the)h(CLo)s(oG)g(Library)2016 b(29)390 299
5519 y Fa(|)275 b(|)g(|)f([)158 b(1)196 b(0)g(1)h(0)f(0)79
5520 b(])390 386 y(|)275 b(|)g(|)f([)158 b(1)196 b(0)157 b(-1)197
5521 b(1)f(0)79 b(])390 473 y(|)275 b(|)g(|)390 560 y(|)g(|)g(Stride:)40
5522 b(1)390 648 y(|)275 b(|)g(|)390 735 y(|)g(|)g(+--)40
5523 b(CloogBlock)390 822 y(|)275 b(|)g(|)f(|)390 909 y(|)h(|)g(|)f(+--)40
5524 b(CloogStatement)j(1)390 996 y(|)275 b(|)g(|)f(|)393
5525 b(|)390 1083 y(|)275 b(|)g(|)f(|)393 b(V)390 1171 y(|)275
5526 b(|)g(|)f(|)118 b(CloogStatement)43 b(2)390 1258 y(|)275
5527 b(|)g(|)f(|)390 1345 y(|)h(|)g(|)f(+--)40 b(Null)h(scattering)g
5528 (function)390 1432 y(|)275 b(|)g(|)f(|)390 1519 y(|)h(|)g(|)f(Depth:)41
5529 b(2)390 1606 y(|)275 b(|)g(|)390 1694 y(|)g(|)g(V)390
5530 1781 y(|)g(|)118 b(CloogLoop)390 1868 y(|)275 b(|)g(|)390
5531 1955 y(|)g(|)g(+--)40 b(CloogDomain)390 2042 y(|)275
5532 b(|)g(|)f([)158 b(1)196 b(1)g(0)h(0)f(0)79 b(])390 2130
5533 y(|)275 b(|)g(|)f([)158 b(1)f(-1)196 b(0)h(1)f(0)79 b(])390
5534 2217 y(|)275 b(|)g(|)f([)158 b(1)196 b(0)g(1)157 b(-1)h(-1)79
5535 b(])390 2304 y(|)275 b(|)g(|)f([)158 b(1)196 b(0)157
5536 b(-1)197 b(2)f(0)79 b(])390 2391 y(|)275 b(|)g(|)390
5537 2478 y(|)g(|)g(Stride:)40 b(1)390 2565 y(|)275 b(|)g(|)390
5538 2653 y(|)g(|)g(+--)40 b(CloogBlock)390 2740 y(|)275 b(|)g(|)f(|)390
5539 2827 y(|)h(|)g(|)f(+--)40 b(CloogStatement)j(3)390 2914
5540 y(|)275 b(|)g(|)f(|)390 3001 y(|)h(|)g(|)f(+--)40 b(Null)h(scattering)g
5541 (function)390 3088 y(|)275 b(|)g(|)f(|)390 3176 y(|)h(|)g(|)f(Depth:)41
5542 b(2)390 3263 y(|)275 b(|)g(|)390 3350 y(|)g(|)390 3437
5543 y(|)150 4037 y Fc(3.2.2)63 b(clo)s(og)p 748 4037 37 5
5544 v 55 w(program)p 1255 4037 V 55 w(pprin)m(t)390 4256
5545 y Fm(void)47 b(cloog_program_pprint)390 4366 y(\()g(FILE)g(*)h(file,)
5546 857 b(/*)47 b(Output)g(file.)f(*/)485 4475 y(CloogProgram)f(*)i
5547 (program,)332 b(/*)47 b(Program)f(to)h(print.)g(*/)485
5548 4585 y(CloogOptions)e(*)i(options)380 b(/*)47 b(Options.)f(*/)390
5549 4694 y(\))h(;)150 5011 y Fo(The)25 b(function)h Fm
5550 (cloog_program_pprint)21 b Fo(is)26 b(a)g(prett)m(y)h(prin)m(ter)e(for)
5551 h Fm(CloogProgram)d Fo(structures)i(when)150 5121 y(it)43
5552 b(is)g(a)g(solution)h(pro)m(vided)e(b)m(y)h(the)g Fm
5553 (cloog_program_generate)37 b Fo(function.)77 b(It)43
5554 b(prin)m(ts)g(the)g(co)s(de)150 5230 y(or)35 b(pseudo-co)s(de)h(in)f
5555 (the)h(\014le)f(p)s(oin)m(ted)g(b)m(y)h Fm(file)e Fo(\(p)s(ossibly)h
5556 Fm(stdout)p Fo(\))f(with)h(regards)h(to)g(the)g(options)150
5557 5340 y(p)s(oin)m(ted)30 b(b)m(y)h Fm(options)p Fo(.)p
5558 eop end
5559 %%Page: 30 34
5560 TeXDict begin 30 33 bop 150 -116 a Fo(30)1544 b(CLo)s(oG)31
5561 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)150
5562 299 y Fc(3.2.3)63 b(clo)s(og)p 748 299 37 5 v 55 w(program)p
5563 1255 299 V 55 w(scatter)390 518 y Fm(void)47 b(cloog_program_scatter)
5564 390 628 y(\()g(CloogProgram)e(*)i(program,)332 b(/*)47
5565 b(Input)g(program.)e(*/)485 737 y(CloogDomainList)f(*)k(scattering,)c
5566 (/*)j(Additional)e(scattering)g(functions.)g(*/)485 847
5567 y(char)i(**)g(names)g(;)715 b(/*)47 b(Additional)e(dimension)h(names.)g
5568 (*/)390 956 y(\))h(;)150 1093 y Fo(The)38 b(function)h
5569 Fm(cloog_program_scatter)33 b Fo(applies)39 b(scattering)i(functions)d
5570 (to)i(the)f Fm(CloogProgram)150 1203 y Fo(structure)26
5571 b(p)s(oin)m(ted)h(b)m(y)g Fm(program)p Fo(.)38 b(Original)27
5572 b(domains)g(of)g Fm(program)e Fo(are)i(freed.)39 b(Scattering)28
5573 b(functions)150 1312 y(are)f(inside)g(the)g Fm(CloogDomainList)22
5574 b Fo(structure)27 b(p)s(oin)m(ted)f(b)m(y)h Fm(scattering)p
5575 Fo(.)37 b(There)26 b(m)m(ust)h(b)s(e)f(as)h(man)m(y)150
5576 1422 y(scattering)33 b(functions)e(in)g(the)g Fm(CloogDomainList)c
5577 Fo(structure)k(as)g(lo)s(ops)h(\(i.e.)44 b(iteration)33
5578 b(domains\))e(in)150 1532 y(the)g Fm(CloogProgram)c Fo(structure.)40
5579 b(The)30 b(\014rst)g(scattering)i(function)e(of)h(the)f(list)i(will)e
5580 (b)s(e)g(applied)h(to)g(the)150 1641 y(iteration)39 b(domain)e(of)h
5581 (the)f(\014rst)g(lo)s(op)g(in)g(the)h(program,)h(and)e(so)h(on.)61
5582 b Fm(names)36 b Fo(giv)m(es)j(the)e(scattering)150 1751
5583 y(dimension)20 b(names)h(as)g(an)f(arra)m(y)h(of)g(strings.)38
5584 b(If)20 b Fm(names)f Fo(is)i Fm(NULL)p Fo(,)g(names)g(are)g
5585 (automatically)j(generated:)150 1860 y(the)31 b(name)f(of)h(the)f
5586 Fg(n)864 1827 y Ff(th)962 1860 y Fo(scattering)i(dimension)e(will)h(b)s
5587 (e)e Fm(cn)p Fo(.)150 2100 y Fc(3.2.4)63 b(clo)s(og)p
5588 748 2100 V 55 w(program)p 1255 2100 V 55 w(read)390 2319
5589 y Fm(CloogProgram)44 b(*)k(cloog_program_read\(FILE)41
5590 b(*\))48 b(;)150 2461 y Fo(The)34 b Fm(cloog_program_read)c
5591 Fo(function)k(reads)h(the)g(program)f(data)i(from)e(a)h(CLo)s(oG)g
5592 (input)f(\014le)h(\(see)150 2571 y(Section)e(2.2)g([W)-8
5593 b(riting)34 b(The)e(Input)f(File],)j(page)f(6\).)48 b(It)32
5594 b(tak)m(es)i(as)e(input)g(a)g(p)s(oin)m(ter)g(to)i(the)e(\014le)g(it)h
5595 (has)150 2681 y(to)e(read)f(\(p)s(ossibly)g Fm(stdin)p
5596 Fo(\),)g(and)g(return)f(a)i(p)s(oin)m(ter)f(to)h(the)g(read)f
5597 Fm(CloogProgram)d Fo(structure.)150 2920 y Fc(3.2.5)63
5598 b(F)-10 b(rom)41 b(Matrices)g(to)g(Domains)h(and)f(Con)m(v)m(ersely)390
5599 3139 y Fm(CloogMatrix)k(*)i(cloog_domain_domain2matri)o(x\(Cl)o(oog)o
5600 (Doma)o(in)42 b(*\))47 b(;)390 3249 y(CloogDomain)e(*)i
5601 (cloog_domain_matrix2domai)o(n\(Cl)o(oog)o(Matr)o(ix)42
5602 b(*\))47 b(;)150 3391 y Fo(Tw)m(o)34 b(functions)g(are)h(pro)m(vided)f
5603 (to)h(translate)g(a)g Fm(CloogDomain)c Fo(data)k(structure)f(to)h(a)g
5604 Fm(CloogMatrix)150 3501 y Fo(data)29 b(structure)f(and)f(con)m(v)m
5605 (ersely)-8 b(.)42 b(Eac)m(h)29 b(function)f(tak)m(es)i(as)e(input)f(a)i
5606 (p)s(oin)m(ter)f(to)h(the)g(data)f(structure)150 3610
5607 y(to)37 b(translate)g(and)e(returns)g(as)i(output)e(a)i(p)s(oin)m(ter)f
5608 (to)g(the)h(translated)f(data)h(structure.)57 b(The)36
5609 b(input)150 3720 y(data)43 b(structure)f(if)g(neither)g(mo)s(di\014ed)f
5610 (nor)h(freed.)76 b(They)41 b(ma)m(y)i(b)s(e)f(quite)h(useful)e(for)h
5611 (e.g.)77 b(prett)m(y)150 3830 y(prin)m(ting)30 b(since)h(it)g(is)f
5612 (more)h(con)m(v)m(enien)m(t)h(in)e(constrain)m(t)i(\(matrix\))f
5613 (represen)m(tation.)150 4069 y Fc(3.2.6)63 b(Allo)s(cation)41
5614 b(and)g(Initialization)f(F)-10 b(unctions)390 4288 y
5615 Fm(CloogStructure)44 b(*)j(cloog_structure_malloc\(\))42
5616 b(;)150 4431 y Fo(Eac)m(h)35 b(CLo)s(oG)g(data)g(structure)g(has)f(an)h
5617 (allo)s(cation)i(and)d(initialization)j(function)e(as)f(sho)m(wn)g(ab)s
5618 (o)m(v)m(e,)150 4540 y(where)28 b Fm(Structure)e Fo(and)i
5619 Fm(structure)e Fo(ha)m(v)m(e)k(to)f(b)s(e)f(replaced)h(b)m(y)f(the)h
5620 (name)g(of)g(the)f(con)m(v)m(enien)m(t)j(struc-)150 4650
5621 y(ture)42 b(\(without)h(`)p Fm(Cloog)p Fo(')f(pre\014x\))g(for)g
5622 (instance)h Fm(CloogLoop)28 b(*)i(cloog_loop_malloc\(\))25
5623 b(;)p Fo(.)77 b(These)150 4759 y(functions)42 b(return)g(p)s(oin)m
5624 (ters)h(to)g(an)g(allo)s(cated)i(structure)d(with)h(\014elds)f(set)h
5625 (to)h(con)m(v)m(enien)m(t)h(default)150 4869 y(v)-5 b(alues.)50
5626 b Fh(Using)34 b(those)g(functions)f(is)g(mandatory)h
5627 Fo(to)g(supp)s(ort)d(in)m(ternal)k(managemen)m(t)f(\014elds)f(and)g(to)
5628 150 4979 y(a)m(v)m(oid)d(up)m(w)m(ard)e(compatibilit)m(y)k(problems)c
5629 (if)h(new)f(\014elds)g(app)s(ear.)40 b(An)29 b(exception)h(is)f
5630 Fm(cloog_matrix_)150 5088 y(malloc)i Fo(since)i(the)g
5631 Fm(CloogMatrix)d Fo(comes)j(directly)h(from)e(the)h(P)m(olyLib.)48
5632 b(It)33 b(tak)m(es)h(t)m(w)m(o)g(parameters:)150 5198
5633 y(the)d(n)m(um)m(b)s(er)e(of)h(ro)m(ws)h(and)e(columns)h(of)h(the)f
5634 (matrix)h(w)m(e)g(w)m(an)m(t)g(to)g(allo)s(cate:)390
5635 5340 y Fm(CloogMatrix)45 b(*)i(cloog_matrix_malloc\(unsig)o(ned)41
5636 b(nbrows,)46 b(unsigned)g(nbcolumns\);)p eop end
5637 %%Page: 31 35
5638 TeXDict begin 31 34 bop 150 -116 a Fo(Chapter)30 b(3:)41
5639 b(Using)30 b(the)h(CLo)s(oG)g(Library)2016 b(31)150 299
5640 y Fc(3.2.7)63 b(Memory)41 b(Deallo)s(cation)h(F)-10 b(unctions)390
5641 518 y Fm(void)47 b(cloog_structure_free\(Cl)o(oogS)o(tru)o(ctur)o(e)42
5642 b(*\))47 b(;)150 649 y Fo(Eac)m(h)31 b(CLo)s(oG)f(data)g(structure)g
5643 (has)g(a)g(deallo)s(cation)i(function)e(as)g(sho)m(wn)f(ab)s(o)m(v)m
5644 (e,)j(where)d Fm(Structure)150 759 y Fo(and)45 b Fm(structure)d
5645 Fo(ha)m(v)m(e)k(to)g(b)s(e)f(replaced)g(b)m(y)h(the)f(name)g(of)g(the)h
5646 (con)m(v)m(enien)m(t)h(structure)e(\(without)150 868
5647 y(`)p Fm(Cloog)p Fo(')31 b(pre\014x\))g(for)h(instance)g
5648 Fm(void)e(cloog_loop_free\(CloogLo)o(op)24 b(*\))30 b(;)p
5649 Fo(.)45 b(These)31 b(functions)h(free)150 978 y(the)j(allo)s(cated)h
5650 (memory)e(for)g(the)h(structure)f(pro)m(vided)g(as)g(input.)52
5651 b(They)34 b(free)g(memory)h(recursiv)m(ely)-8 b(,)150
5652 1088 y(i.e.)48 b(they)33 b(also)g(free)g(the)f(allo)s(cated)j(memory)d
5653 (for)g(the)h(in)m(ternal)g(structures.)47 b Fh(Using)32
5654 b(those)h(functions)150 1197 y(is)j(mandatory)f Fo(to)i(a)m(v)m(oid)g
5655 (memory)e(leaks)i(on)f(in)m(ternal)g(managemen)m(t)h(\014elds)e(and)g
5656 (to)i(a)m(v)m(oid)g(up)m(w)m(ard)150 1307 y(compatibilit)m(y)c
5657 (problems)c(if)i(new)e(\014elds)h(app)s(ear.)150 1521
5658 y Fc(3.2.8)63 b(Prin)m(ting)41 b(F)-10 b(unctions)390
5659 1740 y Fm(void)47 b(cloog_structure_print\(F)o(ILE)41
5660 b(*,)47 b(CloogStructure)d(*\))k(;)150 1871 y Fo(Eac)m(h)29
5661 b(CLo)s(oG)g(data)h(structure)e(has)h(a)g(prin)m(ting)g(function)f(as)h
5662 (sho)m(wn)f(ab)s(o)m(v)m(e,)j(where)d Fm(Structure)f
5663 Fo(and)150 1981 y Fm(structure)18 b Fo(ha)m(v)m(e)k(to)f(b)s(e)f
5664 (replaced)h(b)m(y)f(the)h(name)g(of)f(the)h(con)m(v)m(enien)m(t)i
5665 (structure)d(\(without)h(`)p Fm(Cloog)p Fo(')e(pre-)150
5666 2090 y(\014x\))32 b(for)g(instance)h Fm(void)c(cloog_loop_print\(FILE)c
5667 (*,)k(CloogLoop)f(*\))i(;)p Fo(.)46 b(These)32 b(functions)f(prin)m(t)
5668 150 2200 y(the)44 b(p)s(oin)m(ted)f(structure)g(\(and)g(its)g(\014elds)
5669 g(recursiv)m(ely\))i(to)f(the)f(\014le)h(pro)m(vided)f(as)g(input)f
5670 (\(p)s(ossibly)150 2310 y Fm(stdout)p Fo(\).)150 2557
5671 y Fn(3.3)68 b(Example)46 b(of)f(Library)g(Utilization)275
5672 2798 y Fo(Here)32 b(is)h(a)f(basic)h(example)g(sho)m(wing)f(ho)m(w)h
5673 (it)f(is)h(p)s(ossible)e(to)i(use)f(the)h(CLo)s(oG)f(library)-8
5674 b(,)33 b(assuming)150 2907 y(that)c(a)f(standard)f(installation)j(has)e
5675 (b)s(een)f(done.)40 b(The)28 b(follo)m(wing)h(C)f(program)f(reads)h(a)h
5676 (CLo)s(oG)f(input)150 3017 y(\014le)36 b(on)g(the)h(standard)e(input,)i
5677 (then)f(prin)m(ts)f(the)i(solution)f(on)g(the)h(standard)e(output.)58
5678 b(Options)36 b(are)150 3127 y(preselected)f(to)g(the)f(default)h(v)-5
5679 b(alues)34 b(of)g(the)g(CLo)s(oG)h(soft)m(w)m(are.)53
5680 b(This)33 b(example)i(is)f(pro)m(vided)g(in)g(the)150
5681 3236 y Fm(example)28 b Fo(directory)j(of)g(the)f(CLo)s(oG)h
5682 (distribution.)390 3367 y Fm(/*)47 b(example.c)e(*/)390
5683 3477 y(#)i(include)f(<stdio.h>)390 3587 y(#)h(include)f
5684 (<cloog/cloog.h>)390 3806 y(int)h(main\(\))390 3915 y({)g(CloogProgram)
5685 e(*)i(program)f(;)485 4025 y(CloogOptions)f(*)i(options)f(;)485
5686 4244 y(/*)i(Setting)d(options)h(and)h(reading)f(program)g
5687 (informations.)e(*/)485 4354 y(options)i(=)i(cloog_options_malloc\(\))
5688 41 b(;)485 4463 y(program)46 b(=)i(cloog_program_read\(stdi)o(n,op)o
5689 (tion)o(s\))41 b(;)485 4682 y(/*)48 b(Generating)d(and)i(printing)e
5690 (the)i(code.)f(*/)485 4792 y(program)g(=)i(cloog_program_generate\()o
5691 (prog)o(ram,)o(opt)o(ions)o(\))42 b(;)485 4902 y
5692 (cloog_program_pprint\(stdou)o(t,pr)o(ogr)o(am,o)o(ptio)o(ns\))f(;)485
5693 5121 y(cloog_options_free\(options)o(\))h(;)485 5230
5694 y(cloog_program_free\(program)o(\))g(;)485 5340 y(return)47
5695 b(0;)p eop end
5696 %%Page: 32 36
5697 TeXDict begin 32 35 bop 150 -116 a Fo(32)1544 b(CLo)s(oG)31
5698 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)390
5699 299 y Fm(})150 433 y Fo(The)g(compilation)i(command)e(could)g(b)s(e:)
5700 390 568 y Fm(gcc)47 b(example.c)e(-lcloog)h(-o)h(example)150
5701 702 y Fo(A)30 b(calling)i(command)f(with)f(the)g(input)g(\014le)g
5702 (test.clo)s(og)j(could)e(b)s(e:)390 837 y Fm(more)47
5703 b(test.cloog)e(|)i(./example)p eop end
5704 %%Page: 33 37
5705 TeXDict begin 33 36 bop 150 -116 a Fo(Chapter)30 b(4:)41
5706 b(Installing)31 b(CLo)s(oG)2355 b(33)150 299 y Fk(4)80
5707 b(Installing)53 b(CLo)t(oG)150 665 y Fn(4.1)68 b(License)275
5708 912 y Fo(First)35 b(of)g(all,)j(it)e(w)m(ould)f(b)s(e)f(v)m(ery)i(kind)
5709 e(to)i(refer)f(the)h(follo)m(wing)g(pap)s(er)e(in)h(an)m(y)h
5710 (publication)f(that)150 1021 y(result)25 b(from)f(the)i(use)e(of)h(the)
5711 g(CLo)s(oG)h(soft)m(w)m(are)g(or)f(its)g(library)-8 b(,)27
5712 b(see)e([Bas04],)k(page)c(39)h(\(a)g(bibtex)f(en)m(try)150
5713 1131 y(is)36 b(pro)m(vided)g(b)s(ehind)f(the)i(title)h(page)f(of)f
5714 (this)h(man)m(ual,)h(along)f(with)g(cop)m(yrigh)m(t)g(notice,)j(and)c
5715 (in)g(the)150 1240 y(CLo)s(oG)31 b(home)f Fm(http://www.CLooG.org)p
5716 Fo(.)275 1377 y(This)f(program)h(is)g(free)h(soft)m(w)m(are;)h(y)m(ou)e
5717 (can)h(redistribute)f(it)g(and/or)h(mo)s(dify)e(it)i(under)e(the)h
5718 (terms)150 1486 y(of)36 b(the)g(GNU)g(General)h(Public)e(License)i(v)m
5719 (ersion)f(2)g(as)g(published)e(b)m(y)i(the)g(F)-8 b(ree)37
5720 b(Soft)m(w)m(are)g(F)-8 b(ounda-)150 1596 y(tion.)47
5721 b(This)31 b(program)h(is)g(distributed)g(in)f(the)i(hop)s(e)e(that)i
5722 (it)g(will)f(b)s(e)g(useful,)g(but)g(WITHOUT)f(ANY)150
5723 1706 y(W)-10 b(ARRANTY;)33 b(without)g(ev)m(en)g(the)f(implied)h(w)m
5724 (arran)m(t)m(y)g(of)g(MER)m(CHANT)-8 b(ABILITY)33 b(or)f(FITNESS)150
5725 1815 y(F)m(OR)e(A)g(P)-8 b(AR)g(TICULAR)30 b(PURPOSE.)f(See)h(the)g
5726 (GNU)g(General)h(Public)f(License)g(for)g(more)g(details.)150
5727 1925 y Fm(http://www.gnu.org/copyl)o(eft/)o(gpl.)o(htm)o(l)150
5728 2187 y Fn(4.2)68 b(Requiremen)l(ts)150 2525 y Fc(4.2.1)63
5729 b(P)m(olyLib)40 b(\(mandatory\))275 2772 y Fo(T)-8 b(o)33
5730 b(successfully)h(install)g(CLo)s(oG,)g(the)f(user)g(need)g(\014rstly)g
5731 (to)h(install)h(P)m(olyLib)e(v)m(ersion)h(5.22.1)i(or)150
5732 2881 y(ab)s(o)m(v)m(e)k(\(default)g(64)f(bits)g(v)m(ersion)h(is)e
5733 (satisfying)i(as)f(w)m(ell)h(as)f(32)h(bits)f(or)g(GMP)g(m)m(ultiple)h
5734 (precision)150 2991 y(v)m(ersion\).)65 b(P)m(olylib)39
5735 b(can)g(b)s(e)e(do)m(wnloaded)h(freely)h(at)g Fm
5736 (http://icps.u-strasbg.fr)o(/Po)o(lyLi)o(b/)32 b Fo(or)150
5737 3100 y Fm(http://www.irisa.fr/poly)o(lib/)o Fo(.)64 b(Once)40
5738 b(do)m(wnloaded)g(and)f(unpac)m(k)m(ed)h(\(e.g.)71 b(using)39
5739 b(the)i(`)p Fm(tar)150 3210 y(-zxvf)29 b(polylib-5.22.1.tar.gz)p
5740 Fo(')19 b(command\),)25 b(the)g(user)e(can)i(compile)g(it)f(b)m(y)g(t)m
5741 (yping)h(the)f(follo)m(wing)150 3320 y(commands)30 b(on)g(the)h(P)m
5742 (olyLib's)g(ro)s(ot)g(directory:)225 3456 y Fl(\017)60
5743 b Fm(./configure)225 3592 y Fl(\017)g Fm(make)225 3727
5744 y Fl(\017)g Fo(And)29 b(as)i(ro)s(ot:)41 b Fm(make)29
5745 b(install)275 3890 y Fo(The)i(P)m(olyLib)h(default)g(installation)i(is)
5746 e Fm(/usr/local)p Fo(.)42 b(This)31 b(directory)i(ma)m(y)f(not)g(b)s(e)
5747 f(inside)h(y)m(our)150 3999 y(library)e(path.)40 b(T)-8
5748 b(o)31 b(\014x)f(the)h(problem,)f(the)g(user)g(should)f(set)390
5749 4136 y Fm(export)46 b(LD_LIBRARY_PATH=$LD_LIBRA)o(RY_)o(PATH)o(:/us)o
5750 (r/l)o(ocal)o(/lib)150 4273 y Fo(if)30 b(y)m(our)h(shell)f(is,)h(e.g.,)
5751 h(bash)d(or)390 4409 y Fm(setenv)46 b(LD_LIBRARY_PATH)e
5752 ($LD_LIBRARY_PATH:/usr/l)o(ocal)o(/lib)150 4546 y Fo(if)22
5753 b(y)m(our)g(shell)g(is,)h(e.g.,)i(tcsh.)38 b(Add)21 b(the)h(line)g(to)h
5754 (y)m(our)f(.bashrc)f(or)h(.tcshrc)g(\(or)g(whatev)m(er)h(con)m(v)m
5755 (enien)m(t)g(\014le\))150 4655 y(to)g(mak)m(e)g(this)f(c)m(hange)i(p)s
5756 (ermanen)m(t.)37 b(Another)23 b(solution)f(is)h(to)g(ask)f(P)m(olyLib)h
5757 (to)g(install)g(in)f(the)h(standard)150 4765 y(path)30
5758 b(b)m(y)g(using)g(the)h(pre\014x)e(option)i(of)f(the)h(con\014gure)f
5759 (script:)41 b(`)p Fm(./configure)27 b(--prefix=/usr)p
5760 Fo('.)275 4902 y(CLo)s(oG)40 b(mak)m(es)i(in)m(tensiv)m(e)g(calls)f(to)
5761 h(p)s(olyhedral)e(op)s(erations,)j(and)d(P)m(olyLib)h(functions)f(do)h
5762 (the)150 5011 y(job.)52 b(P)m(olylib)36 b(is)e(a)h(free)f(library)g
5763 (written)h(in)f(C)g(for)g(the)h(manipulation)f(of)h(p)s(olyhedra.)51
5764 b(The)34 b(library)150 5121 y(is)k(op)s(erating)g(on)f(ob)5
5765 b(jects)38 b(lik)m(e)h(v)m(ectors,)i(matrices,)g(lattices,)h(p)s
5766 (olyhedra,)d(Z-p)s(olyhedra,)f(unions)f(of)150 5230 y(p)s(olyhedra)43
5767 b(and)h(a)g(lot)i(of)e(other)g(in)m(termediary)h(structures.)82
5768 b(It)44 b(pro)m(vides)g(functions)g(for)g(all)h(the)150
5769 5340 y(imp)s(ortan)m(t)31 b(op)s(erations)f(on)g(these)h(structures.)p
5770 eop end
5771 %%Page: 34 38
5772 TeXDict begin 34 37 bop 150 -116 a Fo(34)1544 b(CLo)s(oG)31
5773 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)150
5774 299 y Fc(4.2.2)63 b(GMP)41 b(Library)g(\(optional\))275
5775 543 y Fo(T)-8 b(o)31 b(b)s(e)f(able)i(to)g(deal)f(with)g(insanely)g
5776 (large)h(co)s(e\016cien)m(t,)i(the)d(user)f(will)i(need)e(to)i(install)
5777 g(the)f(GNU)150 652 y(Multiple)h(Precision)g(Library)f(\(GMP)h(for)g
5778 (short\))f(v)m(ersion)h(4.1.4)i(or)d(ab)s(o)m(v)m(e.)46
5779 b(It)31 b(can)h(b)s(e)f(freely)h(do)m(wn-)150 762 y(loaded)i(from)g
5780 Fm(http://www.swox.com/gmp)o Fo(.)45 b(The)33 b(user)g(can)i(compile)f
5781 (it)h(b)m(y)e(t)m(yping)h(the)g(follo)m(wing)150 872
5782 y(commands)c(on)g(the)h(GMP)g(ro)s(ot)f(directory:)225
5783 1006 y Fl(\017)60 b Fm(./configure)225 1141 y Fl(\017)g
5784 Fm(make)225 1275 y Fl(\017)g Fo(And)29 b(as)i(ro)s(ot:)41
5785 b Fm(make)29 b(install)275 1434 y Fo(The)39 b(GMP)i(default)f
5786 (installation)i(is)e Fm(/usr/local)p Fo(,)g(the)g(same)g(metho)s(d)g
5787 (to)h(\014x)e(a)i(library)e(path)150 1544 y(problem)30
5788 b(applies)g(as)h(with)f(P)m(olyLib)h(\(see)g(Section)g(4.2.1)i([P)m
5789 (olyLib],)e(page)g(33\).)275 1678 y(The)63 b(P)m(olyLib)i(has)f(to)h(b)
5790 s(e)e(built)h(using)g(the)g(GMP)g(library)g(b)m(y)g(sp)s(ecifying)g
5791 (the)g(option)150 1788 y(`)p Fm(--with-libgmp=PATH_TO_GMP)o
5792 Fo(')45 b(to)51 b(the)g(P)m(olyLib)g(con\014gure)f(script)g(\(where)h
5793 Fm(PATH_TO_GMP)c Fo(is)150 1897 y Fm(/usr/local)30 b
5794 Fo(if)j(y)m(ou)g(did)f(not)i(c)m(hange)g(the)f(GMP)g(installation)i
5795 (directory\).)49 b(Then)32 b(y)m(ou)i(ha)m(v)m(e)g(to)f(set)150
5796 2007 y(the)j(con)m(v)m(enien)m(t)i(CLo)s(oG)d(con\014gure)h(script)f
5797 (options)h(to)h(buid)d(the)i(GMP)g(v)m(ersion)g(\(see)g(Section)h(4.4)
5798 150 2117 y([Optional)31 b(F)-8 b(eatures],)32 b(page)f(34\).)150
5799 2374 y Fn(4.3)68 b(CLo)t(oG)45 b(Basic)g(Installation)275
5800 2618 y Fo(Once)22 b(do)m(wnloaded)g(and)f(unpac)m(k)m(ed)h(\(e.g.)40
5801 b(using)21 b(the)h(`)p Fm(tar)30 b(-zxvf)f(cloog-0.14.0.tar.gz)p
5802 Fo(')17 b(com-)150 2727 y(mand\),)37 b(y)m(ou)f(can)g(compile)h(CLo)s
5803 (oG)f(b)m(y)g(t)m(yping)g(the)g(follo)m(wing)h(commands)f(on)f(the)h
5804 (CLo)s(oG's)h(ro)s(ot)150 2837 y(directory:)225 2971
5805 y Fl(\017)60 b Fm(./configure)225 3106 y Fl(\017)g Fm(make)225
5806 3240 y Fl(\017)g Fo(And)29 b(as)i(ro)s(ot:)41 b Fm(make)29
5807 b(install)275 3400 y Fo(Dep)s(ending)40 b(on)i(the)f(lo)s(cation)i(of)f
5808 (the)f(P)m(olyLib,)k(y)m(ou)d(ma)m(y)g(need)f(to)h(set)g(the)g(option)g
5809 Fm(--with-)150 3509 y(polylib)32 b Fo(of)j(the)f(con\014gure)g(script)g
5810 (\(e.g.)54 b(`)p Fm(./configure)28 b(--with-polylib=/usr/loca)o(l)p
5811 Fo(')h(with)34 b(a)150 3619 y(default)d(P)m(olyLib)f(installation\).)
5812 275 3753 y(The)c(program)h(binaries)g(and)g(ob)5 b(ject)28
5813 b(\014les)g(can)f(b)s(e)g(remo)m(v)m(ed)h(from)f(the)g(source)h(co)s
5814 (de)f(directory)h(b)m(y)150 3863 y(t)m(yping)i Fm(make)f(clean)p
5815 Fo(.)39 b(T)-8 b(o)30 b(also)g(remo)m(v)m(e)h(the)e(\014les)g(that)h
5816 (the)g Fm(configure)d Fo(script)i(created)h(\(so)g(y)m(ou)g(can)150
5817 3972 y(compile)h(the)g(pac)m(k)-5 b(age)32 b(for)e(a)h(di\013eren)m(t)g
5818 (kind)f(of)g(computer\))h(t)m(yp)s(e)f Fm(make)g(distclean)p
5819 Fo(.)275 4107 y(Both)i(the)g(CLo)s(oG)f(soft)m(w)m(are)i(and)e(library)
5820 h(ha)m(v)m(e)h(b)s(een)d(successfully)i(compiled)g(on)g(the)f(follo)m
5821 (wing)150 4216 y(systems:)225 4351 y Fl(\017)60 b Fo(PC's)30
5822 b(under)f(Lin)m(ux,)h(with)g(the)g Fm(gcc)g Fo(compiler,)225
5823 4485 y Fl(\017)60 b Fo(PC's)30 b(under)f(Windo)m(ws)h(\(Cygwin\),)h
5824 (with)f(the)h Fm(gcc)e Fo(compiler,)225 4620 y Fl(\017)60
5825 b Fo(Sparc)30 b(and)g(UltraSparc)g(Stations,)h(with)g(the)f
5826 Fm(gcc)g Fo(compiler.)150 4877 y Fn(4.4)68 b(Optional)46
5827 b(F)-11 b(eatures)275 5121 y Fo(The)20 b Fm(configure)f
5828 Fo(shell)i(script)g(attempts)h(to)g(guess)f(correct)i(v)-5
5829 b(alues)21 b(for)g(v)-5 b(arious)21 b(system-dep)s(enden)m(t)150
5830 5230 y(v)-5 b(ariables)45 b(and)e(user)g(options)h(used)g(during)e
5831 (compilation.)83 b(It)44 b(uses)g(those)g(v)-5 b(alues)45
5832 b(to)f(create)i(the)150 5340 y Fm(Makefile)p Fo(.)55
5833 b(V)-8 b(arious)37 b(user)f(options)g(are)g(pro)m(vided)g(b)m(y)g(the)g
5834 (CLo)s(oG's)h(con\014gure)e(script.)58 b(They)36 b(are)p
5835 eop end
5836 %%Page: 35 39
5837 TeXDict begin 35 38 bop 150 -116 a Fo(Chapter)30 b(4:)41
5838 b(Installing)31 b(CLo)s(oG)2355 b(35)150 299 y(summarized)27
5839 b(in)h(the)g(follo)m(wing)i(list)e(and)g(ma)m(y)g(b)s(e)g(prin)m(ted)f
5840 (b)m(y)h(t)m(yping)g Fm(./configure)g(--help)e Fo(in)i(the)150
5841 408 y(CLo)s(oG)j(top-lev)m(el)h(directory)-8 b(.)225
5842 543 y Fl(\017)60 b Fo(By)43 b(default,)j(the)d(installation)h
5843 (directory)f(is)g Fm(/usr/local)p Fo(:)62 b Fm(make)29
5844 b(install)40 b Fo(will)j(install)h(the)330 653 y(pac)m(k)-5
5845 b(age's)38 b(\014les)e(in)g Fm(/usr/local/bin)p Fo(,)d
5846 Fm(/usr/local/lib)g Fo(and)i Fm(/usr/local/include)p
5847 Fo(.)52 b(The)330 762 y(user)27 b(can)g(sp)s(ecify)g(an)g(installation)
5848 i(pre\014x)e(other)g(than)g Fm(/usr/local)e Fo(b)m(y)i(giving)h
5849 Fm(configure)d Fo(the)330 872 y(option)31 b Fm(--prefix=PATH)p
5850 Fo(.)225 1006 y Fl(\017)60 b Fo(By)48 b(default,)53 b
5851 Fm(configure)45 b Fo(will)k(lo)s(ok)f(for)g(the)g(P)m(olyLib)g(in)g
5852 (standard)f(lo)s(cations.)95 b(If)47 b(neces-)330 1116
5853 y(sary)-8 b(,)36 b(the)e(user)g(can)g(sp)s(ecify)g(the)g(P)m(olyLib)h
5854 (path)f(b)m(y)g(giving)h Fm(configure)d Fo(the)i(option)h
5855 Fm(--with-)330 1225 y(polylib=PATH)p Fo(.)225 1360 y
5856 Fl(\017)60 b Fo(By)37 b(default,)i(b)s(oth)d(CLo)s(oG)h(soft)m(w)m(are)
5857 h(and)e(library)g(are)h(compiled)g(and)g(installed.)60
5858 b(By)37 b(giving)330 1469 y Fm(configure)25 b Fo(the)j(option)h
5859 Fm(--without-cloog)23 b Fo(the)28 b(user)g(disable)g(the)g(compilation)
5860 h(and)e(installa-)330 1579 y(tion)i(of)g(the)g(CLo)s(oG)g(soft)m(w)m
5861 (are.)42 b(By)29 b(giving)g Fm(configure)d Fo(the)j(option)h
5862 Fm(--without-lib)25 b Fo(the)k(user)330 1689 y(disable)i(the)f
5863 (compilation)i(and)e(installation)i(of)f(the)f(CLo)s(oG)h(library)-8
5864 b(.)225 1823 y Fl(\017)60 b Fo(By)39 b(default,)i(CLo)s(oG)d(is)h
5865 (built)f(in)g(64bits)h(v)m(ersion)g(if)g(suc)m(h)f(v)m(ersion)h(of)f
5866 (the)h(P)m(olyLib)g(is)f(found)330 1933 y(b)m(y)c Fm(configure)p
5867 Fo(.)51 b(If)34 b(the)h(only)g(existing)g(v)m(ersion)g(of)g(the)g(P)m
5868 (olyLib)g(is)g(the)f(32bits)i(or)e(if)h(the)g(user)330
5869 2042 y(giv)m(e)j(to)g Fm(configure)c Fo(the)j(option)h
5870 Fm(--with-bits=32)p Fo(,)c(the)j(32bits)h(v)m(ersion)f(of)g(CLo)s(oG)g
5871 (will)h(b)s(e)330 2152 y(compiled.)j(In)29 b(the)h(same)h(w)m(a)m(y)-8
5872 b(,)31 b(the)f(option)h Fm(--with-bits=gmp)25 b Fo(ha)m(v)m(e)31
5873 b(to)g(b)s(e)e(used)g(to)i(build)e(the)330 2262 y(m)m(ultiple)i
5874 (precision)g(v)m(ersion.)225 2396 y Fl(\017)60 b Fo(By)32
5875 b(default,)g Fm(configure)d Fo(will)j(lo)s(ok)g(for)g(the)f(GMP)h
5876 (library)f(\(necessary)i(to)f(build)f(the)g(m)m(ultiple)330
5877 2506 y(precision)37 b(v)m(ersion\))h(in)e(standard)g(lo)s(cations.)62
5878 b(If)36 b(necessary)-8 b(,)40 b(the)d(user)f(can)h(sp)s(ecify)f(the)h
5879 (GMP)330 2615 y(path)30 b(b)m(y)g(giving)i Fm(configure)27
5880 b Fo(the)k(option)g Fm(--with-gmp=PATH)p Fo(.)150 2873
5881 y Fn(4.5)68 b(Uninstallation)275 3117 y Fo(The)31 b(user)h(can)h
5882 (easily)g(remo)m(v)m(e)h(the)e(CLo)s(oG)h(soft)m(w)m(are)h(and)d
5883 (library)h(from)g(his)g(system)g(b)m(y)g(t)m(yping)150
5884 3226 y(\(as)f(ro)s(ot)g(if)f(necessary\))h(from)f(the)h(CLo)s(oG)f
5885 (top-lev)m(el)j(directory)e Fm(make)e(uninstall)p Fo(.)p
5886 eop end
5887 %%Page: 36 40
5888 TeXDict begin 36 39 bop 150 -116 a Fo(36)1544 b(CLo)s(oG)31
5889 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)p
5890 eop end
5891 %%Page: 37 41
5892 TeXDict begin 37 40 bop 150 -116 a Fo(Chapter)30 b(5:)41
5893 b(Do)s(cumen)m(tation)2436 b(37)150 299 y Fk(5)80 b(Do)t(cumen)l
5894 (tation)275 533 y Fo(The)28 b(CLo)s(oG)h(distribution)f(pro)m(vides)g
5895 (sev)m(eral)i(do)s(cumen)m(tation)g(sources.)40 b(First,)30
5896 b(the)f(source)g(co)s(de)150 643 y(itself)i(is)f(as)h(do)s(cumen)m(ted)
5897 f(as)g(p)s(ossible.)40 b(The)30 b(co)s(de)g(commen)m(ts)h(use)f(a)h(Do)
5898 m(xygen-compatible)i(presen-)150 752 y(tation)f(\(something)f(similar)f
5899 (to)h(what)f(Ja)m(v)-5 b(aDo)s(c)32 b(do)s(es)e(for)g(JA)-10
5900 b(V)g(A\).)31 b(The)f(user)f(ma)m(y)i(install)g(Do)m(xygen)150
5901 862 y(\(see)26 b Fm(http://www.stack.nl/~di)o(mit)o(ri/d)o(oxyg)o(en)p
5902 Fo(\))19 b(to)25 b(automatically)i(generate)f(a)f(tec)m(hnical)i(do)s
5903 (c-)150 971 y(umen)m(tation)i(b)m(y)f(t)m(yping)g Fm(make)h(doc)e
5904 Fo(or)h Fm(doxygen)g(./autoconf/Doxyfile)23 b Fo(at)29
5905 b(the)f(CLo)s(oG)g(top-lev)m(el)150 1081 y(directory)40
5906 b(after)g(running)d(the)j(con\014gure)f(script)g(\(see)i(Chapter)e(4)g
5907 ([Installing],)k(page)d(33\).)69 b(Do)m(xy-)150 1191
5908 y(gen)34 b(will)g(generate)h(do)s(cumen)m(tation)f(sources)g(\(in)f
5909 (HTML,)h(LaT)-8 b(eX)34 b(and)f(man\))h(in)f(the)h Fm(doc/source)150
5910 1300 y Fo(directory)d(of)f(the)h(CLo)s(oG)g(distribution.)275
5911 1435 y(The)25 b(T)-8 b(exinfo)26 b(sources)f(of)h(the)g(presen)m(t)g
5912 (do)s(cumen)m(t)f(are)h(also)h(pro)m(vided)e(in)h(the)g
5913 Fm(doc)e Fo(directory)-8 b(.)40 b(Y)-8 b(ou)150 1544
5914 y(can)38 b(build)e(it)i(in)g(either)g(D)m(VI)g(format)g(\(b)m(y)g(t)m
5915 (yping)g Fm(texi2dvi)28 b(cloog.texi)p Fo(\))35 b(or)j(PDF)g(format)g
5916 (\(b)m(y)150 1654 y(t)m(yping)27 b Fm(texi2pdf)h(cloog.texi)p
5917 Fo(\))d(or)i(HTML)f(format)h(\(b)m(y)g(t)m(yping)h Fm(makeinfo)g
5918 (--html)g(cloog.texi)p Fo(,)150 1763 y(using)21 b Fm(--no-split)d
5919 Fo(option)j(to)h(generate)h(a)e(single)h(HTML)f(\014le\))g(or)g(info)g
5920 (format)g(\(b)m(y)h(t)m(yping)f Fm(makeinfo)150 1873
5921 y(cloog.texi)p Fo(\).)p eop end
5922 %%Page: 38 42
5923 TeXDict begin 38 41 bop 150 -116 a Fo(38)1544 b(CLo)s(oG)31
5924 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)p
5925 eop end
5926 %%Page: 39 43
5927 TeXDict begin 39 42 bop 150 -116 a Fo(Chapter)30 b(6:)41
5928 b(References)2626 b(39)150 299 y Fk(6)80 b(References)330
5929 533 y Fo([Bas03a])35 b(C.)d(Bastoul,)i(P)-8 b(.)33 b(F)-8
5930 b(eautrier.)48 b(Impro)m(ving)32 b(data)h(lo)s(calit)m(y)h(b)m(y)e(c)m
5931 (h)m(unking.)47 b(CC'12)33 b(In)m(ter-)330 643 y(national)k(Conference)
5932 f(on)g(Compiler)g(Construction,)i(LNCS)d(2622,)k(pages)e(320-335,)j(W)
5933 -8 b(arsa)m(w,)330 752 y(april)30 b(2003.)330 887 y([Bas03b])39
5934 b(C.)f(Bastoul.)64 b(E\016cien)m(t)39 b(co)s(de)f(generation)h(for)e
5935 (automatic)j(parallelization)h(and)c(op-)330 996 y(timization.)87
5936 b(ISPDC'03)46 b(IEEE)f(In)m(ternational)h(Symp)s(osium)e(on)h(P)m
5937 (arallel)i(and)e(Distributed)330 1106 y(Computing,)30
5938 b(pages)h(23-30,)i(Ljubljana,)c(o)s(ctob)s(er)i(2003.)330
5939 1240 y([Bas04])42 b(C.)e(Bastoul.)72 b(Co)s(de)40 b(Generation)h(in)f
5940 (the)h(P)m(olyhedral)g(Mo)s(del)g(Is)e(Easier)i(Than)e(Y)-8
5941 b(ou)330 1350 y(Think.)40 b(P)-8 b(A)m(CT'13)32 b(IEEE)d(In)m
5942 (ternational)j(Conference)f(on)f(P)m(arallel)i(Arc)m(hitecture)g(and)e
5943 (Compi-)330 1460 y(lation)i(T)-8 b(ec)m(hniques,)31 b(pages)f(7-16,)j
5944 (Juan-les-Pins,)d(septem)m(b)s(er)g(2004.)330 1594 y([F)-8
5945 b(ea92])36 b(P)-8 b(.)33 b(F)-8 b(eautrier)34 b(Some)f(e\016cien)m(t)h
5946 (solutions)g(to)f(the)g(a\016ne)g(sc)m(heduling)g(problem,)g(part)g(I)s
5947 (I:)330 1704 y(m)m(ultidimensional)28 b(time.)41 b(In)m(ternational)29
5948 b(Journal)e(of)g(P)m(arallel)j(Programming,)e(21\(6\):389{420,)330
5949 1813 y(Decem)m(b)s(er)j(1992.)330 1948 y([Gri04])g(M.)f(Griebl.)41
5950 b(Automatic)31 b(parallelization)h(of)e(lo)s(op)f(programs)g(for)h
5951 (distributed)e(memory)330 2057 y(arc)m(hitectures.)53
5952 b(Habilitation)36 b(Thesis.)52 b(F)-8 b(acult\177)-45
5953 b(at)36 b(f)s(\177)-48 b(ur)33 b(Mathematik)j(und)c(Informatik,)j(Univ)
5954 m(er-)330 2167 y(sit\177)-45 b(at)32 b(P)m(assau,)f(2004.)42
5955 b Fi(http://www.infosun.fmi.uni-p)-5 b(assau.de/cl/lo)l(op)l(o)q(/)330
5956 2301 y Fo([Qui00])30 b(F.)f(Quiller)m(\023)-43 b(e,)31
5957 b(S.)e(Ra)5 b(jopadh)m(y)m(e,)30 b(and)f(D.)g(Wilde.)41
5958 b(Generation)30 b(of)g(e\016cien)m(t)g(nested)f(lo)s(ops)330
5959 2411 y(from)22 b(p)s(olyhedra.)38 b(In)m(ternational)24
5960 b(Journal)e(of)h(P)m(arallel)h(Programming,)h(28\(5\):469-498,)30
5961 b(o)s(ctob)s(er)330 2521 y(2000.)330 2655 y([Wil93])j(Doran)f(K.)f
5962 (Wilde.)44 b(A)31 b(library)g(for)f(doing)i(p)s(olyhedral)e(op)s
5963 (erations.)43 b(T)-8 b(ec)m(hnical)33 b(Rep)s(ort)330
5964 2765 y(785,)f(IRISA,)e(Rennes,)g(F)-8 b(rance,)32 b(1993.)p
5965 eop end
5966 %%Page: 40 44
5967 TeXDict begin 40 43 bop 150 -116 a Fo(40)1544 b(CLo)s(oG)31
5968 b(-)g(a)f(lo)s(op)h(generator)g(for)g(scanning)f(p)s(olyhedra)p
5969 eop end
5970 %%Trailer
5972 userdict /end-hook known{end-hook}if
5973 %%EOF