view 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
line wrap: on
line source

%!PS-Adobe-3.0 EPSF-3.0
%%HiResBoundingBox: 0.000000 0.000000 460.000000 307.000000
%APL_DSC_Encoding: UTF8
%APLProducer: (Version 10.14.2 (Build 18C54) Quartz PS Context)
%%Title: (Unknown)
%%Creator: (Unknown)
%%CreationDate: (Unknown)
%%For: (Unknown)
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%Pages: 1
%%BoundingBox: 0 0 460 307
%%EndComments
%%BeginProlog
%%BeginFile: cg-pdf.ps
%%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
%%Copyright: All Rights Reserved.
currentpacking true setpacking
/cg_md 141 dict def
cg_md begin
/L3? languagelevel 3 ge def
/bd{bind def}bind def
/ld{load def}bd
/xs{exch store}bd
/xd{exch def}bd
/cmmtx matrix def
mark
/sc/setcolor
/scs/setcolorspace
/dr/defineresource
/fr/findresource
/T/true
/F/false
/d/setdash
/w/setlinewidth
/J/setlinecap
/j/setlinejoin
/M/setmiterlimit
/i/setflat
/rc/rectclip
/rf/rectfill
/rs/rectstroke
/f/fill
/f*/eofill
/sf/selectfont
/s/show
%/as/ashow
/xS/xshow
/yS/yshow
/xyS/xyshow
/S/stroke
/m/moveto
/l/lineto
/c/curveto
/h/closepath
/n/newpath
/q/gsave
/Q/grestore
counttomark 2 idiv
%dup (number of ld's = )print == flush	% *** how many 
{ld}repeat pop
/SC{	% CSname
    /ColorSpace fr scs
}bd
/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
/cgmtx matrix def
/sdmtx{cgmtx currentmatrix pop}bd
/CM {cgmtx setmatrix}bd		% pop the ctm: our gstate ctm on host is now identity
/cm {cmmtx astore CM concat}bd	% reset the matrix and then concat
/W{clip newpath}bd
/W*{eoclip newpath}bd

statusdict begin product end dup (HP) anchorsearch{
    pop pop pop	% pop off the search results
    true
}{
    pop	% previous search result
   (hp) anchorsearch{
	pop pop true
    }{
	pop false
    }ifelse
}ifelse

{	% HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts
    { 
	{ % charCode Wx Wy
	    pop pop % charCode
	    (0)dup 0 4 -1 roll put
	    F charpath
	}cshow
    }
}{
    {F charpath}
}ifelse
/cply exch bd
/cps {cply stroke}bd
/pgsave 0 def
/bp{/pgsave save store}bd
/ep{pgsave restore showpage}def		% dont' bind
/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd

/scrdict 10 dict def
/scrmtx matrix def
/patarray 0 def
/createpat{patarray 3 1 roll put}bd
/makepat{
scrmtx astore pop
gsave
initgraphics
CM 
patarray exch get
scrmtx
makepattern
grestore
setpattern
}bd

/cg_BeginEPSF{
    userdict save/cg_b4_Inc_state exch put
    userdict/cg_endepsf/cg_EndEPSF load put
    count userdict/cg_op_count 3 -1 roll put 
    countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
    3 sub{end}repeat
    /showpage {} def
    0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
    10 setmiterlimit [] 0 setdash newpath
    false setstrokeadjust false setoverprint	% don't use F
}bd
/cg_EndEPSF{
  countdictstack 3 sub { end } repeat
  cg_dict_array 3 1 index length 3 sub getinterval
  {begin}forall
  count userdict/cg_op_count get sub{pop}repeat
  userdict/cg_b4_Inc_state get restore
  F setpacking
}bd

/cg_biproc{currentfile/RunLengthDecode filter}bd
/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
/ImageDataSource 0 def
L3?{
    /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
    /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
}{
    /ImageBandMask 0 def
    /ImageBandData 0 def
    /cg_mibiproc{
	string/ImageBandMask xs
	string/ImageBandData xs
	/ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
	    /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
    }bd
    /cg_miaiproc{	
	string/ImageBandMask xs
	string/ImageBandData xs
	/ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
	    dup ImageBandMask/readstring cvx
	    /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
    }bd
}ifelse
/imsave 0 def
/BI{save/imsave xd mark}bd
/EI{imsave restore}bd
/ID{
counttomark 2 idiv
dup 2 add	% leave room for imagetype and imagematrix
dict begin
{def} repeat
pop		% remove mark
/ImageType 1 def
/ImageMatrix[Width 0 0 Height neg 0 Height]def
currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
% currentdict on stack
L3?{
    dup/MaskedImage known
    { 
	pop
	<<
	    /ImageType 3
	    /InterleaveType 2
	    /DataDict currentdict
	    /MaskDict
	    <<  /ImageType 1
		/Width Width
		/Height Height
		/ImageMatrix ImageMatrix
		/BitsPerComponent 1
		/Decode [0 1]
		currentdict/Interpolate known
		{/Interpolate Interpolate}if
	    >>
	>>
    }if
}if
exch
{imagemask}{image}ifelse	
end	% pop imagedict from dict stack
}bd

/cguidfix{statusdict begin mark version end
{cvr}stopped{cleartomark 0}{exch pop}ifelse
2012 lt{dup findfont dup length dict begin
{1 index/FID ne 2 index/UniqueID ne and
{def} {pop pop} ifelse}forall
currentdict end definefont pop
}{pop}ifelse
}bd
/t_array 0 def
/t_i 0 def
/t_c 1 string def
/x_proc{ % x y
    exch t_array t_i get add exch moveto
    /t_i t_i 1 add store
}bd
/y_proc{ % x y
    t_array t_i get add moveto
    /t_i t_i 1 add store
}bd
/xy_proc{
        % x y
	t_array t_i 2 copy 1 add get 3 1 roll get 
	4 -1 roll add 3 1 roll add moveto
	/t_i t_i 2 add store
}bd
/sop 0 def		% don't bind sop
/cp_proc/x_proc ld 	% default moveto proc is for xwidths only
/base_charpath		% string array
{
    /t_array xs
    /t_i 0 def
    { % char
	t_c 0 3 -1 roll put
        currentpoint
	t_c cply sop
        cp_proc
    }forall
    /t_array 0 def
}bd
/sop/stroke ld		% default sop is stroke. Done here so we don't bind in /base_charpath 

% default sop is stroke
/nop{}def
/xsp/base_charpath ld
/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
/refnt{ % newname encoding fontname
findfont dup length dict copy dup
/Encoding 4 -1 roll put 
definefont pop
}bd
/renmfont{ % newname fontname
findfont dup length dict copy definefont pop
}bd

L3? dup dup{save exch}if

% languagelevel2 ONLY code goes here

/Range 0 def
/DataSource 0 def
/val 0 def
/nRange 0 def
/mulRange 0 def
/d0 0 def
/r0 0 def
/di 0 def
/ri 0 def
/a0 0 def
/a1 0 def
/r1 0 def
/r2 0 def
/dx 0 def
/Nsteps 0 def
/sh3tp 0 def
/ymax 0 def
/ymin 0 def
/xmax 0 def
/xmin 0 def

/setupFunEval % funDict -- 	% this calculates and sets up a function dict for evaulation.
{
    begin
	/nRange Range length 2 idiv store
	/mulRange   % precompute the range data needed to map a sample value from the table to a range value
		    % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ]
	[ 
	    0 1 nRange 1 sub
	    { % index
		    2 mul/nDim2 xd		% 2*dimension# we are dealing with
		    Range nDim2 get		% ymin
		    Range nDim2 1 add get	% ymin ymax 
		    1 index sub			% ymin (ymax-ymin)
						% xmin = 0, xmax = 255 (2^bitspersample - 1)
		    255 div			% ymin (ymax-ymin)/(xmax - xmin)
		    exch			% (ymax-ymin)/(xmax - xmin) ymin
	    }for
	]store
    end
}bd

