Mercurial > hg > Papers > 2019 > anatofuz-thesis
comparison presen/fig/perl6nqp.eps @ 77:2327c951dfb9
update
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 18 Feb 2019 19:46:14 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
76:582b97946af6 | 77:2327c951dfb9 |
---|---|
1 %!PS-Adobe-3.0 EPSF-3.0 | |
2 %%HiResBoundingBox: 0.000000 0.000000 460.000000 307.000000 | |
3 %APL_DSC_Encoding: UTF8 | |
4 %APLProducer: (Version 10.14.2 (Build 18C54) Quartz PS Context) | |
5 %%Title: (Unknown) | |
6 %%Creator: (Unknown) | |
7 %%CreationDate: (Unknown) | |
8 %%For: (Unknown) | |
9 %%DocumentData: Clean7Bit | |
10 %%LanguageLevel: 2 | |
11 %%Pages: 1 | |
12 %%BoundingBox: 0 0 460 307 | |
13 %%EndComments | |
14 %%BeginProlog | |
15 %%BeginFile: cg-pdf.ps | |
16 %%Copyright: Copyright 2000-2004 Apple Computer Incorporated. | |
17 %%Copyright: All Rights Reserved. | |
18 currentpacking true setpacking | |
19 /cg_md 141 dict def | |
20 cg_md begin | |
21 /L3? languagelevel 3 ge def | |
22 /bd{bind def}bind def | |
23 /ld{load def}bd | |
24 /xs{exch store}bd | |
25 /xd{exch def}bd | |
26 /cmmtx matrix def | |
27 mark | |
28 /sc/setcolor | |
29 /scs/setcolorspace | |
30 /dr/defineresource | |
31 /fr/findresource | |
32 /T/true | |
33 /F/false | |
34 /d/setdash | |
35 /w/setlinewidth | |
36 /J/setlinecap | |
37 /j/setlinejoin | |
38 /M/setmiterlimit | |
39 /i/setflat | |
40 /rc/rectclip | |
41 /rf/rectfill | |
42 /rs/rectstroke | |
43 /f/fill | |
44 /f*/eofill | |
45 /sf/selectfont | |
46 /s/show | |
47 %/as/ashow | |
48 /xS/xshow | |
49 /yS/yshow | |
50 /xyS/xyshow | |
51 /S/stroke | |
52 /m/moveto | |
53 /l/lineto | |
54 /c/curveto | |
55 /h/closepath | |
56 /n/newpath | |
57 /q/gsave | |
58 /Q/grestore | |
59 counttomark 2 idiv | |
60 %dup (number of ld's = )print == flush % *** how many | |
61 {ld}repeat pop | |
62 /SC{ % CSname | |
63 /ColorSpace fr scs | |
64 }bd | |
65 /sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld | |
66 /soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld | |
67 /cgmtx matrix def | |
68 /sdmtx{cgmtx currentmatrix pop}bd | |
69 /CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity | |
70 /cm {cmmtx astore CM concat}bd % reset the matrix and then concat | |
71 /W{clip newpath}bd | |
72 /W*{eoclip newpath}bd | |
73 | |
74 statusdict begin product end dup (HP) anchorsearch{ | |
75 pop pop pop % pop off the search results | |
76 true | |
77 }{ | |
78 pop % previous search result | |
79 (hp) anchorsearch{ | |
80 pop pop true | |
81 }{ | |
82 pop false | |
83 }ifelse | |
84 }ifelse | |
85 | |
86 { % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts | |
87 { | |
88 { % charCode Wx Wy | |
89 pop pop % charCode | |
90 (0)dup 0 4 -1 roll put | |
91 F charpath | |
92 }cshow | |
93 } | |
94 }{ | |
95 {F charpath} | |
96 }ifelse | |
97 /cply exch bd | |
98 /cps {cply stroke}bd | |
99 /pgsave 0 def | |
100 /bp{/pgsave save store}bd | |
101 /ep{pgsave restore showpage}def % dont' bind | |
102 /re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd | |
103 | |
104 /scrdict 10 dict def | |
105 /scrmtx matrix def | |
106 /patarray 0 def | |
107 /createpat{patarray 3 1 roll put}bd | |
108 /makepat{ | |
109 scrmtx astore pop | |
110 gsave | |
111 initgraphics | |
112 CM | |
113 patarray exch get | |
114 scrmtx | |
115 makepattern | |
116 grestore | |
117 setpattern | |
118 }bd | |
119 | |
120 /cg_BeginEPSF{ | |
121 userdict save/cg_b4_Inc_state exch put | |
122 userdict/cg_endepsf/cg_EndEPSF load put | |
123 count userdict/cg_op_count 3 -1 roll put | |
124 countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put | |
125 3 sub{end}repeat | |
126 /showpage {} def | |
127 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin | |
128 10 setmiterlimit [] 0 setdash newpath | |
129 false setstrokeadjust false setoverprint % don't use F | |
130 }bd | |
131 /cg_EndEPSF{ | |
132 countdictstack 3 sub { end } repeat | |
133 cg_dict_array 3 1 index length 3 sub getinterval | |
134 {begin}forall | |
135 count userdict/cg_op_count get sub{pop}repeat | |
136 userdict/cg_b4_Inc_state get restore | |
137 F setpacking | |
138 }bd | |
139 | |
140 /cg_biproc{currentfile/RunLengthDecode filter}bd | |
141 /cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd | |
142 /ImageDataSource 0 def | |
143 L3?{ | |
144 /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd | |
145 /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd | |
146 }{ | |
147 /ImageBandMask 0 def | |
148 /ImageBandData 0 def | |
149 /cg_mibiproc{ | |
150 string/ImageBandMask xs | |
151 string/ImageBandData xs | |
152 /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx | |
153 /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd | |
154 }bd | |
155 /cg_miaiproc{ | |
156 string/ImageBandMask xs | |
157 string/ImageBandData xs | |
158 /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter | |
159 dup ImageBandMask/readstring cvx | |
160 /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd | |
161 }bd | |
162 }ifelse | |
163 /imsave 0 def | |
164 /BI{save/imsave xd mark}bd | |
165 /EI{imsave restore}bd | |
166 /ID{ | |
167 counttomark 2 idiv | |
168 dup 2 add % leave room for imagetype and imagematrix | |
169 dict begin | |
170 {def} repeat | |
171 pop % remove mark | |
172 /ImageType 1 def | |
173 /ImageMatrix[Width 0 0 Height neg 0 Height]def | |
174 currentdict dup/ImageMask known{ImageMask}{F}ifelse exch | |
175 % currentdict on stack | |
176 L3?{ | |
177 dup/MaskedImage known | |
178 { | |
179 pop | |
180 << | |
181 /ImageType 3 | |
182 /InterleaveType 2 | |
183 /DataDict currentdict | |
184 /MaskDict | |
185 << /ImageType 1 | |
186 /Width Width | |
187 /Height Height | |
188 /ImageMatrix ImageMatrix | |
189 /BitsPerComponent 1 | |
190 /Decode [0 1] | |
191 currentdict/Interpolate known | |
192 {/Interpolate Interpolate}if | |
193 >> | |
194 >> | |
195 }if | |
196 }if | |
197 exch | |
198 {imagemask}{image}ifelse | |
199 end % pop imagedict from dict stack | |
200 }bd | |
201 | |
202 /cguidfix{statusdict begin mark version end | |
203 {cvr}stopped{cleartomark 0}{exch pop}ifelse | |
204 2012 lt{dup findfont dup length dict begin | |
205 {1 index/FID ne 2 index/UniqueID ne and | |
206 {def} {pop pop} ifelse}forall | |
207 currentdict end definefont pop | |
208 }{pop}ifelse | |
209 }bd | |
210 /t_array 0 def | |
211 /t_i 0 def | |
212 /t_c 1 string def | |
213 /x_proc{ % x y | |
214 exch t_array t_i get add exch moveto | |
215 /t_i t_i 1 add store | |
216 }bd | |
217 /y_proc{ % x y | |
218 t_array t_i get add moveto | |
219 /t_i t_i 1 add store | |
220 }bd | |
221 /xy_proc{ | |
222 % x y | |
223 t_array t_i 2 copy 1 add get 3 1 roll get | |
224 4 -1 roll add 3 1 roll add moveto | |
225 /t_i t_i 2 add store | |
226 }bd | |
227 /sop 0 def % don't bind sop | |
228 /cp_proc/x_proc ld % default moveto proc is for xwidths only | |
229 /base_charpath % string array | |
230 { | |
231 /t_array xs | |
232 /t_i 0 def | |
233 { % char | |
234 t_c 0 3 -1 roll put | |
235 currentpoint | |
236 t_c cply sop | |
237 cp_proc | |
238 }forall | |
239 /t_array 0 def | |
240 }bd | |
241 /sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath | |
242 | |
243 % default sop is stroke | |
244 /nop{}def | |
245 /xsp/base_charpath ld | |
246 /ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd | |
247 /xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd | |
248 /xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd | |
249 /ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd | |
250 /xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd | |
251 /refnt{ % newname encoding fontname | |
252 findfont dup length dict copy dup | |
253 /Encoding 4 -1 roll put | |
254 definefont pop | |
255 }bd | |
256 /renmfont{ % newname fontname | |
257 findfont dup length dict copy definefont pop | |
258 }bd | |
259 | |
260 L3? dup dup{save exch}if | |
261 | |
262 % languagelevel2 ONLY code goes here | |
263 | |
264 /Range 0 def | |
265 /DataSource 0 def | |
266 /val 0 def | |
267 /nRange 0 def | |
268 /mulRange 0 def | |
269 /d0 0 def | |
270 /r0 0 def | |
271 /di 0 def | |
272 /ri 0 def | |
273 /a0 0 def | |
274 /a1 0 def | |
275 /r1 0 def | |
276 /r2 0 def | |
277 /dx 0 def | |
278 /Nsteps 0 def | |
279 /sh3tp 0 def | |
280 /ymax 0 def | |
281 /ymin 0 def | |
282 /xmax 0 def | |
283 /xmin 0 def | |
284 | |
285 /setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation. | |
286 { | |
287 begin | |
288 /nRange Range length 2 idiv store | |
289 /mulRange % precompute the range data needed to map a sample value from the table to a range value | |
290 % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ] | |
291 [ | |
292 0 1 nRange 1 sub | |
293 { % index | |
294 2 mul/nDim2 xd % 2*dimension# we are dealing with | |
295 Range nDim2 get % ymin | |
296 Range nDim2 1 add get % ymin ymax | |
297 1 index sub % ymin (ymax-ymin) | |
298 % xmin = 0, xmax = 255 (2^bitspersample - 1) | |
299 255 div % ymin (ymax-ymin)/(xmax - xmin) | |
300 exch % (ymax-ymin)/(xmax - xmin) ymin | |
301 }for | |
302 ]store | |
303 end | |
304 }bd | |
305 | |
306 /FunEval % val1 fundict -> comp1 comp2 ... compN | |
307 { | |
308 begin | |
309 % the value passed in is the base index into the table | |
310 nRange mul /val xd % compute the actual index to the table | |
311 % since there are nRange entries per base index | |
312 0 1 nRange 1 sub | |
313 { | |
314 dup 2 mul/nDim2 xd % dim | |
315 val % base value to use to do our lookup | |
316 add DataSource exch get % lookedupval | |
317 mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin) | |
318 mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin | |
319 add % interpolated result | |
320 }for % comp1 comp2 ... compN | |
321 end | |
322 }bd | |
323 | |
324 /max % a b -> max(a, b) | |
325 { | |
326 2 copy lt | |
327 {exch pop}{pop}ifelse | |
328 }bd | |
329 | |
330 /sh2 | |
331 { % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack | |
332 /Coords load aload pop % x0 y0 x1 y1 | |
333 3 index 3 index translate % origin is now at beginning point of shading | |
334 % x0 y0 x1 y1 | |
335 3 -1 roll sub % x0 x1 y1-y0 | |
336 3 1 roll exch % y1-y0 x1 x0 | |
337 sub % y1-y0 x1-x0 | |
338 2 copy | |
339 dup mul exch dup mul add sqrt % length of segment between two points | |
340 dup | |
341 scale | |
342 atan % atan (dy/dx) | |
343 %dup (rotation angle = )print == | |
344 rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn | |
345 | |
346 /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval | |
347 | |
348 % this is now specific to axial shadings. Compute the maximum bounds to fill | |
349 clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1 | |
350 /ymax xs | |
351 /xmax xs | |
352 /ymin xs | |
353 /xmin xs | |
354 currentdict/Extend known | |
355 { | |
356 /Extend load 0 get | |
357 { | |
358 0/Function load FunEval sc % evaluate the function to get a color and set it | |
359 xmin ymin xmin abs ymax ymin sub rectfill | |
360 }if | |
361 }if | |
362 % paint the rects. The sampling frequency is that of our table | |
363 /Nsteps/Function load/Size get 0 get 1 sub store | |
364 /dx 1 Nsteps div store | |
365 gsave | |
366 /di ymax ymin sub store | |
367 /Function load | |
368 % loop Nsteps + 1 times, incrementing the index by 1 each time | |
369 0 1 Nsteps | |
370 { | |
371 1 index FunEval sc | |
372 0 ymin dx di rectfill | |
373 dx 0 translate | |
374 }for | |
375 pop % pop our function | |
376 grestore % origin is back to start point | |
377 currentdict/Extend known | |
378 { | |
379 /Extend load 1 get | |
380 { | |
381 Nsteps/Function load FunEval sc % last element | |
382 1 ymin xmax 1 sub abs ymax ymin sub rectfill | |
383 }if | |
384 }if | |
385 }bd | |
386 | |
387 /shp % this paints our shape for shading type 3 | |
388 { % x1 r1 x0 r0 - | |
389 4 copy | |
390 | |
391 % fill interior arc | |
392 dup 0 gt{ | |
393 0 exch a1 a0 arc | |
394 }{ | |
395 pop 0 moveto | |
396 }ifelse | |
397 | |
398 dup 0 gt{ | |
399 0 exch a0 a1 arcn | |
400 }{ | |
401 pop 0 lineto | |
402 }ifelse | |
403 | |
404 fill | |
405 | |
406 % fill exterior arc | |
407 dup 0 gt{ | |
408 0 exch a0 a1 arc | |
409 }{ | |
410 pop 0 moveto | |
411 }ifelse | |
412 | |
413 dup 0 gt{ | |
414 0 exch a1 a0 arcn | |
415 }{ | |
416 pop 0 lineto | |
417 }ifelse | |
418 | |
419 fill | |
420 }bd | |
421 | |
422 /calcmaxs | |
423 { % calculate maximum distance vector from origin to corner points | |
424 % of bbox | |
425 xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2) | |
426 xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2) | |
427 xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2) | |
428 xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2) | |
429 max max max % maximum value | |
430 }bd | |
431 | |
432 /sh3 | |
433 { % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack | |
434 /Coords load aload pop % x0 y0 r1 x1 y1 r2 | |
435 5 index 5 index translate % origin is now at first circle origin | |
436 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx | |
437 3 -1 roll 5 -1 roll sub % r1 r2 dx dy | |
438 2 copy dup mul exch dup mul add sqrt | |
439 /dx xs % r1 r2 dx dy | |
440 2 copy 0 ne exch 0 ne or | |
441 { | |
442 % r1 r2 dx dy | |
443 exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected | |
444 }{ | |
445 pop pop | |
446 }ifelse | |
447 % r1 r2 | |
448 /r2 xs | |
449 /r1 xs | |
450 /Function load | |
451 dup/Size get 0 get 1 sub % this is the size of our table minus 1 | |
452 /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device | |
453 setupFunEval % may need to setup function dictionary by calling setupFunEval | |
454 % determine the case: | |
455 % case 0: circle1 inside circle2 | |
456 % case 1: circle 2 inside circle 1 | |
457 % case 2: r1 = r2 | |
458 % case 3: r1 != r2 | |
459 dx r2 add r1 lt{ | |
460 % circle 2 inside of circle 1 | |
461 0 | |
462 }{ | |
463 dx r1 add r2 le | |
464 { % circle 1 inside of circle 2 | |
465 1 | |
466 }{ % circles don't contain each other | |
467 r1 r2 eq | |
468 { % equal | |
469 2 | |
470 }{ % r1 != r2 | |
471 3 | |
472 }ifelse | |
473 }ifelse | |
474 }ifelse | |
475 /sh3tp xs % sh3tp has the number of our different cases | |
476 clippath {pathbbox}stopped {0 0 0 0}if | |
477 newpath % x0 y0 x1 y1 | |
478 /ymax xs | |
479 /xmax xs | |
480 /ymin xs | |
481 /xmin xs | |
482 | |
483 % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr) | |
484 dx dup mul r2 r1 sub dup mul sub dup 0 gt | |
485 { | |
486 sqrt r2 r1 sub atan | |
487 /a0 exch 180 exch sub store | |
488 /a1 a0 neg store | |
489 }{ | |
490 pop | |
491 /a0 0 store | |
492 /a1 360 store | |
493 }ifelse | |
494 | |
495 currentdict/Extend known | |
496 { | |
497 /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0 | |
498 { | |
499 0/Function load FunEval sc % evaluate the function to get a color and set it | |
500 % case 0: circle1 inside circle2 | |
501 % case 1: circle 2 inside circle 1 | |
502 % case 2: circles don't contain each other and r1 == r2 | |
503 % case 3: circles don't contain each other and r1 != r2 | |
504 { | |
505 { % case 0 | |
506 dx 0 r1 360 0 arcn | |
507 xmin ymin moveto | |
508 xmax ymin lineto | |
509 xmax ymax lineto | |
510 xmin ymax lineto | |
511 xmin ymin lineto | |
512 eofill % for the bigger radius we fill everything except our circle | |
513 } | |
514 { % case 1 | |
515 r1 0 gt{0 0 r1 0 360 arc fill}if | |
516 } | |
517 { % case 2 | |
518 % r1 == r2, extend 0 | |
519 % r3 = r, x3 = -(abs(minx) + r), x1 = 0 | |
520 | |
521 % x(i+1) r(i+1) x(i) r(i) shp | |
522 0 r1 xmin abs r1 add neg r1 shp | |
523 } | |
524 { % case 3 | |
525 % no containment, r1 != r2 | |
526 | |
527 r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius | |
528 % x(i+1) r(i+1) x(i) r(i) shp | |
529 0 r1 | |
530 r1 neg r2 r1 sub div dx mul % this is point of beginning circle | |
531 0 % point of ending circle | |
532 shp % takes x(i+1) r(i+1) x(i) r(i) | |
533 }{ % the first circle is the bigger of the two | |
534 % we find a circle on our line which is outside the bbox in the | |
535 % negative direction | |
536 % x(i+1) r(i+1) x(i) r(i) shp | |
537 0 r1 calcmaxs % 0 r1 maxs | |
538 dup | |
539 % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2)) | |
540 r2 add dx mul dx r1 r2 sub sub div | |
541 neg % maxs xs' | |
542 exch 1 index % xs' maxs xs' | |
543 abs exch sub | |
544 shp | |
545 }ifelse | |
546 } | |
547 }sh3tp get exec % execute the extend at beginning proc for our shading type | |
548 }if | |
549 }if | |
550 | |
551 % now do the shading | |
552 /d0 0 store | |
553 /r0 r1 store | |
554 /di dx Nsteps div store | |
555 /ri r2 r1 sub Nsteps div store | |
556 /Function load | |
557 0 1 Nsteps | |
558 { % function t(i) | |
559 1 index FunEval sc | |
560 d0 di add r0 ri add d0 r0 shp | |
561 { | |
562 % fill interior arc | |
563 d0 0 r0 a1 a0 arc | |
564 d0 di add 0 r0 ri add a0 a1 arcn | |
565 fill | |
566 | |
567 % fill exterior arc | |
568 d0 0 r0 a0 a1 arc | |
569 d0 di add 0 r0 ri add a1 a0 arcn | |
570 fill | |
571 }pop | |
572 | |
573 % advance to next | |
574 /d0 d0 di add store | |
575 /r0 r0 ri add store | |
576 }for | |
577 pop % pop our function dict | |
578 | |
579 % handle Extend | |
580 currentdict/Extend known | |
581 { | |
582 /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0 | |
583 { | |
584 Nsteps/Function load FunEval sc % last element | |
585 % case 0: circle1 inside circle2 | |
586 % case 1: circle 2 inside circle 1 | |
587 % case 2: circles don't contain each other and r1 == r2 | |
588 % case 3: circles don't contain each other and r1 != r2 | |
589 { | |
590 { | |
591 dx 0 r2 0 360 arc fill | |
592 } | |
593 { | |
594 dx 0 r2 360 0 arcn | |
595 xmin ymin moveto | |
596 xmax ymin lineto | |
597 xmax ymax lineto | |
598 xmin ymax lineto | |
599 xmin ymin lineto | |
600 eofill % for the bigger radius we fill everything except our circle | |
601 } | |
602 { % r1 == r2, extend 1 | |
603 % r3 = r, x3 = (abs(xmax) + r), x1 = dx | |
604 % x(i+1) r(i+1) x(i) r(i) shp | |
605 xmax abs r1 add r1 dx r1 shp | |
606 } | |
607 { % no containment, r1 != r2 | |
608 | |
609 r2 r1 gt{ | |
610 % we find a circle on our line which is outside the bbox in the | |
611 % positive direction | |
612 % x(i+1) r(i+1) x(i) r(i) shp | |
613 calcmaxs dup % maxs maxs | |
614 % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1)) | |
615 r1 add dx mul dx r2 r1 sub sub div % maxs xs | |
616 exch 1 index % xs maxs xs | |
617 exch sub | |
618 dx r2 | |
619 shp | |
620 }{ % the endpoint we are drawing is that with a circle of zero radius | |
621 % x(i+1) r(i+1) x(i) r(i) shp | |
622 r1 neg r2 r1 sub div dx mul % this is point of ending circle | |
623 0 % radius of ending circle | |
624 dx % point of starting circle | |
625 r2 % radius of starting circle | |
626 shp | |
627 }ifelse | |
628 } | |
629 } | |
630 sh3tp get exec % execute the extend at end proc for our shading type | |
631 }if | |
632 }if | |
633 }bd | |
634 /sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions | |
635 { % shadingDict -- | |
636 begin | |
637 /ShadingType load dup dup 2 eq exch 3 eq or | |
638 { % shadingtype | |
639 gsave | |
640 newpath | |
641 /ColorSpace load scs | |
642 currentdict/BBox known | |
643 { | |
644 /BBox load aload pop % llx lly urx ury | |
645 2 index sub % llx lly urx ury-lly | |
646 3 index % llx lly urx ury-lly llx | |
647 3 -1 roll exch sub | |
648 exch rectclip | |
649 }if | |
650 2 eq | |
651 {sh2}{sh3}ifelse | |
652 grestore | |
653 }{ | |
654 % shadingtype | |
655 pop | |
656 (DEBUG: shading type unimplemented\n)print flush | |
657 }ifelse | |
658 end | |
659 }bd | |
660 | |
661 % end of language level 2 ONLY code | |
662 | |
663 {restore}if not dup{save exch}if | |
664 % languagelevel3 ONLY code goes here | |
665 L3?{ % we do these loads conditionally or else they will fail on a level 2 printer | |
666 /sh/shfill ld | |
667 /csq/clipsave ld | |
668 /csQ/cliprestore ld | |
669 }if | |
670 {restore}if | |
671 | |
672 %currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free | |
673 end | |
674 setpacking | |
675 % count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack | |
676 %%EndFile | |
677 %%EndProlog | |
678 %%BeginSetup | |
679 %%EndSetup | |
680 %%Page: 1 1 | |
681 %%PageBoundingBox: 0 0 460 307 | |
682 %%BeginPageSetup | |
683 cg_md begin | |
684 bp | |
685 sdmtx | |
686 %RBIBeginFontSubset: HelveticaNeue | |
687 %!FontType1-1.0: HelveticaNeue 1.0000.1.0000 | |
688 | |
689 14 dict begin/FontName /HelveticaNeue def | |
690 | |
691 /PaintType 0 def | |
692 | |
693 /Encoding 256 array 0 1 255{1 index exch/.notdef put}for | |
694 | |
695 dup 33 /space put | |
696 | |
697 dup 34 /M put | |
698 | |
699 dup 35 /o put | |
700 | |
701 dup 36 /a put | |
702 | |
703 dup 37 /r put | |
704 | |
705 dup 38 /V put | |
706 | |
707 dup 39 /P put | |
708 | |
709 dup 40 /e put | |
710 | |
711 dup 41 /l put | |
712 | |
713 dup 42 /six put | |
714 | |
715 dup 43 /N put | |
716 | |
717 dup 44 /Q put | |
718 | |
719 dup 45 /J put | |
720 | |
721 readonly def | |
722 | |
723 42/FontType resourcestatus{pop pop false}{true}ifelse | |
724 | |
725 %APLsfntBegin | |
726 | |
727 {currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if | |
728 | |
729 /FontType 42 def | |
730 | |
731 /FontMatrix matrix def | |
732 | |
733 /FontBBox[1000 -951 1 index div -481 2 index div 1987 3 index div 1077 5 -1 roll div]cvx def | |
734 | |
735 /sfnts [< | |
736 | |
737 74727565000900000000000063767420000000000000009C000000186670676D00000000000000B400000428676C796600000000000004DC00000B2C6865616400000000000010080000003668686561000000000000104000000024686D747800000000000010640000003C6C6F636100000000000010A0000000206D61787000000000000010C0000000207072657000000000000010E00000004D14000014004B005A00000011FF3A000B0205000C02CA0011B800002C4BB800095058B101018E59B801FF85B844001DB9000900035F5E2DB800012C2020456944B001602DB800022CB800012A212DB800032C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800042C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800052C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800062C2020456944B001602020457D691844B001602DB800072CB800062A2DB800082C4B20B003265358B0801BB040598A8A20B003265358B0022621B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B80003265358B0032545B8014050582321B8014023211BB003254523212321591B2159442DB800092C4B535845441B2121592DB8000A2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8000B2C2020456944B001602DB8000C2CB8000B2A212DB8000D2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8000E2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8000F2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800102C2020456944B001602020457D691844B001602DB800112CB800102A2DB800122C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800132C4B535845441B2121592DB800142C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800152C2020456944B001602DB800162CB800152A212DB800172C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800182C2046B00425465258238A592046206A6164B0042546 | |
738 | |
739 206A61645258238A592FFD2DB800192C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8001A2C2020456944B001602020457D691844B001602DB8001B2CB8001A2A2DB8001C2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8001D2C4B535845441B2121592D00020033000101CC02C8000300070065B800142BB800082FB800002FB8000810B80006D0B800062FB900020003F4B8000010B900040003F4B80009DC00B800014558B800042F1BB90004000A3E59B800014558B800052F1BB9000500043E59B8000410B900000002F4B8000510B900020002F4303101211121131121110199FECD013333FE67029AFD950299FD3902C700020026FFF5020702C50023003700E3BA001C000900032BB8001C10BA0013002900032BB8001310411B0006001C0016001C0026001C0036001C0046001C0056001C0066001C0076001C0086001C0096001C00A6001C00B6001C00C6001C000D5D410500D5001C00E5001C00025D410500DA002900EA002900025D411B0009002900190029002900290039002900490029005900290069002900790029008900290099002900A9002900B9002900C90029000D5DB8000910B80033DCB8001310B80039DC00BA002E000E00032BB8002E10BA0004002100032BB8000410BA0018002400032BB8001810B8000410B80000DC303101332E0123220E0215141E0233323E0235342E0223220607273E0333321607321E0215140E0223222E0235343E02019E550868584C643C191134604F435B37181E3751333A591E02010E254236333E7A2436241113243523233725141326360210585D406A8949387864402D45542731543E232C3102295E51353AC31A2B3B211F392C19192A3A21213B2B190000010016FFF001B902CA0015002BBA000C000D00032BB8000C10BA0001000200032BB800011000B800012FBA0006001100032BB8000610303125112311140623222E023D012315141633323E0201B95F3141232D190A5F6C643C513115B20218FDF63B461526341F1E2C666921374600000100500000031702CA000E0057BA0003000000032BB8000310BA000B000800032BB8000B10BA000D0000000B11123900B800012FB800052FB800092FB800002FB8000B2FBA000400010000111239BA000800010000111239BA000D000100001112393031131133113313331333113311230B01505A02DF51DF025A82E2E102CAFD360252FDAE0252FDAE02CAFDA802580000000001004D0000028602CA000B004BBA00 | |
740 | |
741 03000000032BB8000310BA0007000800032BB8000710B8000810B8000AD0B8000A2F00B800012FB800052FB800002FB800072FBA000400010000111239BA000A0001000011123930311311331133013311231123014D5A020175685A02FE8802CAFD36023DFDC302CAFDBD02430000000002004E0000026202CA000800130089B800152FBA0001000900032BB8000110B8001510B80010DCB80005DC410500DA000500EA000500025D411B0009000500190005002900050039000500490005005900050069000500790005008900050099000500A9000500B9000500C90005000D5DB8000110B8000BD000B8000A2FBA0009000100032BB8000910BA0000000C00032BB800001030311311333216151406270111331133163635342623ADBA514B4B51FEE75FDA6C6F6F6C0174010643404044010156FD360124017064646F0000020026FFC302D202DB0016002D00E1B8002E2FB8002F2FB8002E10B80026D0B800262FB8002F10B8001CDCBA00020026001C111239B8002610B80009DC411B0006000900160009002600090036000900460009005600090066000900760009008600090096000900A6000900B6000900C60009000D5D410500D5000900E5000900025DB8001C10B80013DC410500DA001300EA001300025D411B0009001300190013002900130039001300490013005900130069001300790013008900130099001300A9001300B9001300C90013000D5D00B800172FBA0004002B00032BB8000410BA0021000E00032BB800211030312507170623222E0235343E0233321E02151406071737273E0135342E0223220E0215141E0233323701C2324F3033415E3C1C1C3C5E41415E3C1C282A73305E36362B5680555580562B2B5680556348CC3A3F1433546936366954333354693642792ABD3C4A3694524987683E3E6887494987683D2A0000000100000000026502CA0007001900B800012FB800052FB800002FBA000400000001111239303121132303230323130167FE63CE02CC66FB02CAFD95026BFD3600020024FFF5020A021100300042015CB800142BBB00380003000D00182BBB002A0003001700182BB8001710B80005D0B800052F4111000600380016003800260038003600380046003800560038006600380076003800085D4105008500380095003800025DB8003810B900200003F4B9001F0003F4B8001710B900300003F4B8001710B80031D0B800312FB8002A10B80044DC00B800014558B800252F1BB9002500083E59B800014558B800022F1BB9000200043E59B800014558B800082F1BB9000800043E59BA000500020025111239B8002510B9001C0002F441050089001C0099001C00025D41110008001C0018001C0028001C0038001C0048001C0058001C0068001C0078001C00085DB8002510B8001FDCB800 | |
742 | |
743 0210B9002E0002F441110007002E0017002E0027002E0037002E0047002E0057002E0067002E0077002E00085D41050086002E0096002E00025DBA003000020025111239BA003100020025111239B8003DD030312506232226350E0123222E0235343E02373E0335342E0223220607233E0333321E0215111416333237270E0515141E0233323E0235020A16272127235D36233F2E1B1E313F21233F301C152129143648035502243C4D2C2345382207140B0F8A1034393A2E1D111B24142A3C2612020D252A2A25102237272C3823120607070D19181C2212062939304229120A1F382DFEF61E1C05C70C0B0709142520151D12081723291200000000020024FFF502030211000A0026005BBA0014001F00032BB8001410BA0015000000032BB8001510B8001410B80001D0B8000010B8000CD0B8000C2F00BA000F002400032BB8000F10BA001A000600032BB8001A10BA0001001400032BB8000110B8002410B8000CDC303101213E0333321E0217230E0123222E023721362E0223220E02151E0333323601A7FED702162635212035271754540B45362A3E28120101830215375B4535594124021F3E5B3E587401341E352817172736AE33321C2F3D222F6858392848623B3B64482858000100450000009A02CA00030017BA0003000000032BB800031000B800012FB800002F303113113311455502CAFD3602CA00000000020024FFF5021A02110013002700CBB800282FB800292FB8002810B80014D0B800142FB80000DC411B0006000000160000002600000036000000460000005600000066000000760000008600000096000000A6000000B6000000C60000000D5D410500D5000000E5000000025DB8002910B8001EDCB8000ADC410500DA000A00EA000A00025D411B0009000A0019000A0029000A0039000A0049000A0059000A0069000A0079000A0089000A0099000A00A9000A00B9000A00C9000A000D5D00BA000F001900032BB8000F10BA0023000500032BB8002310303113343E0233321E0215140E0223222E0227141E0233323E0235342E0223220E027E192C3B21213B2C19192C3B21213B2C195A20405E3D3E5D402020405D3E3D5E402001022F49321A1A32492F2F49311A1A31492F39624929294962393963492A2A496300000001003D0000014D0213000E0027BA0003000100032BB8000310B8000DD0B8000D2F00B800012FBA0009000800032BB8000910303113113335343E02333526060723353D55142C4833455A1F020205FDFBE6324D361C5A023C3F6D0000020037FF5B04A802FA000B00110023B800142BBB00060003000300182B00B800042FB800112FBB00090002000000182B3031372226351133111416332115050901370901F75E62622E30034EFEA20136FECA42017FFE8276606101C3FE3D30345DD701 | |
744 | |
745 0401004BFEB5FEB80001000000010000062A4FC55F0F3CF5011103E800000000B643600000000000D7C23C38FC49FE1F07C304350000000900020000000000000001000003B8FF2B001C08B1FC49FE8007C300010000000000000000000000000000000F01F4003301160000022C0026020700160367005002D2004D0288004E02F8002602630000021900240219002400DE0045023E0024014D003D04BE003700000048004801080140018A01CA023202E6030604100478049205320560059600010000000F0096000900680004000200000000001E00000200042800030001B800142B01BA0002000200162B01BF0003003E0037002B001F00130000001C2B00BF0002004A0037002B001F00130000001C2B00BA00040004001B2BB8000120457D691844B8000A2BB800002B000000 | |
746 | |
747 00>] def | |
748 | |
749 /CharStrings 15 dict dup begin | |
750 | |
751 /.notdef 0 def | |
752 /space 1 def | |
753 /six 2 def | |
754 /J 3 def | |
755 /M 4 def | |
756 /N 5 def | |
757 /P 6 def | |
758 /Q 7 def | |
759 /V 8 def | |
760 /a 9 def | |
761 /e 10 def | |
762 /l 11 def | |
763 /o 12 def | |
764 /r 13 def | |
765 /uni2B91 14 def | |
766 end readonly def | |
767 | |
768 currentdict dup/FontName get exch definefont pop end | |
769 | |
770 %APLsfntEnd | |
771 | |
772 42/FontType resourcestatus{pop pop true}{false}ifelse | |
773 | |
774 {currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if | |
775 | |
776 /FontType 1 def | |
777 | |
778 /FontMatrix [ 0.001 0 0 0.001 0 0 ] def | |
779 | |
780 /FontBBox{-951 -481 1987 1077}def | |
781 | |
782 /UniqueID 4151493 def | |
783 | |
784 currentdict currentfile eexec | |
785 | |
786 54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B1454491BCF48412CA40CE1C5F7851A403FDB5F7EBECD00BD59442330258C8F54F9A2B51CA5B18D1E30D1E4A019367173FB88C9EAC98BBAE7C8DBD85C921487E373D87D743B1E079DE09460CC2A636025DC35BEC305286A6417863D21598DD21D73FBBE42615DDD41C15AD35281AAFDD0AEC69551C6A28E3B80A48799AC3B40AE9CF973E85FC1F0F823599BA829D3CF0DEC0232021563D3AA221D2EF22204AF7B557A804DD4A7B1017F879E2F2118396C1180DCDD08F38BFCE37C662B3F2E366144A4D963025E1A5319637505A2EDFEB528CA9970FF8ED7F9535484185C3C7AD75DFA7DFBB353EB08281333FAAF0B6F0F2B5754F60968B327F893CFC575AF6295EA580E6246E9B6229C6DA6F95A3FCB7058D9E02B63EDD142AF8F2830ACA9D442282B0BA121ED067EE237AC776AE71FAC3BA7EF4719A64FE81A11E38A897407E9951375983367BE16AE2A6F820562728002ECB442A2F1165855819E99A7CCFC0BB3F2DE88A4FD68534CD4D00C0313B5FFDD49D70BBD5046CBD6F47F429844B57132EB7CBBA4F85BD8874586A1824A3245EEFA7AB1B73E63D9FF68E97E489DF0CC28FEC218D3EC8161F48E38C8FCEF2D84C32F49918488A70DCE7101187BB91A3B57162D9FA495C5875C6568760C39FA51C1400B6926C3C77A6CDC92EBE5FF979B01D08729C9A9D8259689CA4D8B404331BEAED1B9E84297C42B695C7984BABA8D1C48EB126878F6234BAC70464CA8714C990A8CA9AF4BB338DE1C3B1E532A7EE | |
787 | |
788 B5DF2E0B09D799F0FE0F4CEA78ECDD1C088DC37CEE6110431390711E66F98707098B7B74A73B56A34171A20E859377DF19D8500556F2A3C1CC2B7A95070365B04BEAA4C6E44686F8DE05E946CE1DD8C8474BF1877EEC83ADD29E77DC0A78B9B2232894A43FCB3CBCD95D705483CC0F374A5EAFE14699A4A8D9E6E174FDE9E93B7A3C00B9574052C03638D585BBA34D5C146C19277A5BDBF51FBA97EAC43DE47AEF928D4A6A6669BC75BE267750B0E9D51E0A2278EB48974C8610EC7E63A39601D35508377826D4AEC61EEDF4707E69F95906FCF08531DA749DF4846F846C5B6E93EA1FBF83165D4D13CB08078E860BDD264993367505BED3D19921D4834EB01370C53163264BB9A2FEA871D9BD123448C8C291BF287FF0C048C2BA7F7D6355C84409D4C8CC5510AFCD0994DC89A85B3771E41F05094DC08F113D22BF7B4B09BA1C0D66DB36886294CD658C8F5F3155ED5EAF803D7AF9BCD2FA836BB1607C70E3B71414B4C2F09EEDF004BD40436C69FC37FC3350BAA177FD1FF616C8493948FF25632812D37C56E086C4A0A2810AA8181391E1E2378009DEBB0C0550F2C8299EC3B727C78E840E7313ACFB2FF34A3013AB731DF38B5C01B79492BBEFFD338ACE3B59CD0E533CF22A49BFC433853BBCE878A78750DEFFF0FDF0F46BAABAC5F312A03010F8F1CB430888C1BEF641515C5291A0437A6FDD2D0BDB3334500383084147352B19E1F194A178DAF9FF9AD868FE0093C346BAB3604210B11B075490DAA499AEC959C52B4D28048887C39E67ECF36CD6AFA4C02450624A2B5765F91AB04E63970A39F13832D928A84085AE3B12B45A23659206390F78DF8166CE5DC4F908DFB6FB2C2DDA6D0DBB31E13687E3D410EEA087651C574005B6C64A4F4807C1662E7177B85C9E9F682DB371AAC607A952F8C95C3C8C8FF0B254537F4E445EE7E782B5DC26FA55A025724D21E427BA05D03F80045837EA44A911669897C0E16C83346C225683661087E46E2EFABB768053B93E8DDDDFAF6D7FE5F1E7AB4E8AAB5A9A2B77784176BE3B87C1292048C3DDA80356842E0452F65B65DE41C898A3D508FCAC9D26760348FAC55C191A8F4E5F2C4445D89C2C1B831CE296B2E4D2F2F43A5B156087BC75309493FEC5CCC9A52360C8FB0188283D98B0211071CC9B06725FB16DCEAA5E023373E6FE037F4F4396B6EB65F6DF5E9BB8BE00F8B771B9E019DD8508185A1C6C3044D8DA89CE6A4BB310A7CA62989DBDD61732FF895676B65F55C0723E65BCF70586F8FFFC49D788CF87B7116EFC2120E1657980F3488FF6AEA79C912E50242C4035C957CF40E1915AAAB684C3616B52C7C9EB68A78F6979D7D8CBBDE454F39EF3D470883EA044B7DDC3DBBAB98A0ADF4921A2A14374A850E86063FC8BA4BB1BCE55A19EEA3AE24756ABA535FB872AEECC494530DC912AC1E23B | |
789 | |
790 6FC6A27A318C0D19D66F0706D5EC0BA6E74ABCA979F19D9445629C88EBE06EAE999CE2430D686C5F4857D420379C6C1B674676373C5C93CC829072E560ABB0500589AC7FD211FEA540B193D702A0D86F3DC8EE498FAA4FABC52A87EB199D740EBC673300344A78A739B92B313A299558A9E79BA5C0075C9A4B56C84B9B20B4D56822E079DB29346054F0B40E777756B5BB60B43C197D132FC67A6FBC9B97B44715DFFCF95F16E18C1E2974271C531D56CA9D60A7FAC96DCA144E8A7F670605C273D16D5B446148CB389F7B2703443155F7FC76A686781E0BDCB7BEA353BF7E20A8B5C39FEDFEBB79471C83AF730AE4DD51A8515B04643A4C6A04BD546330566BDAC1FDE0F63E0AABF3CD14AFFEC15A173D1DFDDE35D7941BDC26CB74F7244813F74998C6F2E9A7F19D44746F001812016BB8678C18530CB19875AD3F30B6C7BAB82A4FA79536C72B408647771AFD2F378A2E101F91DE769F1DFC0AC8DFC8E977A6434BA5BED71699422161F6A4F803A448DC4767C8C92520D10CE52EC70CDA6ACF1EC6185DB2F44CA5DB970F72CA2892E920A73597627D8689F6A0F2F06EBBEB6C03AB0DD8BE3E98BB056CC018F1B2A4BF61515409BB274FD330E0014A41AB41790553C144FE817D0B6044ED8E896C2233836B5C66AF22A71635A0E98F74B2971E5C1960C3B14AFD3635EF2606461604CDF5DC2A3188D9018BC64950DCC82BF8FD778EBC33A6A61D78846BDE3122A9165EB636BC86B23B7B35279E437AD75CA026DF505E80A4E51AF62278645F44002295E019DD9601F5D7265416B9CBD7375C2B7D5FB8F0861703ECCD63CE4FAA2FC654B1FB420BB0DD91397497A8E8488D7706F767BEE3AD5BDA994F680D43500C228F0128DD2BF6FF43ECA31C66CC8C76BC6B56CD856C5E55CCC6F71FD99BF19C5468C5FCF9685F329D03C17A02D017ED46A050C3237917B571BA91760432314672233A0C6C54A2FCE6E2FAC31A20E88315C7D0120799B91467DF6B86189C792200FC2AFC8575D5E6ED008DFEBD6EEDD982665976DF89E14179 | |
791 | |
792 0000000000000000000000000000000000000000000000000000000000000000 | |
793 | |
794 0000000000000000000000000000000000000000000000000000000000000000 | |
795 | |
796 0000000000000000000000000000000000000000000000000000000000000000 | |
797 | |
798 0000000000000000000000000000000000000000000000000000000000000000 | |
799 | |
800 0000000000000000000000000000000000000000000000000000000000000000 | |
801 | |
802 0000000000000000000000000000000000000000000000000000000000000000 | |
803 | |
804 0000000000000000000000000000000000000000000000000000000000000000 | |
805 | |
806 0000000000000000000000000000000000000000000000000000000000000000 | |
807 | |
808 cleartomark end | |
809 | |
810 %APLT1End | |
811 | |
812 %RBIEndFontSubset | |
813 /HelveticaNeue cguidfix | |
814 /F1.1/HelveticaNeue renmfont | |
815 [ /CIEBasedABC 4 dict dup begin | |
816 /WhitePoint [ 0.9505 1.0000 1.0891 ] def | |
817 /DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def | |
818 /MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def | |
819 /RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def | |
820 end ] /Cs1 exch/ColorSpace dr pop | |
821 [ /CIEBasedA 5 dict dup begin /WhitePoint [ 0.9505 1.0000 1.0891 ] def | |
822 /DecodeA { { 1.8008 exp } bind exec} bind | |
823 def | |
824 /MatrixA [ 0.9642 1.0000 0.8249 ] def | |
825 /RangeLMN [ 0.0 2.0000 0.0 2.0000 0.0 2.0000 ] def | |
826 /DecodeLMN [ { 0.9857 mul} bind { 1.0000 mul} bind { 1.3202 mul} bind ] def | |
827 end ] /Cs2 exch/ColorSpace dr pop | |
828 %%EndPageSetup | |
829 /Cs1 SC | |
830 1 1 1 sc | |
831 q | |
832 0 0 460 307 rc | |
833 -58 365 m | |
834 518 365 l | |
835 518 -584 l | |
836 -58 -584 l | |
837 h | |
838 -58 365 m | |
839 f | |
840 14 131 m | |
841 302 131 l | |
842 302 14 l | |
843 14 14 l | |
844 h | |
845 14 131 m | |
846 f | |
847 7 w | |
848 1 J | |
849 1 j | |
850 0.60000002 i | |
851 0 0 0 sc | |
852 1 0 0 -1 -58 365 cm | |
853 72 234 m | |
854 360 234 l | |
855 360 351 l | |
856 72 351 l | |
857 h | |
858 72 234 m | |
859 S | |
860 /Cs2 SC | |
861 0 sc | |
862 0 i | |
863 1 0 0 -1 158 72.5 cm | |
864 /F1.1[ 24 0 0 -24 0 0]sf | |
865 -139 8.6640015 m | |
866 (!!!!!!!!!"#$%&")[ 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 20.904000 13.776000 12.888000 7.992000 14.664000 0.000000 ] xS | |
867 /Cs1 SC | |
868 1 1 1 sc | |
869 CM | |
870 14 293 m | |
871 446 293 l | |
872 446 212 l | |
873 14 212 l | |
874 h | |
875 14 293 m | |
876 f | |
877 0.60000002 i | |
878 0 0 0 sc | |
879 1 0 0 -1 -58 365 cm | |
880 72 72 m | |
881 504 72 l | |
882 504 153 l | |
883 72 153 l | |
884 h | |
885 72 72 m | |
886 S | |
887 /Cs2 SC | |
888 0 sc | |
889 0 i | |
890 1 0 0 -1 230 252.5 cm | |
891 -27.552 8.6640015 m | |
892 ('\(%\)*)[ 15.552000 12.888000 7.992000 5.328000 0.000000 ] xS | |
893 /Cs1 SC | |
894 1 1 1 sc | |
895 CM | |
896 14 212 m | |
897 446 212 l | |
898 446 131 l | |
899 14 131 l | |
900 h | |
901 14 212 m | |
902 f | |
903 0.60000002 i | |
904 0 0 0 sc | |
905 1 0 0 -1 -58 365 cm | |
906 72 153 m | |
907 504 153 l | |
908 504 234 l | |
909 72 234 l | |
910 h | |
911 72 153 m | |
912 S | |
913 /Cs2 SC | |
914 0 sc | |
915 0 i | |
916 1 0 0 -1 230 171.5 cm | |
917 -25.559999 8.6640015 m | |
918 (+,')[ 17.328000 18.240000 0.000000 ] xS | |
919 /Cs1 SC | |
920 1 1 1 sc | |
921 CM | |
922 239 131 m | |
923 446 131 l | |
924 446 14 l | |
925 239 14 l | |
926 h | |
927 239 131 m | |
928 f | |
929 0.60000002 i | |
930 0 0 0 sc | |
931 1 0 0 -1 -58 365 cm | |
932 297 234 m | |
933 504 234 l | |
934 504 351 l | |
935 297 351 l | |
936 h | |
937 297 234 m | |
938 S | |
939 /Cs2 SC | |
940 0 sc | |
941 0 i | |
942 1 0 0 -1 342.5 72.5 cm | |
943 -24.011999 8.6640015 m | |
944 (-&")[ 12.456000 14.664000 0.000000 ] xS | |
945 ep | |
946 end | |
947 %%Trailer | |
948 %%EOF |