/FunEval % val1 fundict -> comp1 comp2 ... compN
{
    begin
	% the value passed in is the base index into the table
	nRange mul /val xd	% compute the actual index to the table
				% since there are nRange entries per base index
	0 1 nRange 1 sub
	{
	    dup 2 mul/nDim2 xd % dim
	    val	% base value to use to do our lookup
	    add DataSource exch get %  lookedupval
	    mulRange nDim2 get mul 	% lookedupval*(ymax-ymin)/(xmax-xmin)
	    mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin
	    add % interpolated result
	}for	% comp1 comp2 ... compN
    end
}bd

/max % a b -> max(a, b)
{
	2 copy lt
	{exch pop}{pop}ifelse
}bd

/sh2
{	% emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack
	/Coords load aload pop 	% x0 y0 x1 y1
	3 index 3 index translate	% origin is now at beginning point of shading
					% x0 y0 x1 y1
	3 -1 roll sub	% x0 x1 y1-y0
	3 1 roll exch 	% y1-y0 x1 x0
	sub				% y1-y0 x1-x0
	2 copy
	dup mul exch dup mul add sqrt	% length of segment between two points
	dup
	scale  
	atan	% atan (dy/dx)
	%dup (rotation angle = )print ==
	rotate		% now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn					
	
	/Function load setupFunEval	% may need to setup function dictionary by calling setupFunEval
	
	% this is now specific to axial shadings. Compute the maximum bounds to fill
	clippath {pathbbox}stopped {0 0 0 0}if newpath 	% x0 y0 x1 y1
	/ymax xs
	/xmax xs
	/ymin xs
	/xmin xs
	currentdict/Extend known
	{
		/Extend load 0 get
		{	
			0/Function load FunEval sc	% evaluate the function to get a color and set it
			xmin ymin xmin abs ymax ymin sub rectfill
		}if
	}if
	% paint the rects. The sampling frequency is that of our table
	/Nsteps/Function load/Size get 0 get 1 sub store
	/dx 1 Nsteps div store
	gsave
		/di ymax ymin sub store
		/Function load
		% loop Nsteps + 1 times, incrementing the index by 1 each time
		0 1 Nsteps
		{
			1 index FunEval sc
			0 ymin dx di rectfill
			dx 0 translate
		}for
		pop	% pop our function
	grestore	% origin is back to start point
	currentdict/Extend known
	{
		/Extend load 1 get
		{	
			Nsteps/Function load FunEval sc	% last element
			1 ymin xmax 1 sub abs ymax ymin sub rectfill
		}if
	}if
}bd

/shp	% this paints our shape for shading type 3
{	% x1 r1 x0 r0 -
	4 copy

	% fill interior arc
	dup 0 gt{
		0 exch a1 a0 arc
	}{
		pop 0 moveto
	}ifelse

	dup 0 gt{
		0 exch a0 a1 arcn
	}{
		pop 0 lineto
	}ifelse
	
	fill

	% fill exterior arc
	dup 0 gt{
		0 exch a0 a1 arc
	}{
		pop 0 moveto
	}ifelse

	dup 0 gt{
		0 exch a1 a0 arcn
	}{
		pop 0 lineto
	}ifelse
	
	fill
}bd

/calcmaxs
{	% calculate maximum distance vector from origin to corner points
	% of bbox
	xmin dup mul ymin dup mul add sqrt		% (xmin2 + ymin2)
	xmax dup mul ymin dup mul add sqrt		% (xmax2 + ymin2)
	xmin dup mul ymax dup mul add sqrt		% (xmin2 + ymax2)
	xmax dup mul ymax dup mul add sqrt		% (xmax2 + ymax2)
	max max max								% maximum value
}bd

/sh3
{	% emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack
	/Coords load aload pop 	% x0 y0 r1 x1 y1 r2
	5 index 5 index translate	% origin is now at first circle origin
	3 -1 roll 6 -1 roll sub		% y0 r1 y1 r2 dx
	3 -1 roll 5 -1 roll sub		% r1 r2 dx dy
	2 copy dup mul exch dup mul add sqrt
	/dx xs						% r1 r2 dx dy
	2 copy 0 ne exch 0 ne or
	{
		% r1 r2 dx dy
		exch atan rotate	% we are now rotated so dy is zero and positive values of dx move us as expected
	}{
		pop pop
	}ifelse
	% r1 r2		
	/r2 xs
	/r1 xs
	/Function load 
	dup/Size get 0 get 1 sub	% this is the size of our table minus 1
	/Nsteps xs		% at some point we should optimize this better so NSteps is based on needed steps for the device
	setupFunEval		% may need to setup function dictionary by calling setupFunEval
	% determine the case:
	% case 0: circle1 inside circle2
	% case 1: circle 2 inside circle 1
	% case 2: r1 = r2 
	% case 3: r1 != r2
	dx r2 add r1 lt{
		% circle 2 inside of circle 1
		0 
	}{
		dx r1 add r2 le
		{ % circle 1 inside of circle 2
			1
		}{ % circles don't contain each other
			r1 r2 eq
			{	% equal
				2
			}{ % r1 != r2
				3
			}ifelse		
		}ifelse
	}ifelse
	/sh3tp xs		% sh3tp has the number of our different cases
	clippath {pathbbox}stopped {0 0 0 0}if 
	newpath 	% x0 y0 x1 y1
	/ymax xs
	/xmax xs
	/ymin xs
	/xmin xs

	% Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr)
	dx dup mul r2 r1 sub dup mul sub dup 0 gt
	{
		sqrt r2 r1 sub atan
		/a0 exch 180 exch sub store 
		/a1 a0 neg store 
	}{
		pop
		/a0 0 store
		/a1 360 store		
	}ifelse		

	currentdict/Extend known
	{
		/Extend load 0 get r1 0 gt and	% no need to extend if the radius of the first end is 0
		{	
			0/Function load FunEval sc	% evaluate the function to get a color and set it
			% case 0: circle1 inside circle2
			% case 1: circle 2 inside circle 1
			% case 2: circles don't contain each other and r1 == r2
			% case 3: circles don't contain each other and r1 != r2
			{ 
				{	% case 0
					dx 0 r1 360 0 arcn
					xmin ymin moveto
					xmax ymin lineto
					xmax ymax lineto
					xmin ymax lineto
					xmin ymin lineto
					eofill		% for the bigger radius we fill everything except our circle
				}
				{	% case 1
					r1 0 gt{0 0 r1 0 360 arc fill}if
				}
				{	% case 2
					% r1 == r2, extend 0
					% r3 = r, x3 = -(abs(minx) + r), x1 = 0
				
					% x(i+1) r(i+1) x(i) r(i) shp
					0 r1 xmin abs r1 add neg r1 shp
				}
				{	% case 3
					% no containment, r1 != r2
				
					r2 r1 gt{	% the endpoint we are drawing is that with a circle of zero radius
						% x(i+1) r(i+1) x(i) r(i) shp
						0 r1
						r1 neg r2 r1 sub div dx mul	% this is point of beginning circle
						0	% point of ending circle
						shp	% takes x(i+1) r(i+1) x(i) r(i)
					}{	% the first circle is the bigger of the two
						% we find a circle on our line which is outside the bbox in the
						% negative direction
						% x(i+1) r(i+1) x(i) r(i) shp
						0 r1 calcmaxs	% 0 r1 maxs
						dup
						% calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2))
						r2 add dx mul dx r1 r2 sub sub div
						neg				% maxs xs'
						exch 1 index	% xs' maxs xs'
						abs exch sub
						shp
					}ifelse
				} 
			}sh3tp get exec	% execute the extend at beginning proc for our shading type
		}if
	}if

	% now do the shading
	/d0 0 store
	/r0 r1 store
	/di dx Nsteps div store
	/ri r2 r1 sub Nsteps div store 
	/Function load 
	0 1 Nsteps
	{	% function t(i)
		1 index FunEval sc
		d0 di add r0 ri add d0 r0 shp
		{
		% fill interior arc
		d0 0 r0 a1 a0 arc
		d0 di add 0 r0 ri add a0 a1 arcn
		fill
		
		% fill exterior arc
		d0 0 r0 a0 a1 arc
		d0 di add 0 r0 ri add a1 a0 arcn
		fill
		}pop
		
		% advance to next
		/d0 d0 di add store
		/r0 r0 ri add store
	}for
	pop	% pop our function dict

	% handle Extend
	currentdict/Extend known
	{
		/Extend load 1 get r2 0 gt and	% no need to extend if the radius of the last end is 0
		{	
			Nsteps/Function load FunEval sc	% last element
			% case 0: circle1 inside circle2
			% case 1: circle 2 inside circle 1
			% case 2: circles don't contain each other and r1 == r2
			% case 3: circles don't contain each other and r1 != r2
			{ 
				{
					dx 0 r2 0 360 arc fill
				} 
				{
					dx 0 r2 360 0 arcn
					xmin ymin moveto
					xmax ymin lineto
					xmax ymax lineto
					xmin ymax lineto
					xmin ymin lineto
					eofill		% for the bigger radius we fill everything except our circle
				} 
				{	% r1 == r2, extend 1
					% r3 = r, x3 = (abs(xmax) + r), x1 = dx
					% x(i+1) r(i+1) x(i) r(i) shp
					xmax abs r1 add r1 dx r1 shp
				}	
				{	% no containment, r1 != r2
			
					r2 r1 gt{
						% we find a circle on our line which is outside the bbox in the
						% positive direction
						% x(i+1) r(i+1) x(i) r(i) shp
						calcmaxs dup	% maxs maxs
						% calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1))
						r1 add dx mul dx r2 r1 sub sub div	% maxs xs
						exch 1 index	% xs maxs xs
						exch sub
						dx r2
						shp
					}{	% the endpoint we are drawing is that with a circle of zero radius
						% x(i+1) r(i+1) x(i) r(i) shp
						r1 neg r2 r1 sub div dx mul	% this is point of ending circle
						0		% radius of ending circle
						dx 		% point of starting circle
						r2		% radius of starting circle
						shp
					}ifelse
				}
			}			
			sh3tp get exec	% execute the extend at end proc for our shading type
		}if
	}if
}bd
/sh		% emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions
{	% shadingDict --
	begin
		/ShadingType load dup dup 2 eq exch 3 eq or
		{	% shadingtype
			gsave
				newpath
				/ColorSpace load scs
				currentdict/BBox known
				{
					/BBox load aload pop	% llx lly urx ury
					2 index sub				% llx lly urx ury-lly
					3 index					% llx lly urx ury-lly llx
					3 -1 roll exch sub 
					exch rectclip
				}if
				2 eq
				{sh2}{sh3}ifelse
			grestore
		}{
			% shadingtype
			pop 
			(DEBUG: shading type unimplemented\n)print flush
		}ifelse
	end
}bd

% end of language level 2 ONLY code

{restore}if not dup{save exch}if
% languagelevel3 ONLY code goes here
	L3?{	% we do these loads conditionally or else they will fail on a level 2 printer
		/sh/shfill ld
		/csq/clipsave ld
		/csQ/cliprestore ld
	}if
{restore}if

%currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush	% *** how many entries are free
end
setpacking
% count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if	% *** BARK if anything is left on stack
%%EndFile
%%EndProlog
%%BeginSetup
%%EndSetup
%%Page: 1 1
%%PageBoundingBox: 0 0 460 307
%%BeginPageSetup
cg_md begin
bp
sdmtx
%RBIBeginFontSubset: HelveticaNeue
%!FontType1-1.0: HelveticaNeue 1.0000.1.0000

14 dict begin/FontName /HelveticaNeue def

/PaintType 0 def

/Encoding 256 array 0 1 255{1 index exch/.notdef put}for

dup 33 /space put

dup 34 /M put

dup 35 /o put

dup 36 /a put

dup 37 /r put

dup 38 /V put

dup 39 /P put

dup 40 /e put

dup 41 /l put

dup 42 /six put

dup 43 /N put

dup 44 /Q put

dup 45 /J put

readonly def

42/FontType resourcestatus{pop pop false}{true}ifelse

%APLsfntBegin

{currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if

/FontType 42 def

/FontMatrix matrix def

/FontBBox[1000 -951 1 index div -481 2 index div 1987 3 index div 1077 5 -1 roll div]cvx def

/sfnts [<

74727565000900000000000063767420000000000000009C000000186670676D00000000000000B400000428676C796600000000000004DC00000B2C6865616400000000000010080000003668686561000000000000104000000024686D747800000000000010640000003C6C6F636100000000000010A0000000206D61787000000000000010C0000000207072657000000000000010E00000004D14000014004B005A00000011FF3A000B0205000C02CA0011B800002C4BB800095058B101018E59B801FF85B844001DB9000900035F5E2DB800012C2020456944B001602DB800022CB800012A212DB800032C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800042C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800052C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800062C2020456944B001602020457D691844B001602DB800072CB800062A2DB800082C4B20B003265358B0801BB040598A8A20B003265358B0022621B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B80003265358B0032545B8014050582321B8014023211BB003254523212321591B2159442DB800092C4B535845441B2121592DB8000A2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8000B2C2020456944B001602DB8000C2CB8000B2A212DB8000D2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8000E2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8000F2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800102C2020456944B001602020457D691844B001602DB800112CB800102A2DB800122C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800132C4B535845441B2121592DB800142C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800152C2020456944B001602DB800162CB800152A212DB800172C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800182C2046B00425465258238A592046206A6164B0042546

206A61645258238A592FFD2DB800192C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8001A2C2020456944B001602020457D691844B001602DB8001B2CB8001A2A2DB8001C2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8001D2C4B535845441B2121592D00020033000101CC02C8000300070065B800142BB800082FB800002FB8000810B80006D0B800062FB900020003F4B8000010B900040003F4B80009DC00B800014558B800042F1BB90004000A3E59B800014558B800052F1BB9000500043E59B8000410B900000002F4B8000510B900020002F4303101211121131121110199FECD013333FE67029AFD950299FD3902C700020026FFF5020702C50023003700E3BA001C000900032BB8001C10BA0013002900032BB8001310411B0006001C0016001C0026001C0036001C0046001C0056001C0066001C0076001C0086001C0096001C00A6001C00B6001C00C6001C000D5D410500D5001C00E5001C00025D410500DA002900EA002900025D411B0009002900190029002900290039002900490029005900290069002900790029008900290099002900A9002900B9002900C90029000D5DB8000910B80033DCB8001310B80039DC00BA002E000E00032BB8002E10BA0004002100032BB8000410BA0018002400032BB8001810B8000410B80000DC303101332E0123220E0215141E0233323E0235342E0223220607273E0333321607321E0215140E0223222E0235343E02019E550868584C643C191134604F435B37181E3751333A591E02010E254236333E7A2436241113243523233725141326360210585D406A8949387864402D45542731543E232C3102295E51353AC31A2B3B211F392C19192A3A21213B2B190000010016FFF001B902CA0015002BBA000C000D00032BB8000C10BA0001000200032BB800011000B800012FBA0006001100032BB8000610303125112311140623222E023D012315141633323E0201B95F3141232D190A5F6C643C513115B20218FDF63B461526341F1E2C666921374600000100500000031702CA000E0057BA0003000000032BB8000310BA000B000800032BB8000B10BA000D0000000B11123900B800012FB800052FB800092FB800002FB8000B2FBA000400010000111239BA000800010000111239BA000D000100001112393031131133113313331333113311230B01505A02DF51DF025A82E2E102CAFD360252FDAE0252FDAE02CAFDA802580000000001004D0000028602CA000B004BBA00

03000000032BB8000310BA0007000800032BB8000710B8000810B8000AD0B8000A2F00B800012FB800052FB800002FB800072FBA000400010000111239BA000A0001000011123930311311331133013311231123014D5A020175685A02FE8802CAFD36023DFDC302CAFDBD02430000000002004E0000026202CA000800130089B800152FBA0001000900032BB8000110B8001510B80010DCB80005DC410500DA000500EA000500025D411B0009000500190005002900050039000500490005005900050069000500790005008900050099000500A9000500B9000500C90005000D5DB8000110B8000BD000B8000A2FBA0009000100032BB8000910BA0000000C00032BB800001030311311333216151406270111331133163635342623ADBA514B4B51FEE75FDA6C6F6F6C0174010643404044010156FD360124017064646F0000020026FFC302D202DB0016002D00E1B8002E2FB8002F2FB8002E10B80026D0B800262FB8002F10B8001CDCBA00020026001C111239B8002610B80009DC411B0006000900160009002600090036000900460009005600090066000900760009008600090096000900A6000900B6000900C60009000D5D410500D5000900E5000900025DB8001C10B80013DC410500DA001300EA001300025D411B0009001300190013002900130039001300490013005900130069001300790013008900130099001300A9001300B9001300C90013000D5D00B800172FBA0004002B00032BB8000410BA0021000E00032BB800211030312507170623222E0235343E0233321E02151406071737273E0135342E0223220E0215141E0233323701C2324F3033415E3C1C1C3C5E41415E3C1C282A73305E36362B5680555580562B2B5680556348CC3A3F1433546936366954333354693642792ABD3C4A3694524987683E3E6887494987683D2A0000000100000000026502CA0007001900B800012FB800052FB800002FBA000400000001111239303121132303230323130167FE63CE02CC66FB02CAFD95026BFD3600020024FFF5020A021100300042015CB800142BBB00380003000D00182BBB002A0003001700182BB8001710B80005D0B800052F4111000600380016003800260038003600380046003800560038006600380076003800085D4105008500380095003800025DB8003810B900200003F4B9001F0003F4B8001710B900300003F4B8001710B80031D0B800312FB8002A10B80044DC00B800014558B800252F1BB9002500083E59B800014558B800022F1BB9000200043E59B800014558B800082F1BB9000800043E59BA000500020025111239B8002510B9001C0002F441050089001C0099001C00025D41110008001C0018001C0028001C0038001C0048001C0058001C0068001C0078001C00085DB8002510B8001FDCB800

0210B9002E0002F441110007002E0017002E0027002E0037002E0047002E0057002E0067002E0077002E00085D41050086002E0096002E00025DBA003000020025111239BA003100020025111239B8003DD030312506232226350E0123222E0235343E02373E0335342E0223220607233E0333321E0215111416333237270E0515141E0233323E0235020A16272127235D36233F2E1B1E313F21233F301C152129143648035502243C4D2C2345382207140B0F8A1034393A2E1D111B24142A3C2612020D252A2A25102237272C3823120607070D19181C2212062939304229120A1F382DFEF61E1C05C70C0B0709142520151D12081723291200000000020024FFF502030211000A0026005BBA0014001F00032BB8001410BA0015000000032BB8001510B8001410B80001D0B8000010B8000CD0B8000C2F00BA000F002400032BB8000F10BA001A000600032BB8001A10BA0001001400032BB8000110B8002410B8000CDC303101213E0333321E0217230E0123222E023721362E0223220E02151E0333323601A7FED702162635212035271754540B45362A3E28120101830215375B4535594124021F3E5B3E587401341E352817172736AE33321C2F3D222F6858392848623B3B64482858000100450000009A02CA00030017BA0003000000032BB800031000B800012FB800002F303113113311455502CAFD3602CA00000000020024FFF5021A02110013002700CBB800282FB800292FB8002810B80014D0B800142FB80000DC411B0006000000160000002600000036000000460000005600000066000000760000008600000096000000A6000000B6000000C60000000D5D410500D5000000E5000000025DB8002910B8001EDCB8000ADC410500DA000A00EA000A00025D411B0009000A0019000A0029000A0039000A0049000A0059000A0069000A0079000A0089000A0099000A00A9000A00B9000A00C9000A000D5D00BA000F001900032BB8000F10BA0023000500032BB8002310303113343E0233321E0215140E0223222E0227141E0233323E0235342E0223220E027E192C3B21213B2C19192C3B21213B2C195A20405E3D3E5D402020405D3E3D5E402001022F49321A1A32492F2F49311A1A31492F39624929294962393963492A2A496300000001003D0000014D0213000E0027BA0003000100032BB8000310B8000DD0B8000D2F00B800012FBA0009000800032BB8000910303113113335343E02333526060723353D55142C4833455A1F020205FDFBE6324D361C5A023C3F6D0000020037FF5B04A802FA000B00110023B800142BBB00060003000300182B00B800042FB800112FBB00090002000000182B3031372226351133111416332115050901370901F75E62622E30034EFEA20136FECA42017FFE8276606101C3FE3D30345DD701

0401004BFEB5FEB80001000000010000062A4FC55F0F3CF5011103E800000000B643600000000000D7C23C38FC49FE1F07C304350000000900020000000000000001000003B8FF2B001C08B1FC49FE8007C300010000000000000000000000000000000F01F4003301160000022C0026020700160367005002D2004D0288004E02F8002602630000021900240219002400DE0045023E0024014D003D04BE003700000048004801080140018A01CA023202E6030604100478049205320560059600010000000F0096000900680004000200000000001E00000200042800030001B800142B01BA0002000200162B01BF0003003E0037002B001F00130000001C2B00BF0002004A0037002B001F00130000001C2B00BA00040004001B2BB8000120457D691844B8000A2BB800002B000000

00>] def

/CharStrings 15 dict dup begin

/.notdef 0 def
/space 1 def
/six 2 def
/J 3 def
/M 4 def
/N 5 def
/P 6 def
/Q 7 def
/V 8 def
/a 9 def
/e 10 def
/l 11 def
/o 12 def
/r 13 def
/uni2B91 14 def
 end readonly def

currentdict dup/FontName get exch definefont pop end

%APLsfntEnd

42/FontType resourcestatus{pop pop true}{false}ifelse

{currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if

/FontType 1 def

/FontMatrix [ 0.001 0 0 0.001 0 0 ] def

/FontBBox{-951 -481 1987 1077}def

/UniqueID 4151493 def

currentdict currentfile eexec

54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B1454491BCF48412CA40CE1C5F7851A403FDB5F7EBECD00BD59442330258C8F54F9A2B51CA5B18D1E30D1E4A019367173FB88C9EAC98BBAE7C8DBD85C921487E373D87D743B1E079DE09460CC2A636025DC35BEC305286A6417863D21598DD21D73FBBE42615DDD41C15AD35281AAFDD0AEC69551C6A28E3B80A48799AC3B40AE9CF973E85FC1F0F823599BA829D3CF0DEC0232021563D3AA221D2EF22204AF7B557A804DD4A7B1017F879E2F2118396C1180DCDD08F38BFCE37C662B3F2E366144A4D963025E1A5319637505A2EDFEB528CA9970FF8ED7F9535484185C3C7AD75DFA7DFBB353EB08281333FAAF0B6F0F2B5754F60968B327F893CFC575AF6295EA580E6246E9B6229C6DA6F95A3FCB7058D9E02B63EDD142AF8F2830ACA9D442282B0BA121ED067EE237AC776AE71FAC3BA7EF4719A64FE81A11E38A897407E9951375983367BE16AE2A6F820562728002ECB442A2F1165855819E99A7CCFC0BB3F2DE88A4FD68534CD4D00C0313B5FFDD49D70BBD5046CBD6F47F429844B57132EB7CBBA4F85BD8874586A1824A3245EEFA7AB1B73E63D9FF68E97E489DF0CC28FEC218D3EC8161F48E38C8FCEF2D84C32F49918488A70DCE7101187BB91A3B57162D9FA495C5875C6568760C39FA51C1400B6926C3C77A6CDC92EBE5FF979B01D08729C9A9D8259689CA4D8B404331BEAED1B9E84297C42B695C7984BABA8D1C48EB126878F6234BAC70464CA8714C990A8CA9AF4BB338DE1C3B1E532A7EE

B5DF2E0B09D799F0FE0F4CEA78ECDD1C088DC37CEE6110431390711E66F98707098B7B74A73B56A34171A20E859377DF19D8500556F2A3C1CC2B7A95070365B04BEAA4C6E44686F8DE05E946CE1DD8C8474BF1877EEC83ADD29E77DC0A78B9B2232894A43FCB3CBCD95D705483CC0F374A5EAFE14699A4A8D9E6E174FDE9E93B7A3C00B9574052C03638D585BBA34D5C146C19277A5BDBF51FBA97EAC43DE47AEF928D4A6A6669BC75BE267750B0E9D51E0A2278EB48974C8610EC7E63A39601D35508377826D4AEC61EEDF4707E69F95906FCF08531DA749DF4846F846C5B6E93EA1FBF83165D4D13CB08078E860BDD264993367505BED3D19921D4834EB01370C53163264BB9A2FEA871D9BD123448C8C291BF287FF0C048C2BA7F7D6355C84409D4C8CC5510AFCD0994DC89A85B3771E41F05094DC08F113D22BF7B4B09BA1C0D66DB36886294CD658C8F5F3155ED5EAF803D7AF9BCD2FA836BB1607C70E3B71414B4C2F09EEDF004BD40436C69FC37FC3350BAA177FD1FF616C8493948FF25632812D37C56E086C4A0A2810AA8181391E1E2378009DEBB0C0550F2C8299EC3B727C78E840E7313ACFB2FF34A3013AB731DF38B5C01B79492BBEFFD338ACE3B59CD0E533CF22A49BFC433853BBCE878A78750DEFFF0FDF0F46BAABAC5F312A03010F8F1CB430888C1BEF641515C5291A0437A6FDD2D0BDB3334500383084147352B19E1F194A178DAF9FF9AD868FE0093C346BAB3604210B11B075490DAA499AEC959C52B4D28048887C39E67ECF36CD6AFA4C02450624A2B5765F91AB04E63970A39F13832D928A84085AE3B12B45A23659206390F78DF8166CE5DC4F908DFB6FB2C2DDA6D0DBB31E13687E3D410EEA087651C574005B6C64A4F4807C1662E7177B85C9E9F682DB371AAC607A952F8C95C3C8C8FF0B254537F4E445EE7E782B5DC26FA55A025724D21E427BA05D03F80045837EA44A911669897C0E16C83346C225683661087E46E2EFABB768053B93E8DDDDFAF6D7FE5F1E7AB4E8AAB5A9A2B77784176BE3B87C1292048C3DDA80356842E0452F65B65DE41C898A3D508FCAC9D26760348FAC55C191A8F4E5F2C4445D89C2C1B831CE296B2E4D2F2F43A5B156087BC75309493FEC5CCC9A52360C8FB0188283D98B0211071CC9B06725FB16DCEAA5E023373E6FE037F4F4396B6EB65F6DF5E9BB8BE00F8B771B9E019DD8508185A1C6C3044D8DA89CE6A4BB310A7CA62989DBDD61732FF895676B65F55C0723E65BCF70586F8FFFC49D788CF87B7116EFC2120E1657980F3488FF6AEA79C912E50242C4035C957CF40E1915AAAB684C3616B52C7C9EB68A78F6979D7D8CBBDE454F39EF3D470883EA044B7DDC3DBBAB98A0ADF4921A2A14374A850E86063FC8BA4BB1BCE55A19EEA3AE24756ABA535FB872AEECC494530DC912AC1E23B

6FC6A27A318C0D19D66F0706D5EC0BA6E74ABCA979F19D9445629C88EBE06EAE999CE2430D686C5F4857D420379C6C1B674676373C5C93CC829072E560ABB0500589AC7FD211FEA540B193D702A0D86F3DC8EE498FAA4FABC52A87EB199D740EBC673300344A78A739B92B313A299558A9E79BA5C0075C9A4B56C84B9B20B4D56822E079DB29346054F0B40E777756B5BB60B43C197D132FC67A6FBC9B97B44715DFFCF95F16E18C1E2974271C531D56CA9D60A7FAC96DCA144E8A7F670605C273D16D5B446148CB389F7B2703443155F7FC76A686781E0BDCB7BEA353BF7E20A8B5C39FEDFEBB79471C83AF730AE4DD51A8515B04643A4C6A04BD546330566BDAC1FDE0F63E0AABF3CD14AFFEC15A173D1DFDDE35D7941BDC26CB74F7244813F74998C6F2E9A7F19D44746F001812016BB8678C18530CB19875AD3F30B6C7BAB82A4FA79536C72B408647771AFD2F378A2E101F91DE769F1DFC0AC8DFC8E977A6434BA5BED71699422161F6A4F803A448DC4767C8C92520D10CE52EC70CDA6ACF1EC6185DB2F44CA5DB970F72CA2892E920A73597627D8689F6A0F2F06EBBEB6C03AB0DD8BE3E98BB056CC018F1B2A4BF61515409BB274FD330E0014A41AB41790553C144FE817D0B6044ED8E896C2233836B5C66AF22A71635A0E98F74B2971E5C1960C3B14AFD3635EF2606461604CDF5DC2A3188D9018BC64950DCC82BF8FD778EBC33A6A61D78846BDE3122A9165EB636BC86B23B7B35279E437AD75CA026DF505E80A4E51AF62278645F44002295E019DD9601F5D7265416B9CBD7375C2B7D5FB8F0861703ECCD63CE4FAA2FC654B1FB420BB0DD91397497A8E8488D7706F767BEE3AD5BDA994F680D43500C228F0128DD2BF6FF43ECA31C66CC8C76BC6B56CD856C5E55CCC6F71FD99BF19C5468C5FCF9685F329D03C17A02D017ED46A050C3237917B571BA91760432314672233A0C6C54A2FCE6E2FAC31A20E88315C7D0120799B91467DF6B86189C792200FC2AFC8575D5E6ED008DFEBD6EEDD982665976DF89E14179

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

cleartomark end

%APLT1End

%RBIEndFontSubset
/HelveticaNeue cguidfix
/F1.1/HelveticaNeue renmfont
[ /CIEBasedABC 4 dict dup begin 
/WhitePoint [ 0.9505 1.0000 1.0891 ] def 
/DecodeABC [ { 1.8008  exp } bind { 1.8008  exp } bind { 1.8008  exp } bind ] def 
/MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def 
/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def 
end ] /Cs1 exch/ColorSpace dr pop
[ /CIEBasedA 5 dict dup begin /WhitePoint [ 0.9505 1.0000 1.0891 ] def 
/DecodeA { { 1.8008  exp } bind  exec} bind 
def 
/MatrixA [ 0.9642 1.0000 0.8249 ] def 
/RangeLMN [ 0.0 2.0000 0.0 2.0000 0.0 2.0000 ] def 
/DecodeLMN [ { 0.9857  mul} bind { 1.0000  mul} bind { 1.3202  mul} bind ] def 
end ] /Cs2 exch/ColorSpace dr pop
%%EndPageSetup
/Cs1 SC
1 1 1 sc
q
0 0 460 307 rc
-58 365 m
518 365 l
518 -584 l
-58 -584 l
h
-58 365 m
f
14 131 m
302 131 l
302 14 l
14 14 l
h
14 131 m
f
7 w
1 J
1 j
0.60000002 i
0 0 0 sc
1 0 0 -1 -58 365 cm
72 234 m
360 234 l
360 351 l
72 351 l
h
72 234 m
S
/Cs2 SC
0 sc
0 i
1 0 0 -1 158 72.5 cm
/F1.1[ 24 0 0 -24 0 0]sf
-139 8.6640015 m
(!!!!!!!!!"#$%&")[ 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
/Cs1 SC
1 1 1 sc
CM
14 293 m
446 293 l
446 212 l
14 212 l
h
14 293 m
f
0.60000002 i
0 0 0 sc
1 0 0 -1 -58 365 cm
72 72 m
504 72 l
504 153 l
72 153 l
h
72 72 m
S
/Cs2 SC
0 sc
0 i
1 0 0 -1 230 252.5 cm
-27.552 8.6640015 m
('\(%\)*)[ 15.552000 12.888000 7.992000 5.328000 0.000000 ] xS
/Cs1 SC
1 1 1 sc
CM
14 212 m
446 212 l
446 131 l
14 131 l
h
14 212 m
f
0.60000002 i
0 0 0 sc
1 0 0 -1 -58 365 cm
72 153 m
504 153 l
504 234 l
72 234 l
h
72 153 m
S
/Cs2 SC
0 sc
0 i
1 0 0 -1 230 171.5 cm
-25.559999 8.6640015 m
(+,')[ 17.328000 18.240000 0.000000 ] xS
/Cs1 SC
1 1 1 sc
CM
239 131 m
446 131 l
446 14 l
239 14 l
h
239 131 m
f
0.60000002 i
0 0 0 sc
1 0 0 -1 -58 365 cm
297 234 m
504 234 l
504 351 l
297 351 l
h
297 234 m
S
/Cs2 SC
0 sc
0 i
1 0 0 -1 342.5 72.5 cm
-24.011999 8.6640015 m
(-&")[ 12.456000 14.664000 0.000000 ] xS
ep
end
%%Trailer
%%EOF