From b714ce8e20b324368a7ab233be6fa9a0e50befa4 Mon Sep 17 00:00:00 2001 From: Marius Date: Wed, 18 May 2011 23:40:14 +0300 Subject: stable 2011.05.18 18:04 --- metapost/context/base/mp-mlib.mp | 52 +- scripts/context/lua/mtxrun.lua | 36 +- scripts/context/stubs/mswin/mtxrun.lua | 36 +- scripts/context/stubs/unix/mtxrun | 36 +- tex/context/base/back-pdf.lua | 73 +- tex/context/base/char-def.lua | 4 +- tex/context/base/colo-ini.lua | 121 +- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/core-con.lua | 2 +- tex/context/base/font-ctx.lua | 6 +- tex/context/base/l-dir.lua | 16 +- tex/context/base/l-os.lua | 20 +- tex/context/base/l-table.lua | 3 +- tex/context/base/lang-txt.lua | 2 +- tex/context/base/lpdf-grp.lua | 21 +- tex/context/base/math-ali.mkiv | 2 +- tex/context/base/mlib-pps.lua | 103 +- tex/context/base/mult-def.lua | 2 +- tex/context/base/mult-fr.mkii | 2 +- tex/context/base/node-rul.mkiv | 6 +- tex/context/base/page-app.mkiv | 2 +- tex/context/base/page-com.mkiv | 18 +- tex/context/base/page-lay.mkiv | 102 +- tex/context/base/page-run.mkiv | 164 +- tex/context/base/s-map-10.mkiv | 48 +- tex/context/base/scrn-pag.mkvi | 172 +- tex/context/base/spac-ver.mkiv | 28 +- tex/context/base/status-files.pdf | Bin 23548 -> 23577 bytes tex/context/base/status-lua.pdf | Bin 154363 -> 154401 bytes tex/context/base/strc-not.mkiv | 1 + tex/context/base/syst-aux.mkiv | 4 + tex/context/base/typo-cap.lua | 1 + tex/context/base/typo-cap.mkiv | 8 +- tex/context/fonts/demo.lfg | 10 +- tex/context/interface/keys-fr.xml | 2 +- tex/context/sample/cow.pdf | Bin 0 -> 5526 bytes tex/context/sample/hacker.jpg | Bin 0 -> 36148 bytes tex/context/sample/mill.png | Bin 0 -> 154867 bytes tex/context/sample/spider.eps | 2843 +++++++++++++++++++++++++++ tex/generic/context/luatex-fonts-merged.lua | 2 +- tex/generic/context/luatex-plain.tex | 25 - 44 files changed, 3642 insertions(+), 339 deletions(-) create mode 100644 tex/context/sample/cow.pdf create mode 100644 tex/context/sample/hacker.jpg create mode 100644 tex/context/sample/mill.png create mode 100644 tex/context/sample/spider.eps delete mode 100644 tex/generic/context/luatex-plain.tex diff --git a/metapost/context/base/mp-mlib.mp b/metapost/context/base/mp-mlib.mp index 9929cfde5..6c7115cb7 100644 --- a/metapost/context/base/mp-mlib.mp +++ b/metapost/context/base/mp-mlib.mp @@ -359,8 +359,7 @@ vardef define_linear_shade (expr a, b, ca, cb) = enddef ; primarydef p withshade sc = - p - withprescript _defined_cs_pre_[sc] + p withprescript _defined_cs_pre_[sc] enddef ; % vardef predefined_linear_shade (expr p, n, ca, cb) = @@ -376,6 +375,55 @@ enddef ; % define_circular_shade(ab,ab,0,r,ca,cb) % enddef ; +% NEW EXPERIMENTAL CODE + +def withlinearshading (expr a, b) = + withprescript "sh_type=linear" + withprescript "sh_domain=0 1" + withprescript "sh_factor=" & decimal shadefactor + withprescript "sh_center_a=" & ddecimal (a shifted shadeoffset) + withprescript "sh_center_b=" & ddecimal (b shifted shadeoffset) +enddef ; + +def withcircularshading (expr a, b, ra, rb) = + withprescript "sh_type=circular" + withprescript "sh_domain=0 1" + withprescript "sh_factor=" & decimal shadefactor + withprescript "sh_center_a=" & ddecimal (a shifted shadeoffset) + withprescript "sh_center_b=" & ddecimal (b shifted shadeoffset) + withprescript "sh_radius_a=" & decimal ra + withprescript "sh_radius_b=" & decimal rb +enddef ; + +def withfromshadecolor expr t = + withprescript "sh_color=into" + withprescript "sh_color_a=" & colordecimals t +enddef ; + +def withtoshadecolor expr t = + withprescript "sh_color=into" + withprescript "sh_color_b=" & colordecimals t +enddef ; + +def withshading (expr how)(text rest) = + if how = "linear" : + withlinearshading(rest) + elseif how = "circular" : + withcircularshading(rest) + else : + % nothing + fi +enddef ; + +primarydef a shadedinto b = + 1 + withprescript "sh_color=into" + withprescript "sh_color_a=" & colordecimals a + withprescript "sh_color_b=" & colordecimals b +enddef ; + +% END OF NEW + % Graphic text (we will move code here) def graphictext primary t = diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index dfba13b4a..cc5ebb478 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -1225,7 +1225,8 @@ local function do_serialize(root,name,depth,level,indexed) elseif noquotes and not reserved[k] and find(k,"^%a[%w%_]*$") then handle(format("%s %s=loadstring(%q),",depth,k,dump(v))) else - handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + -- handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + handle(format("%s [%q]=loadstring(%q),",depth,k,debug.getinfo(v).what == "C" and "C code" or dump(v))) end end else @@ -2041,6 +2042,22 @@ if not modules then modules = { } end modules ['l-os'] = { license = "see context related readme files" } +-- This file deals with some operating system issues. Please don't bother me +-- with the pros and cons of operating systems as they all have their flaws +-- and benefits. Bashing one of them won't help solving problems and fixing +-- bugs faster and is a waste of time and energy. +-- +-- path separators: / or \ ... we can use / everywhere +-- suffixes : dll so exe ... no big deal +-- quotes : we can use "" in most cases +-- expansion : unless "" are used * might give side effects +-- piping/threads : somewhat different for each os +-- locations : specific user file locations and settings can change over time +-- +-- os.type : windows | unix (new, we already guessed os.platform) +-- os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) +-- os.platform : extended os.name with architecture + -- maybe build io.flush in os.execute local os = os @@ -2138,7 +2155,6 @@ function os.resultof(command) return handle and handle:read("*all") or "" end - if not io.fileseparator then if find(os.getenv("PATH"),";") then io.fileseparator, io.pathseparator, os.type = "\\", ";", os.type or "mswin" @@ -2962,7 +2978,7 @@ if not modules then modules = { } end modules ['l-dir'] = { local type = type local find, gmatch, match, gsub = string.find, string.gmatch, string.match, string.gsub -local concat = table.concat +local concat, insert, remove = table.concat, table.insert, table.remove local lpegmatch = lpeg.match local P, S, R, C, Cc, Cs, Ct, Cv, V = lpeg.P, lpeg.S, lpeg.R, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.Ct, lpeg.Cv, lpeg.V @@ -3317,6 +3333,20 @@ end file.expandname = dir.expandname -- for convenience +local stack = { } + +function dir.push(newdir) + insert(stack,lfs.currentdir()) +end + +function dir.pop() + local d = remove(stack) + if d then + lfs.chdir(d) + end + return d +end + end -- of closure diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index dfba13b4a..cc5ebb478 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -1225,7 +1225,8 @@ local function do_serialize(root,name,depth,level,indexed) elseif noquotes and not reserved[k] and find(k,"^%a[%w%_]*$") then handle(format("%s %s=loadstring(%q),",depth,k,dump(v))) else - handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + -- handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + handle(format("%s [%q]=loadstring(%q),",depth,k,debug.getinfo(v).what == "C" and "C code" or dump(v))) end end else @@ -2041,6 +2042,22 @@ if not modules then modules = { } end modules ['l-os'] = { license = "see context related readme files" } +-- This file deals with some operating system issues. Please don't bother me +-- with the pros and cons of operating systems as they all have their flaws +-- and benefits. Bashing one of them won't help solving problems and fixing +-- bugs faster and is a waste of time and energy. +-- +-- path separators: / or \ ... we can use / everywhere +-- suffixes : dll so exe ... no big deal +-- quotes : we can use "" in most cases +-- expansion : unless "" are used * might give side effects +-- piping/threads : somewhat different for each os +-- locations : specific user file locations and settings can change over time +-- +-- os.type : windows | unix (new, we already guessed os.platform) +-- os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) +-- os.platform : extended os.name with architecture + -- maybe build io.flush in os.execute local os = os @@ -2138,7 +2155,6 @@ function os.resultof(command) return handle and handle:read("*all") or "" end - if not io.fileseparator then if find(os.getenv("PATH"),";") then io.fileseparator, io.pathseparator, os.type = "\\", ";", os.type or "mswin" @@ -2962,7 +2978,7 @@ if not modules then modules = { } end modules ['l-dir'] = { local type = type local find, gmatch, match, gsub = string.find, string.gmatch, string.match, string.gsub -local concat = table.concat +local concat, insert, remove = table.concat, table.insert, table.remove local lpegmatch = lpeg.match local P, S, R, C, Cc, Cs, Ct, Cv, V = lpeg.P, lpeg.S, lpeg.R, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.Ct, lpeg.Cv, lpeg.V @@ -3317,6 +3333,20 @@ end file.expandname = dir.expandname -- for convenience +local stack = { } + +function dir.push(newdir) + insert(stack,lfs.currentdir()) +end + +function dir.pop() + local d = remove(stack) + if d then + lfs.chdir(d) + end + return d +end + end -- of closure diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index dfba13b4a..cc5ebb478 100644 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -1225,7 +1225,8 @@ local function do_serialize(root,name,depth,level,indexed) elseif noquotes and not reserved[k] and find(k,"^%a[%w%_]*$") then handle(format("%s %s=loadstring(%q),",depth,k,dump(v))) else - handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + -- handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + handle(format("%s [%q]=loadstring(%q),",depth,k,debug.getinfo(v).what == "C" and "C code" or dump(v))) end end else @@ -2041,6 +2042,22 @@ if not modules then modules = { } end modules ['l-os'] = { license = "see context related readme files" } +-- This file deals with some operating system issues. Please don't bother me +-- with the pros and cons of operating systems as they all have their flaws +-- and benefits. Bashing one of them won't help solving problems and fixing +-- bugs faster and is a waste of time and energy. +-- +-- path separators: / or \ ... we can use / everywhere +-- suffixes : dll so exe ... no big deal +-- quotes : we can use "" in most cases +-- expansion : unless "" are used * might give side effects +-- piping/threads : somewhat different for each os +-- locations : specific user file locations and settings can change over time +-- +-- os.type : windows | unix (new, we already guessed os.platform) +-- os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) +-- os.platform : extended os.name with architecture + -- maybe build io.flush in os.execute local os = os @@ -2138,7 +2155,6 @@ function os.resultof(command) return handle and handle:read("*all") or "" end - if not io.fileseparator then if find(os.getenv("PATH"),";") then io.fileseparator, io.pathseparator, os.type = "\\", ";", os.type or "mswin" @@ -2962,7 +2978,7 @@ if not modules then modules = { } end modules ['l-dir'] = { local type = type local find, gmatch, match, gsub = string.find, string.gmatch, string.match, string.gsub -local concat = table.concat +local concat, insert, remove = table.concat, table.insert, table.remove local lpegmatch = lpeg.match local P, S, R, C, Cc, Cs, Ct, Cv, V = lpeg.P, lpeg.S, lpeg.R, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.Ct, lpeg.Cv, lpeg.V @@ -3317,6 +3333,20 @@ end file.expandname = dir.expandname -- for convenience +local stack = { } + +function dir.push(newdir) + insert(stack,lfs.currentdir()) +end + +function dir.pop() + local d = remove(stack) + if d then + lfs.chdir(d) + end + return d +end + end -- of closure diff --git a/tex/context/base/back-pdf.lua b/tex/context/base/back-pdf.lua index 325888785..33cb8c975 100644 --- a/tex/context/base/back-pdf.lua +++ b/tex/context/base/back-pdf.lua @@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['back-pdf'] = { license = "see context related readme files" } --- we will move code to lpdf-* files (second cleanup stage) +-- we will move code to lpdf-* files (second cleanup stage in 2011/2012) -- the push/pop is a mess (only needed for calculate ...) .. will be done differently @@ -193,14 +193,22 @@ local gray_function = "%s mul" local documentcolorspaces = pdfdictionary() local spotcolorhash = { } -- not needed -local spotcolornames = { } -local indexcolorhash = { } -local delayedindexcolors = { } +local spotcolornames = { } +local indexcolorhash = { } +local delayedindexcolors = { } function registrations.spotcolorname(name,e) spotcolornames[name] = e or name end +function registrations.getspotcolorreference(name) + return spotcolorhash[name] +end + +-- beware: xpdf/okular/evince cannot handle the spot->process shade + +local processcolors + local function registersomespotcolor(name,noffractions,names,p,colorspace,range,funct) noffractions = tonumber(noffractions) or 1 -- to be checked if noffractions == 0 then @@ -211,20 +219,18 @@ local function registersomespotcolor(name,noffractions,names,p,colorspace,range, Domain = { 0, 1 }, Range = range, } - local n = pdfimmediateobject("stream",format("{ %s }",funct),dictionary()) - ---~ local n = pdfobject { ---~ type = "stream", ---~ immediate = true, ---~ string = format("{ %s }",funct), ---~ attr = dictionary(), ---~ } - + local calculations = pdfimmediateobject("stream",format("{ %s }",funct),dictionary()) -- todo: lpdf.stream + -- local calculations = pdfobject { + -- type = "stream", + -- immediate = true, + -- string = format("{ %s }",funct), + -- attr = dictionary(), + -- } local array = pdfarray { pdf_separation, pdfconstant(spotcolornames[name] or name), colorspace, - pdfreference(n), + pdfreference(calculations), } local m = pdfimmediateobject(tostring(array)) local mr = pdfreference(m) @@ -234,22 +240,53 @@ local function registersomespotcolor(name,noffractions,names,p,colorspace,range, else local cnames = pdfarray() local domain = pdfarray() + local colorants = pdfdictionary() for n in gmatch(names,"[^,]+") do - cnames[#cnames+1] = pdfconstant(spotcolornames[n] or n) + local name = spotcolornames[n] or n + if n == "cyan" then + name = "Cyan" + elseif n == "magenta" then + name = "Magenta" + elseif n == "yellow" then + name = "Yellow" + elseif n == "black" then + name = "Black" + else + colorants[name] = pdfreference(spotcolorhash[name] or spotcolorhash[n]) + end + cnames[#cnames+1] = pdfconstant(name) domain[#domain+1] = 0 domain[#domain+1] = 1 end + if not processcolors then + local specification = pdfdictionary { + ColorSpace = pdfconstant("DeviceCMYK"), + Components = pdfarray { + pdfconstant("Cyan"), + pdfconstant("Magenta"), + pdfconstant("Yellow"), + pdfconstant("Black") + } + } + processcolors = pdfreference(pdfimmediateobject(tostring(specification))) + end local dictionary = pdfdictionary { FunctionType = 4, Domain = domain, Range = range, } - local n = pdfimmediateobject("stream",format("{ %s %s }",rep("pop ",noffractions),funct),dictionary()) + local calculation = pdfimmediateobject("stream",format("{ %s %s }",rep("pop ",noffractions),funct),dictionary()) + local channels = pdfdictionary { + Subtype = pdfconstant("NChannel"), + Colorants = colorants, + Process = processcolors, + } local array = pdfarray { pdf_device_n, cnames, colorspace, - pdfreference(n), + pdfreference(calculation), + lpdf.shareobjectreference(tostring(channels)), -- optional but needed for shades } local m = pdfimmediateobject(tostring(array)) local mr = pdfreference(m) @@ -259,6 +296,8 @@ local function registersomespotcolor(name,noffractions,names,p,colorspace,range, end end +-- wrong name + local function registersomeindexcolor(name,noffractions,names,p,colorspace,range,funct) noffractions = tonumber(noffractions) or 1 -- to be checked local cnames = pdfarray() diff --git a/tex/context/base/char-def.lua b/tex/context/base/char-def.lua index 79ced56c3..c830774cb 100644 --- a/tex/context/base/char-def.lua +++ b/tex/context/base/char-def.lua @@ -589,7 +589,7 @@ characters.data={ description="LESS-THAN SIGN", direction="on", linebreak="al", - mathclass="binary", + mathclass="relation", mathname="lt", mirror=0x003E, unicodeslot=0x003C, @@ -613,7 +613,7 @@ characters.data={ description="GREATER-THAN SIGN", direction="on", linebreak="al", - mathclass="binary", + mathclass="relation", mathname="gt", mirror=0x003C, unicodeslot=0x003E, diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua index b6f82e4ba..c4e802ff5 100644 --- a/tex/context/base/colo-ini.lua +++ b/tex/context/base/colo-ini.lua @@ -206,7 +206,8 @@ end local registered = { } local function do_registerspotcolor(parent,name,parentnumber,e,f,d,p) - if not registered[parentnumber] then + if not registered[parent] then +--~ print("!!!1",parent) local v = colors.values[parentnumber] if v then local model = colors.default -- else problems with shading etc @@ -222,12 +223,13 @@ local function do_registerspotcolor(parent,name,parentnumber,e,f,d,p) registrations.cmykspotcolor(parent,f,d,p,v[6],v[7],v[8],v[9]) end end - registered[parentnumber] = true + registered[parent] = true end end local function do_registermultitonecolor(parent,name,parentnumber,e,f,d,p) -- same as spot but different template - if not registered[parentnumber] then + if not registered[parent] then +--~ print("!!!2",parent) local v = colors.values[parentnumber] if v then local model = colors.default -- else problems with shading etc @@ -240,7 +242,7 @@ local function do_registermultitonecolor(parent,name,parentnumber,e,f,d,p) -- sa registrations.cmykindexcolor(parent,f,d,p,v[6],v[7],v[8],v[9]) end end - registered[parentnumber] = true + registered[parent] = true end end @@ -387,7 +389,7 @@ end function colors.definemultitonecolor(name,multispec,colorspec,selfspec) local dd, pp, nn, max = { }, { }, { }, 0 - for k,v in gmatch(multispec,"(%a+)=([^%,]*)") do + for k,v in gmatch(multispec,"(%a+)=([^%,]*)") do -- use settings_to_array max = max + 1 dd[max] = k pp[max] = v @@ -396,8 +398,12 @@ function colors.definemultitonecolor(name,multispec,colorspec,selfspec) if max > 0 then nn = concat(nn,'_') local parent = gsub(lower(nn),"[^%d%a%.]+","_") - if max == 2 and (not colorspec or colorspec == "") then - colors.defineduocolor(parent,pp[1],l_color[dd[1]],pp[2],l_color[dd[2]],true,true) +--~ if max == 2 and (not colorspec or colorspec == "") then +--~ colors.defineduocolor(parent,pp[1],l_color[dd[1]],pp[2],l_color[dd[2]],true,true) +--~ elseif (not colorspec or colorspec == "") then + if not colorspec or colorspec == "" then + local cc = { } for i=1,max do cc[i] = l_color[dd[i]] end + colors.definemixcolor(parent,pp,cc,global,freeze) -- can become local else if selfspec ~= "" then colorspec = colorspec .. "," .. selfspec @@ -406,9 +412,11 @@ function colors.definemultitonecolor(name,multispec,colorspec,selfspec) end local cp = attributes_list[a_color][parent] dd, pp = concat(dd,','), concat(pp,',') +--~ print(name,multispec,colorspec,selfspec) +--~ print(parent,max,cp) if cp then do_registerspotcolor(parent, name, cp, "", max, dd, pp) - do_registermultitonecolor(parent, name, cp, "", max, dd, pp) +--~ do_registermultitonecolor(parent, name, cp, "", max, dd, pp) -- done in previous ... check it definecolor(name, register_color(name, 'spot', parent, max, dd, pp), true) local t = settings_to_hash_strict(selfspec) if t and t.a and t.t then @@ -566,9 +574,14 @@ function colors.defineintermediatecolor(name,fraction,c_one,c_two,a_one,a_two,sp if csone == 2 then ca = register_color(name,'gray',f(one,two,2,fraction)) elseif csone == 3 then - ca = register_color(name,'rgb', f(one,two,3,fraction),f(one,two,4,fraction),f(one,two,5,fraction)) + ca = register_color(name,'rgb', f(one,two,3,fraction), + f(one,two,4,fraction), + f(one,two,5,fraction)) elseif csone == 4 then - ca = register_color(name,'cmyk',f(one,two,6,fraction),f(one,two,7,fraction),f(one,two,8,fraction),f(one,two,9,fraction)) + ca = register_color(name,'cmyk',f(one,two,6,fraction), + f(one,two,7,fraction), + f(one,two,8,fraction), + f(one,two,9,fraction)) else ca = register_color(name,'gray',f(one,two,2,fraction)) end @@ -580,9 +593,14 @@ function colors.defineintermediatecolor(name,fraction,c_one,c_two,a_one,a_two,sp if csone == 2 then ca = register_color(name,'gray',fraction*one[2]) elseif csone == 3 then - ca = register_color(name,'rgb', fraction*one[3],fraction*one[4],fraction*one[5]) + ca = register_color(name,'rgb', fraction*one[3], + fraction*one[4], + fraction*one[5]) elseif csone == 4 then - ca = register_color(name,'cmyk',fraction*one[6],fraction*one[7],fraction*one[8],fraction*one[9]) + ca = register_color(name,'cmyk',fraction*one[6], + fraction*one[7], + fraction*one[8], + fraction*one[9]) else ca = register_color(name,'gray',fraction*one[2]) end @@ -598,34 +616,77 @@ function colors.defineintermediatecolor(name,fraction,c_one,c_two,a_one,a_two,sp end end -local function f(one,two,i,fraction_one,fraction_two) - local o, t = one[i], two[i] - local otf = fraction_one * o + fraction_two * t - if otf > 1 then - otf = 1 +--~ local function f(one,two,i,fraction_one,fraction_two) +--~ local otf = fraction_one * one[i] + fraction_two * two[i] +--~ if otf > 1 then +--~ otf = 1 +--~ end +--~ return otf +--~ end + +--~ function colors.defineduocolor(name,fraction_one,c_one,fraction_two,c_two,global,freeze) +--~ local one, two = colors.value(c_one), colors.value(c_two) +--~ if one and two then +--~ fraction_one = tonumber(fraction_one) or 1 +--~ fraction_two = tonumber(fraction_two) or 1 +--~ local csone, cstwo = one[1], two[1] +--~ local ca +--~ if csone == 2 then +--~ ca = register_color(name,'gray',f(one,two,2,fraction_one,fraction_two)) +--~ elseif csone == 3 then +--~ ca = register_color(name,'rgb', f(one,two,3,fraction_one,fraction_two), +--~ f(one,two,4,fraction_one,fraction_two), +--~ f(one,two,5,fraction_one,fraction_two)) +--~ elseif csone == 4 then +--~ ca = register_color(name,'cmyk',f(one,two,6,fraction_one,fraction_two), +--~ f(one,two,7,fraction_one,fraction_two), +--~ f(one,two,8,fraction_one,fraction_two), +--~ f(one,two,9,fraction_one,fraction_two)) +--~ else +--~ ca = register_color(name,'gray',f(one,two,2,fraction_one,fraction_two)) +--~ end +--~ definecolor(name,ca,global,freeze) +--~ end +--~ end + + local function f(i,colors,fraction) + local otf = 0 + for c=1,#colors do + otf = otf + (tonumber(fraction[c]) or 1) * colors[c][i] + end + if otf > 1 then + otf = 1 + end + return otf end - return otf -end -function colors.defineduocolor(name,fraction_one,c_one,fraction_two,c_two,global,freeze) - local one, two = colors.value(c_one), colors.value(c_two) - if one and two then - fraction_one = tonumber(fraction_one) or 1 - fraction_two = tonumber(fraction_two) or 1 - local csone, cstwo = one[1], two[1] + function colors.definemixcolor(name,fractions,cs,global,freeze) + local values = { } + for i=1,#cs do -- do fraction in here + local v = colors.value(cs[i]) + if not v then + return + end + values[i] = v + end + local csone = values[1][1] local ca if csone == 2 then - ca = register_color(name,'gray',f(one,two,2,fraction_one,fraction_two)) + ca = register_color(name,'gray',f(2,values,fractions)) elseif csone == 3 then - ca = register_color(name,'rgb', f(one,two,3,fraction_one,fraction_two),f(one,two,4,fraction_one,fraction_two),f(one,two,5,fraction_one,fraction_two)) + ca = register_color(name,'rgb', f(3,values,fractions), + f(4,values,fractions), + f(5,values,fractions)) elseif csone == 4 then - ca = register_color(name,'cmyk',f(one,two,6,fraction_one,fraction_two),f(one,two,7,fraction_one,fraction_two),f(one,two,8,fraction_one,fraction_two),f(one,two,9,fraction_one,fraction_two)) + ca = register_color(name,'cmyk',f(6,values,fractions), + f(7,values,fractions), + f(8,values,fractions), + f(9,values,fractions)) else - ca = register_color(name,'gray',f(one,two,2,fraction_one,fraction_two)) + ca = register_color(name,'gray',f(2,values,fractions)) end definecolor(name,ca,global,freeze) end -end -- for the moment downward compatible diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index d4120f07f..1a81454d6 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.05.16 11:00} +\newcontextversion{2011.05.18 18:04} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index e3376b8e2..3bda269ef 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.05.16 11:00} +\newcontextversion{2011.05.18 18:04} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index fbd2bb507..7312bdcf5 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.05.16 11:00} +\edef\contextversion{2011.05.18 18:04} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index d00629815..8f3586dea 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.05.16 11:00} +\edef\contextversion{2011.05.18 18:04} %D For those who want to use this: diff --git a/tex/context/base/core-con.lua b/tex/context/base/core-con.lua index adc2595ef..e8ef52d4b 100644 --- a/tex/context/base/core-con.lua +++ b/tex/context/base/core-con.lua @@ -825,7 +825,7 @@ function commands.currentdate(str,currentlanguage) -- j and jj obsolete end auto = false if tag == v_year or tag == "y" then - context.convertnumber(v_year,year) + context(year) elseif tag == "yy" then context("%02i",year % 100) elseif tag == "Y" then diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua index 1bc3f3db9..887aa9984 100644 --- a/tex/context/base/font-ctx.lua +++ b/tex/context/base/font-ctx.lua @@ -726,6 +726,7 @@ function definers.stage_two(global,cs,str,size,inheritancemode,classfeatures,fon setsomefontsize(fontdata[tfmdata].parameters.size .. "sp") texsetcount("global","lastfontid",tfmdata) else +tfmdata.characters[0] = nil -- we use char0 as signal -- local t = os.clock(t) local id = font.define(tfmdata) -- print(name,os.clock()-t) @@ -1099,8 +1100,9 @@ function commands.showchardata(n) end end -function commands.showfontparameters() - local tfmdata = fontdata[currentfont()] +function commands.showfontparameters(tfmdata) + -- this will become more clever + local tfmdata = tfmdata or fontdata[currentfont()] if tfmdata then local parameters = tfmdata.parameters local mathparameters = tfmdata.mathparameters diff --git a/tex/context/base/l-dir.lua b/tex/context/base/l-dir.lua index 40b94782b..1d59b9220 100644 --- a/tex/context/base/l-dir.lua +++ b/tex/context/base/l-dir.lua @@ -10,7 +10,7 @@ if not modules then modules = { } end modules ['l-dir'] = { local type = type local find, gmatch, match, gsub = string.find, string.gmatch, string.match, string.gsub -local concat = table.concat +local concat, insert, remove = table.concat, table.insert, table.remove local lpegmatch = lpeg.match local P, S, R, C, Cc, Cs, Ct, Cv, V = lpeg.P, lpeg.S, lpeg.R, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.Ct, lpeg.Cv, lpeg.V @@ -413,3 +413,17 @@ else end file.expandname = dir.expandname -- for convenience + +local stack = { } + +function dir.push(newdir) + insert(stack,lfs.currentdir()) +end + +function dir.pop() + local d = remove(stack) + if d then + lfs.chdir(d) + end + return d +end diff --git a/tex/context/base/l-os.lua b/tex/context/base/l-os.lua index 86b395a1d..911506239 100644 --- a/tex/context/base/l-os.lua +++ b/tex/context/base/l-os.lua @@ -6,6 +6,22 @@ if not modules then modules = { } end modules ['l-os'] = { license = "see context related readme files" } +-- This file deals with some operating system issues. Please don't bother me +-- with the pros and cons of operating systems as they all have their flaws +-- and benefits. Bashing one of them won't help solving problems and fixing +-- bugs faster and is a waste of time and energy. +-- +-- path separators: / or \ ... we can use / everywhere +-- suffixes : dll so exe ... no big deal +-- quotes : we can use "" in most cases +-- expansion : unless "" are used * might give side effects +-- piping/threads : somewhat different for each os +-- locations : specific user file locations and settings can change over time +-- +-- os.type : windows | unix (new, we already guessed os.platform) +-- os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) +-- os.platform : extended os.name with architecture + -- maybe build io.flush in os.execute local os = os @@ -103,10 +119,6 @@ function os.resultof(command) return handle and handle:read("*all") or "" end ---~ os.type : windows | unix (new, we already guessed os.platform) ---~ os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) ---~ os.platform : extended os.name with architecture - if not io.fileseparator then if find(os.getenv("PATH"),";") then io.fileseparator, io.pathseparator, os.type = "\\", ";", os.type or "mswin" diff --git a/tex/context/base/l-table.lua b/tex/context/base/l-table.lua index 7b91e06ba..8fdb36a7f 100644 --- a/tex/context/base/l-table.lua +++ b/tex/context/base/l-table.lua @@ -562,7 +562,8 @@ local function do_serialize(root,name,depth,level,indexed) elseif noquotes and not reserved[k] and find(k,"^%a[%w%_]*$") then handle(format("%s %s=loadstring(%q),",depth,k,dump(v))) else - handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + -- handle(format("%s [%q]=loadstring(%q),",depth,k,dump(v))) + handle(format("%s [%q]=loadstring(%q),",depth,k,debug.getinfo(v).what == "C" and "C code" or dump(v))) end end else diff --git a/tex/context/base/lang-txt.lua b/tex/context/base/lang-txt.lua index c4a834fc0..fc3a55170 100644 --- a/tex/context/base/lang-txt.lua +++ b/tex/context/base/lang-txt.lua @@ -484,7 +484,7 @@ data.labels={ en="August", es="agosto", fi="elokuu", - fr="aoât", + fr="août", gr="Αύγουστος", hr="kolovoza", hu="augusztus", diff --git a/tex/context/base/lpdf-grp.lua b/tex/context/base/lpdf-grp.lua index 692517c1f..2f7684a4d 100644 --- a/tex/context/base/lpdf-grp.lua +++ b/tex/context/base/lpdf-grp.lua @@ -23,10 +23,17 @@ local registrations = backends.pdf.registrations local pdfdictionary = lpdf.dictionary local pdfarray = lpdf.array local pdfconstant = lpdf.constant +local pdfboolean = lpdf.boolean local pdfreference = lpdf.reference local pdfflushobject = lpdf.flushobject -local function shade(stype,name,domain,color_a,color_b,n,colorspace,coordinates) +-- can also be done indirectly: +-- +-- 12 : << /AntiAlias false /ColorSpace 8 0 R /Coords [ 0.0 0.0 1.0 0.0 ] /Domain [ 0.0 1.0 ] /Extend [ true true ] /Function 22 0 R /ShadingType 2 >> +-- 22 : << /Bounds [ ] /Domain [ 0.0 1.0 ] /Encode [ 0.0 1.0 ] /FunctionType 3 /Functions [ 31 0 R ] >> +-- 31 : << /C0 [ 1.0 0.0 ] /C1 [ 0.0 1.0 ] /Domain [ 0.0 1.0 ] /FunctionType 2 /N 1.0 >> + +local function shade(stype,name,domain,color_a,color_b,n,colorspace,coordinates,separation) local f = pdfdictionary { FunctionType = 2, Domain = pdfarray(domain), -- domain is actually a string @@ -34,22 +41,24 @@ local function shade(stype,name,domain,color_a,color_b,n,colorspace,coordinates) C1 = pdfarray(color_b), N = tonumber(n), } + separation = separation and registrations.getspotcolorreference(separation) local s = pdfdictionary { ShadingType = stype, - ColorSpace = pdfconstant(colorspace), + ColorSpace = separation and pdfreference(separation) or pdfconstant(colorspace), Function = pdfreference(pdfflushobject(f)), Coords = pdfarray(coordinates), Extend = pdfarray { true, true }, + AntiAlias = pdfboolean(true), } lpdf.adddocumentshade(name,pdfreference(pdfflushobject(s))) end -function lpdf.circularshade(name,domain,color_a,color_b,n,colorspace,coordinates) - shade(3,name,domain,color_a,color_b,n,colorspace,coordinates) +function lpdf.circularshade(name,domain,color_a,color_b,n,colorspace,coordinates,separation) + shade(3,name,domain,color_a,color_b,n,colorspace,coordinates,separation) end -function lpdf.linearshade(name,domain,color_a,color_b,n,colorspace,coordinates) - shade(2,name,domain,color_a,color_b,n,colorspace,coordinates) +function lpdf.linearshade(name,domain,color_a,color_b,n,colorspace,coordinates,separation) + shade(2,name,domain,color_a,color_b,n,colorspace,coordinates,separation) end function lpdf.colorspec(model,ca,default) diff --git a/tex/context/base/math-ali.mkiv b/tex/context/base/math-ali.mkiv index 54f942f03..f83619a22 100644 --- a/tex/context/base/math-ali.mkiv +++ b/tex/context/base/math-ali.mkiv @@ -611,7 +611,7 @@ \def\dodefinemathmatrix[#1]% [#2]% {\setuvalue{\e!start#1}{\dodoubleempty\dostartmathmatrix[#1]}% - \setuvalue{\e!stop #1}{\dostopmathmatrix}% + \setvalue {\e!stop #1}{\dostopmathmatrix}% no u else lookahead problem \setupmathmatrix[#1]}% [#2] \definemathmatrix[matrix] diff --git a/tex/context/base/mlib-pps.lua b/tex/context/base/mlib-pps.lua index c4ebf5c31..27269a14e 100644 --- a/tex/context/base/mlib-pps.lua +++ b/tex/context/base/mlib-pps.lua @@ -32,9 +32,11 @@ local starttiming = statistics.starttiming local stoptiming = statistics.stoptiming local trace_textexts = false trackers.register("metapost.textexts", function(v) trace_textexts = v end) +local trace_scripts = false trackers.register("metapost.scripts", function(v) trace_scripts = v end) local report_metapost = logs.reporter("metapost") local report_textexts = logs.reporter("metapost","textexts") +local report_scripts = logs.reporter("metapost","scripts") local colors = attributes.colors @@ -135,9 +137,29 @@ end -- -- normalize(ca,cb) fails for spotcolors +local function spotcolorconverter(parent, n, d, p) + registerspotcolor(parent) + return pdfcolor(colors.model,registercolor(nil,'spot',parent,n,d,p)), outercolor +end + +local function checkandconvertspot(n_a,f_a,c_a,v_a,n_b,f_b,c_b,v_b) + -- must be the same but we don't check + local name = format("MpSh%s",nofshades) + local ca = string.split(v_a,",") + local cb = string.split(v_b,",") + if #ca == 0 or #cb == 0 then + return { 0 }, { 1 }, "DeviceGray", name + else + for i=1,#ca do ca[i] = tonumber(ca[i]) or 0 end + for i=1,#cb do cb[i] = tonumber(cb[i]) or 1 end + --~ spotcolorconverter(n_a,f_a,c_a,v_a) -- not really needed + return ca, cb, n_a or n_b, name + end +end + local function checkandconvert(ca,cb) local name = format("MpSh%s",nofshades) - if type(ca) == "string" then + if not ca or not cb or type(ca) == "string" then return { 0 }, { 1 }, "DeviceGray", name else if #ca > #cb then @@ -368,11 +390,6 @@ local function colorconverter(cs) return models[colors.model](cs) end -local function spotcolorconverter(parent, n, d, p) - registerspotcolor(parent) - return pdfcolor(colors.model,registercolor(nil,'spot',parent,n,d,p)), outercolor -end - local btex = P("btex") local etex = P(" etex") local vtex = P("verbatimtex") @@ -589,9 +606,27 @@ appendgroup(resetteractions, "system") appendgroup(analyzeractions, "system") appendgroup(processoractions,"system") -local scriptsplitter = Cf(Ct("") * ( - Cg(C((1-S("= "))^1) * S("= ")^1 * C((1-S("\n\r"))^0) * S("\n\r")^0) -)^0, rawset) +-- later entries come first + +--~ local scriptsplitter = Cf(Ct("") * ( +--~ Cg(C((1-S("= "))^1) * S("= ")^1 * C((1-S("\n\r"))^0) * S("\n\r")^0) +--~ )^0, rawset) + +local scriptsplitter = Ct ( Ct ( + C((1-S("= "))^1) * S("= ")^1 * C((1-S("\n\r"))^0) * S("\n\r")^0 +)^0 ) + +local function splitscript(script) + local hash = lpegmatch(scriptsplitter,script) + for i=#hash,1,-1 do + local h = hash[i] + hash[h[1]] = h[2] + end + if trace_scripts then + report_scripts(table.serialize(hash,"prescript")) + end + return hash +end function metapost.pluginactions(what,t,flushfigure) -- to be checked: too many 0 g 0 G for i=1,#what do @@ -615,18 +650,16 @@ end function metapost.analyzeplugins(object) local prescript = object.prescript -- specifications if prescript and #prescript > 0 then - local prescript = lpegmatch(scriptsplitter,prescript) - return analyzer(object,prescript) + return analyzer(object,splitscript(prescript)) end end function metapost.processplugins(object) -- maybe environment table local prescript = object.prescript -- specifications if prescript and #prescript > 0 then - local prescript = lpegmatch(scriptsplitter,prescript) local before = { } local after = { } - processor(object,prescript,before,after) + processor(object,splitscript(prescript),before,after) return #before > 0 and before, #after > 0 and after else local c = object.color @@ -762,19 +795,53 @@ local function sh_process(object,prescript,before,after) if sh_type then nofshades = nofshades + 1 local domain = lpegmatch(domainsplitter,prescript.sh_domain) - local colora = lpegmatch(colorsplitter, prescript.sh_color_a) - local colorb = lpegmatch(colorsplitter, prescript.sh_color_b) local centera = lpegmatch(centersplitter,prescript.sh_center_a) local centerb = lpegmatch(centersplitter,prescript.sh_center_b) - local ca, cb, colorspace, name = checkandconvert(colora,colorb) + -- + local sh_color_a = prescript.sh_color_a or "1" + local sh_color_b = prescript.sh_color_b or "1" + local ca, cb, colorspace, name, separation + if prescript.sh_color == "into" and prescript.sp_name then + -- some spotcolor + local value_a, components_a, fractions_a, name_a + local value_b, components_b, fractions_b, name_b + for i=1,#prescript do + local tag = prescript[i][1] + if not name_a and tag == "sh_color_a" then + value_a = prescript[i-4][2] + components_a = prescript[i-3][2] + fractions_a = prescript[i-2][2] + name_a = prescript[i-1][2] + elseif not name_b and tag == "sh_color_b" then + value_b = prescript[i-4][2] + components_b = prescript[i-3][2] + fractions_b = prescript[i-2][2] + name_b = prescript[i-1][2] + end + if name_a and name_b then + break + end + end + ca, cb, separation, name = checkandconvertspot( + name_a,fractions_a,components_a,value_a, + name_b,fractions_b,components_b,value_b + ) + else + local colora = lpegmatch(colorsplitter,sh_color_a) + local colorb = lpegmatch(colorsplitter,sh_color_b) + ca, cb, colorspace, name = checkandconvert(colora,colorb) + end + if not ca or not cb then + ca, cb, colorspace, name = checkandconvert() + end if sh_type == "linear" then local coordinates = { centera[1], centera[2], centerb[1], centerb[2] } - lpdf.linearshade(name,domain,ca,cb,1,colorspace,coordinates) -- backend specific (will be renamed) + lpdf.linearshade(name,domain,ca,cb,1,colorspace,coordinates,separation) -- backend specific (will be renamed) elseif sh_type == "circular" then local radiusa = tonumber(prescript.sh_radius_a) local radiusb = tonumber(prescript.sh_radius_b) local coordinates = { centera[1], centera[2], radiusa, centerb[1], centerb[2], radiusb } - lpdf.circularshade(name,domain,ca,cb,1,colorspace,coordinates) -- backend specific (will be renamed) + lpdf.circularshade(name,domain,ca,cb,1,colorspace,coordinates,separation) -- backend specific (will be renamed) else -- fatal error end diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua index c43af377e..8499dd43b 100644 --- a/tex/context/base/mult-def.lua +++ b/tex/context/base/mult-def.lua @@ -12065,7 +12065,7 @@ return { ["cs"]="srpen", ["de"]="August", ["en"]="August", - ["fr"]="aout", + ["fr"]="août", ["it"]="agosto", ["nl"]="augustus", ["pe"]="آگوست", diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii index da0676ebb..875d92bbc 100644 --- a/tex/context/base/mult-fr.mkii +++ b/tex/context/base/mult-fr.mkii @@ -76,7 +76,7 @@ \setinterfacevariable{atmargin}{alamarge} \setinterfacevariable{atpage}{alapage} \setinterfacevariable{attachment}{attachment} -\setinterfacevariable{august}{aout} +\setinterfacevariable{august}{août} \setinterfacevariable{author}{auteur} \setinterfacevariable{auto}{auto} \setinterfacevariable{autointro}{autointro} diff --git a/tex/context/base/node-rul.mkiv b/tex/context/base/node-rul.mkiv index 99ff3d36b..90bcd9e40 100644 --- a/tex/context/base/node-rul.mkiv +++ b/tex/context/base/node-rul.mkiv @@ -236,9 +236,9 @@ \glet\dodoshifted\dodoshiftedindeed \dodoshifted} -\def\dostartisolation{\zwj} % {\char0 } % some fonts have a char0 rendering -\def\dostopisolation {\zwj} % {\char0 } -\def\doisolator {\zwj} % {\char0 } +\def\dostartisolation{\signalcharacter} +\def\dostopisolation {\signalcharacter} +\def\doisolator {\signalcharacter} \def\doisolatedgroupedalign#1#2% {\groupedcommand diff --git a/tex/context/base/page-app.mkiv b/tex/context/base/page-app.mkiv index afd0c7d5d..b42eef054 100644 --- a/tex/context/base/page-app.mkiv +++ b/tex/context/base/page-app.mkiv @@ -72,7 +72,7 @@ \let\checkcurrentlayout\relax % else interference with odd/even layout \processaction [\getvalue{\currentfittingpage\c!paper}] - [ \v!auto=>\let\fittingpapersize\printpapersize, + [ \v!auto=>\def\fittingpapersize{\printpapersize}, \s!unknown=>\let\fittingpapersize\commalistelement, \s!default=>\def\fittingpapersize{\??fp\s!dummy}]% \expanded{\setuppapersize[\??fp\s!dummy][\fittingpapersize]}% diff --git a/tex/context/base/page-com.mkiv b/tex/context/base/page-com.mkiv index 5035280ac..dbb160058 100644 --- a/tex/context/base/page-com.mkiv +++ b/tex/context/base/page-com.mkiv @@ -38,26 +38,26 @@ \doifelse\@@pcstate\v!start {\doifinsetelse\@@pclocation{\v!bottom,\v!top} {\setuppapersize[\c!left=\hskip\@@pcoffset]% - \edef\@@pcpaperheight{\the\dimexpr\paperheight+\@@pcoffset+\@@pcoffset+\@@pcdistance+\@@pcheight\relax}% - \edef\@@pcpaperwidth {\the\dimexpr\paperwidth+\@@pcoffset+\@@pcoffset\relax}% + \edef\@@pcpaperheight{\the\dimexpr\paperheight+\@@pcoffset+\@@pcoffset+\@@pcdistance+\@@pcheight}% + \edef\@@pcpaperwidth {\the\dimexpr\paperwidth +\@@pcoffset+\@@pcoffset}% \defineoverlay[\v!pagecomment][\placepagecommentTB]} {\setuppapersize[\c!top=\vskip\@@pcoffset]% - \edef\@@pcpaperheight{\the\dimexpr\paperheight+\@@pcoffset+\@@pcoffset\relax}% - \edef\@@pcpaperwidth {\the\dimexpr\paperwidth+\@@pcoffset+\@@pcoffset+\@@pcdistance+\@@pcwidth\relax}% + \edef\@@pcpaperheight{\the\dimexpr\paperheight+\@@pcoffset+\@@pcoffset}% + \edef\@@pcpaperwidth {\the\dimexpr\paperwidth +\@@pcoffset+\@@pcoffset+\@@pcdistance+\@@pcwidth}% \defineoverlay[\v!pagecomment][\placepagecommentLR]}% \processaction [\@@pclocation] - [ \v!bottom=>{\setuppapersize[\c!bottom =\vss,\c!top =\vskip\@@pcoffset]}, - \v!top=>{\setuppapersize[\c!top =\vss,\c!bottom =\vskip\@@pcoffset]}, - \v!left=>{\setuppapersize[\c!left =\hss,\c!right=\hskip\@@pcoffset]}, - \v!right=>{\setuppapersize[\c!right=\hss,\c!left =\hskip\@@pcoffset]}]% + [ \v!bottom=>{\setuplayout[\c!location=]\setuppapersize[\c!bottom=\vss,\c!top =\vskip\@@pcoffset]}, + \v!top=>{\setuplayout[\c!location=]\setuppapersize[\c!top =\vss,\c!bottom=\vskip\@@pcoffset]}, + \v!left=>{\setuplayout[\c!location=]\setuppapersize[\c!left =\hss,\c!right =\hskip\@@pcoffset]}, + \v!right=>{\setuplayout[\c!location=]\setuppapersize[\c!right =\hss,\c!left =\hskip\@@pcoffset]}]% \definepapersize [\v!pagecomment] [\c!height=\@@pcpaperheight, \c!width=\@@pcpaperwidth]% \let\@@pcprintpapersize\printpapersize \setuppapersize[\papersize][\v!pagecomment]% - \setupbackgrounds[\v!paper][\c!background=\v!pagecomment]} + \setupbackgrounds[\v!paper][\c!background=\v!pagecomment]}% todo append if already set {\doif\@@pcstate\v!stop % else initialization invokes backgrounds {% this should be tested first % \normalexpanded{\noexpand\setuppapersize[\papersize][\@@pcprintpapersize]}% diff --git a/tex/context/base/page-lay.mkiv b/tex/context/base/page-lay.mkiv index 4fa00ab90..812f3a3ac 100644 --- a/tex/context/base/page-lay.mkiv +++ b/tex/context/base/page-lay.mkiv @@ -672,16 +672,43 @@ \newif\ifdoublesidedprint -\def\presetcenterpagebox % in \setuplayout !!!!!!!!!!!!!!!! +\newconditional\page_location_is_set + +\def\page_location_reset + {\setfalse\page_location_is_set + \let\page_location_left_fill \relax + \let\page_location_right_fill \relax + \let\page_location_top_fill \relax + \let\page_location_bottom_fill\relax} + +\page_location_reset + +\setvalue{\??ly:\c!location:\v!right }{\settrue\page_location_is_set + \let\page_location_left_fill \hss} +\setvalue{\??ly:\c!location:\v!left }{\settrue\page_location_is_set + \let\page_location_right_fill \hss} +\setvalue{\??ly:\c!location:\v!bottom }{\settrue\page_location_is_set + \let\page_location_top_fill \vss} +\setvalue{\??ly:\c!location:\v!top }{\settrue\page_location_is_set + \let\page_location_bottom_fill\vss} +\setvalue{\??ly:\c!location:\v!middle }{\settrue\page_location_is_set + \let\page_location_left_fill \hss + \let\page_location_right_fill \hss + \let\page_location_top_fill \vss + \let\page_location_bottom_fill\vss} +\setvalue{\??ly:\c!location:\empty }{\setfalse\page_location_is_set % default also signal to scrn_ + \let\page_location_right_fill \hss + \let\page_location_bottom_fill\hss} +\setvalue{\??ly:\c!location:\v!doublesided}{\doublesidedprinttrue} +\setvalue{\??ly:\c!location:\v!singlesided}{\doublesidedprintfalse} + +\def\dopresetcenterpagebox#1% + {\ifcsname\??ly:\c!location:#1\endcsname\csname\??ly:\c!location:#1\endcsname\fi} + +\def\presetcenterpagebox {\doublesidedprintfalse - \normalexpanded{\noexpand\processallactionsinset[\@@lylocation]} - [ \v!middle=>{\setuppapersize[\c!left=\hss,\c!right=\hss,\c!top=\vss,\c!bottom=\vss]}, - \v!left=>{\setuppapersize[\c!left=,\c!right=\hss]}, - \v!right=>{\setuppapersize[\c!left=\hss,\c!right=]}, - \v!bottom=>{\setuppapersize[\c!top=\vss,\c!bottom=]}, - \v!top=>{\setuppapersize[\c!top=,\c!bottom=\vss]},% - \v!doublesided=>\doublesidedprinttrue, - \v!singlesided=>\doublesidedprintfalse]} + \page_location_reset + \processcommacommand[\@@lylocation]\dopresetcenterpagebox} \unexpanded\def\definelayout {\dodoubleargument\dodefinelayout} @@ -697,19 +724,6 @@ \unexpanded\def\setuplayout {\dodoubleempty\dosetuplayout} -% \def\dosetuplayout[#1][#2]% -% {\globallet\currentlayout\empty % new, global -% \ifsecondargument -% \dodosetuplayout[#1][#2]% -% \else\iffirstargument -% \doifassignmentelse{#1} -% {\dodosetuplayout[][#1]} -% {\doifnot{#1}\v!reset{\xdef\currentlayout{#1}}}% new, global -% \fi\fi -% \recalculatelayout -% \checkcurrentlayout % here ? -% \presetcenterpagebox} - \def\dosetuplayout[#1][#2]% {\globallet\currentlayout\empty \ifsecondargument @@ -824,22 +838,33 @@ %D by the \type {top}, \type {bottom}, \type {left} and \type %D {right} parameters. -\def\centerpagebox#1% +\def\centerpagebox#1% we could test for a difference (saves packing) {\printpaperwidth \paperscale\printpaperwidth \printpaperheight\paperscale\printpaperheight - \setbox#1\vbox to \printpaperheight - {\@@pptop - \hbox to \printpaperwidth - {\ifdoublesidedprint - \doifbothsides - {\@@ppleft \box#1\@@ppright} - {\@@ppleft \box#1\@@ppright} - {\@@ppright\box#1\@@ppleft }% - \else - \@@ppleft \box#1\@@ppright - \fi}% - \par - \@@ppbottom}} + \ifdim\printpaperheight>\ht#1\relax + \donetrue + \else\ifdim\printpaperwidth>\wd#1\relax + \donetrue + \else + \donefalse + \fi\fi + \ifdone + \setbox#1\vbox to \printpaperheight + {\@@pptop + \page_location_top_fill + \hbox to \printpaperwidth + {\ifdoublesidedprint + \doifbothsides + {\@@ppleft \page_location_left_fill \box#1\page_location_right_fill\@@ppright}% + {\@@ppleft \page_location_left_fill \box#1\page_location_right_fill\@@ppright}% + {\@@ppright\page_location_right_fill\box#1\page_location_left_fill \@@ppleft }% + \else + \@@ppleft \page_location_left_fill \box#1\page_location_right_fill\@@ppright + \fi}% + \par + \page_location_bottom_fill + \@@ppbottom}% + \fi} \def\offsetprintbox#1% {\ifdim\topoffset=\zeropoint % \relax @@ -1239,9 +1264,10 @@ \setuppapersize [\c!option=\v!max, \c!top=, - \c!bottom=\vss, + \c!bottom=, \c!left=, - \c!right=\hss] + \c!right=, + \c!location=] \setuplayout [ \c!topspace=.08417508418\paperheight, % 2.5cm diff --git a/tex/context/base/page-run.mkiv b/tex/context/base/page-run.mkiv index 0ea18dfbf..cce746c74 100644 --- a/tex/context/base/page-run.mkiv +++ b/tex/context/base/page-run.mkiv @@ -92,17 +92,21 @@ % maybe we will have page-run.lua \startluacode +local function todimen(name,unit,fmt) + return number.todimen(tex.dimen[name],unit,fmt) +end + local function showdimension(name) context.NC() context.tex(interfaces.interfacedcommand(name)) context.NC() - context(number.todimen(tex.dimen[name],"pt","%0.4fpt")) + context(todimen(name,"pt","%0.4fpt")) context.NC() - context(number.todimen(tex.dimen[name],"cm","%0.4fcm")) + context(todimen(name,"cm","%0.4fcm")) context.NC() - context(number.todimen(tex.dimen[name],"bp","%0.4fbp")) + context(todimen(name,"bp","%0.4fbp")) context.NC() - context(number.todimen(tex.dimen[name],"dd","%0.4fdd")) + context(todimen(name,"dd","%0.4fdd")) context.NC() context.NR() end @@ -116,46 +120,115 @@ local function showmacro(name) context.NR() end +local function reportdimension(name) + commands.writestatus("layout",string.format("%-24s %12s %12s %12s %12s", + interfaces.interfacedcommand(name), + todimen(name,"pt","%0.4fpt"), + todimen(name,"cm","%0.4fcm"), + todimen(name,"bp","%0.4fbp"), + todimen(name,"dd","%0.4fdd") + )) +end + function commands.showlayoutvariables() - context.starttabulate { "|l|Tr|Tr|Tr|Tr|" } - - showdimension("paperheight") - showdimension("paperwidth") - showdimension("printpaperheight") - showdimension("printpaperwidth") - showdimension("topspace") - showdimension("backspace") - showdimension("makeupheight") - showdimension("makeupwidth") - showdimension("topheight") - showdimension("topdistance") - showdimension("headerheight") - showdimension("headerdistance") - showdimension("textheight") - showdimension("footerdistance") - showdimension("footerheight") - showdimension("bottomdistance") - showdimension("bottomheight") - showdimension("leftedgewidth") - showdimension("leftedgedistance") - showdimension("leftmarginwidth") - showdimension("leftmargindistance") - showdimension("textwidth") - showdimension("rightmargindistance") - showdimension("rightmarginwidth") - showdimension("rightedgedistance") - showdimension("rightedgewidth") - context.NR() - showdimension("bodyfontsize") - showdimension("lineheight") - context.NR() - showmacro("strutheightfactor") - showmacro("strutdepthfactor") - showmacro("topskipfactor") - showmacro("maxdepthfactor") - - context.stoptabulate() + if tex.count.textlevel == 0 then + + -- especially for Luigi: + + reportdimension("paperheight") + reportdimension("paperwidth") + reportdimension("printpaperheight") + reportdimension("printpaperwidth") + reportdimension("topspace") + reportdimension("backspace") + reportdimension("makeupheight") + reportdimension("makeupwidth") + reportdimension("topheight") + reportdimension("topdistance") + reportdimension("headerheight") + reportdimension("headerdistance") + reportdimension("textheight") + reportdimension("footerdistance") + reportdimension("footerheight") + reportdimension("bottomdistance") + reportdimension("bottomheight") + reportdimension("leftedgewidth") + reportdimension("leftedgedistance") + reportdimension("leftmarginwidth") + reportdimension("leftmargindistance") + reportdimension("textwidth") + reportdimension("rightmargindistance") + reportdimension("rightmarginwidth") + reportdimension("rightedgedistance") + reportdimension("rightedgewidth") + reportdimension("bodyfontsize") + reportdimension("lineheight") + + else + + context.starttabulate { "|l|Tr|Tr|Tr|Tr|" } + + showdimension("paperheight") + showdimension("paperwidth") + showdimension("printpaperheight") + showdimension("printpaperwidth") + showdimension("topspace") + showdimension("backspace") + showdimension("makeupheight") + showdimension("makeupwidth") + showdimension("topheight") + showdimension("topdistance") + showdimension("headerheight") + showdimension("headerdistance") + showdimension("textheight") + showdimension("footerdistance") + showdimension("footerheight") + showdimension("bottomdistance") + showdimension("bottomheight") + showdimension("leftedgewidth") + showdimension("leftedgedistance") + showdimension("leftmarginwidth") + showdimension("leftmargindistance") + showdimension("textwidth") + showdimension("rightmargindistance") + showdimension("rightmarginwidth") + showdimension("rightedgedistance") + showdimension("rightedgewidth") + context.NR() + showdimension("bodyfontsize") + showdimension("lineheight") + context.NR() + showmacro("strutheightfactor") + showmacro("strutdepthfactor") + showmacro("topskipfactor") + showmacro("maxdepthfactor") + + context.stoptabulate() + + end + +end + +function commands.showlayout() + + if tex.count.textlevel == 0 then + + commands.showlayoutvariables() + + else + + context.page() + context.bgroup() + context.showframe() + context.setuplayout { marking = interfaces.variables.on } + for i=1,4 do + commands.showlayoutvariables() + context.page() + end + context.egroup() + + end end \stopluacode @@ -200,12 +273,7 @@ end {\ctxcommand{showlayoutvariables()}} \gdef\showlayout % interfereert lelijk met een \typefile er na - {\bgroup - \page - \showframe - \setuplayout[\c!marking=\v!on] - \dorecurse{4}{\showsetups\page} - \egroup} + {\ctxcommand{showlayout()}} \gdef\showmargins {\starttabulate diff --git a/tex/context/base/s-map-10.mkiv b/tex/context/base/s-map-10.mkiv index 2c0888121..22ceeb161 100644 --- a/tex/context/base/s-map-10.mkiv +++ b/tex/context/base/s-map-10.mkiv @@ -82,30 +82,23 @@ \definebodyfontenvironment [14pt][% interlinespace=14pt, - big=24pt, + big=18pt, small=11pt, x=10pt% ] -\definebodyfontenvironment [24pt][% - interlinespace=24pt, +\definebodyfontenvironment [18pt][% + interlinespace=18pt, big=24pt, small=14pt, - x=11pt% + x=10pt% ] -\definebodyfontenvironment [22pt][% +\definebodyfontenvironment [24pt][% interlinespace=24pt, - big=22pt, - small=14pt, - x=14pt% -] - -\definebodyfontenvironment [30pt][% - interlinespace=30pt, - big=30pt, - small=26pt, - x=26pt% + big=24pt, + small=18pt, + x=11pt% ] %%% font families @@ -433,23 +426,24 @@ \bgroup \hsize = 457pt \let\\\crlf - \blank[29pt,force] - \switchtobodyfont[ss,30pt] + \blank[35pt,force] + \switchtobodyfont[24pt] \setupalign[right] - {\noindent\MapsTitle\par\blank[6pt]} - \ifx\MapsSubTitle\empty \else - { \switchtobodyfont[ss,22pt]\noindent - \advance \rightskip 0pt plus 2em - \MapsSubTitle\par} + {\noindent\bf\MapsTitle\par} + \ifx\MapsSubTitle\empty + \blank[30pt] + \else + \bgroup + \blank[12pt] + \switchtobodyfont[18pt]\noindent \it + \advance \rightskip 0pt plus 2em + \MapsSubTitle\par + \egroup + \blank[30pt] \fi - \doifmodeelse{newstyle} - {\blank[22pt]} - {\blank[30pt]} \egroup \setupalign[width] \switchtobodyfont[rm,10pt] - \doifmode{newstyle} - {\noindent\MapsAuthor\blank[line]} \stopbaselinecorrection \ifMapsInColumns \startcolumns\hyphenpenalty1000 diff --git a/tex/context/base/scrn-pag.mkvi b/tex/context/base/scrn-pag.mkvi index c982eb402..8e1dbde8e 100644 --- a/tex/context/base/scrn-pag.mkvi +++ b/tex/context/base/scrn-pag.mkvi @@ -26,18 +26,83 @@ \newdimen\canvasheight \newdimen\canvasbackoffset \newdimen\canvastopoffset +\newdimen\canvasmaxwidth +\newdimen\canvasmaxheight + +\newconditional\scrn_canvas_tight_page + +% \def\scrn_canvas_calculate +% {\begingroup +% \edef\currentinteractionscreenwidth {\interactionscreenparameter\c!width }% +% \edef\currentinteractionscreenheight{\interactionscreenparameter\c!height}% +% \canvasbackoffset\backspace +% \canvastopoffset\topspace +% \ifx\currentinteractionscreenwidth\v!fit +% \global\canvaswidth\leftcombitotal +% \ifdim\backspace>\canvaswidth +% \ifdim\backspace>\zeropoint\relax +% \global\advance\canvasbackoffset -\canvaswidth +% \fi +% \fi +% \global\advance\canvaswidth\dimexpr +% \rightcombitotal +% + 2\dimexpr +% \interactionscreenparameter\c!backspace +% + \interactionscreenparameter\c!horoffset +% \relax +% \relax +% \donetrue +% \else\ifx\currentinteractionscreenwidth\v!max +% \global\canvaswidth\printpaperwidth +% \donetrue +% \else +% \global\canvaswidth\currentinteractionscreenwidth +% \donefalse +% \fi\fi +% \ifdone +% \ifdim\canvaswidth>\paperwidth\ifdim\canvaswidth>\zeropoint +% \global\paperwidth\canvaswidth % kills location=middle +% \fi\fi +% \fi +% \ifx\currentinteractionscreenheight\v!fit +% \global\canvasheight\dimexpr\topheight+\topdistance\relax +% \ifdim\topspace>\canvasheight +% \ifdim\topspace>\zeropoint\relax +% \global\advance\canvastopoffset -\canvasheight +% \fi +% \fi +% \global\advance\canvasheight\dimexpr +% \makeupheight +% + \bottomdistance +% + \bottomheight +% + 2\dimexpr +% \interactionscreenparameter\c!topspace +% + \interactionscreenparameter\c!veroffset +% \relax +% \relax +% \else\ifx\currentinteractionscreenheight\v!max +% \global\canvasheight\printpaperheight +% \else +% \global\canvasheight\currentinteractionscreenheight +% \fi\fi +% \ifdone +% \ifdim\canvasheight>\paperheight\ifdim\canvasheight>\zeropoint +% \global\paperheight\canvasheight % kills location=middle +% \fi\fi +% \fi +% \endgroup} \def\scrn_canvas_calculate {\begingroup \edef\currentinteractionscreenwidth {\interactionscreenparameter\c!width }% \edef\currentinteractionscreenheight{\interactionscreenparameter\c!height}% \canvasbackoffset\backspace - \canvastopoffset\topoffset + \canvastopoffset\topspace \ifx\currentinteractionscreenwidth\v!fit \global\canvaswidth\leftcombitotal \ifdim\backspace>\canvaswidth \ifdim\backspace>\zeropoint\relax - \global\advance\canvasbackspace -\canvaswidth + \global\advance\canvasbackoffset -\canvaswidth \fi \fi \global\advance\canvaswidth\dimexpr @@ -47,24 +112,16 @@ + \interactionscreenparameter\c!horoffset \relax \relax - \donetrue \else\ifx\currentinteractionscreenwidth\v!max \global\canvaswidth\printpaperwidth - \donetrue \else \global\canvaswidth\currentinteractionscreenwidth - \donefalse \fi\fi - \ifdone - \ifdim\canvaswidth>\paperwidth\ifdim\canvaswidth>\zeropoint - \global\paperwidth\canvaswidth % kills location=middle - \fi\fi - \fi \ifx\currentinteractionscreenheight\v!fit \global\canvasheight\dimexpr\topheight+\topdistance\relax \ifdim\topspace>\canvasheight \ifdim\topspace>\zeropoint\relax - \global\advance\canvastopspace -\canvasheight + \global\advance\canvastopoffset -\canvasheight \fi \fi \global\advance\canvasheight\dimexpr @@ -76,77 +133,64 @@ + \interactionscreenparameter\c!veroffset \relax \relax - \donetrue \else\ifx\currentinteractionscreenheight\v!max \global\canvasheight\printpaperheight - \donetrue \else \global\canvasheight\currentinteractionscreenheight - \donefalse \fi\fi - \ifdone - \ifdim\canvasheight>\paperheight\ifdim\canvasheight>\zeropoint - \global\paperheight\canvasheight % kills location=middle - \fi\fi + \ifconditional\page_location_is_set + \global\setfalse\scrn_canvas_tight_page \fi - \endgroup} - -\appendtoks - \ifproductionrun - \scrn_canvas_calculate - \fi -\to \everysetupinteractionscreen - -\def\scrn_canvas_synchronize_simple % this will be done differently (or disappear) - {\begingroup - \ifx\@@ppleft \empty - \ifx\@@ppright \empty - \ifx\@@pptop \empty - \ifx\@@ppbottom \empty - \ifx\@@pcstate\v!start - \locationfalse\fi\else - \locationfalse\fi\else - \locationfalse\fi\else - \locationfalse\fi\else - \locationfalse\fi - \iflocation % without screen settings - \ctxcommand{setupcanvas{ - paperwidth = \number\paperwidth, - paperheight = \number\paperheight - }}% + \ifconditional\scrn_canvas_tight_page + \global\canvasmaxwidth \paperwidth + \global\canvasmaxheight\paperheight \else - \ctxcommand{setupcanvas{ - paperwidth = \number\printpaperwidth, - paperheight = \number\printpaperheight - }}% + \global\canvasmaxwidth \printpaperwidth + \global\canvasmaxheight\printpaperheight \fi \endgroup} -\def\scrn_canvas_synchronize_complex +% test the next when something is changed here: +% +% \setuppapersize[A5][A3] \showframe +% +% % \setuplayout[location=middle] \setupinteractionscreen[option=fit] +% % \setuplayout[location=middle] \setupinteractionscreen[option=auto] +% % \setupinteractionscreen[option=fit] +% % \setupinteractionscreen[option=auto] +% +% \starttext \input ward \stoptext + +\def\scrn_canvas_synchronize_simple {\ctxcommand{setupcanvas{ - mode = "\interactionscreenparameter\c!option", - singlesided = \ifsinglesided true\else false\fi, - doublesided = \ifdoublesided true\else false\fi, - leftoffset = \number\dimexpr\canvasbackoffset\relax, - topoffset = \number\dimexpr\canvastopoffset\relax, - width = \number\dimexpr\canvaswidth\relax, - height = \number\dimexpr\canvasheight\relax, - paperwidth = \number\paperwidth, - paperheight = \number\paperheight + paperwidth = \number\printpaperwidth, + paperheight = \number\printpaperheight }}} -\let\scrn_canvas_synchronize\scrn_canvas_synchronize_simple +\def\scrn_canvas_synchronize_complex + {\scrn_canvas_calculate % otherwise we need to hook it into setuppage etc + \ctxcommand{setupcanvas{ + mode = "\interactionscreenparameter\c!option", + singlesided = \ifsinglesided true\else false\fi, + doublesided = \ifdoublesided true\else false\fi, + leftoffset = \number\canvasbackoffset, + topoffset = \number\canvastopoffset, + width = \number\canvaswidth, + height = \number\canvasheight, + paperwidth = \number\canvasmaxwidth, + paperheight = \number\canvasmaxheight + }}} \appendtoks - \ifproductionrun - \doifelse\@@pcstate\v!start - {\let\scrn_canvas_synchronize\scrn_canvas_synchronize_simple } - {\let\scrn_canvas_synchronize\scrn_canvas_synchronize_complex}% - \fi + \doifcommonelse{\interactionscreenparameter\c!option}{\v!max,\v!fit}% + {\global\settrue \scrn_canvas_tight_page}% + {\global\setfalse\scrn_canvas_tight_page}% \to \everysetupinteractionscreen \appendtoks - \scrn_canvas_synchronize + \doifelse\@@pcstate\v!start + \scrn_canvas_synchronize_simple + \scrn_canvas_synchronize_complex \to \everyshipout \setupinteractionscreen diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv index de16fa286..d04ed6724 100644 --- a/tex/context/base/spac-ver.mkiv +++ b/tex/context/base/spac-ver.mkiv @@ -1369,15 +1369,27 @@ \ifvbox\nextbox\vbox\else\hbox\fi attr \snapmethodattribute \zerocount {\box\nextbox}% \egroup} +\def\docheckgridsnappingnop + {\gridsnappingfalse + \resetsystemmode\v!grid + \resetsnapvalue} + +\def\docheckgridsnappinyes + {\gridsnappingtrue + \setsystemmode\v!grid + \autosetsnapvalue\askedgridmode} + \def\docheckgridsnapping - {\edef\askedgridmode{\layoutparameter\c!grid}% needs checking by WS - \doifelse\askedgridmode\v!no - {\gridsnappingfalse - \resetsystemmode\v!grid - \resetsnapvalue} - {\gridsnappingtrue - \setsystemmode\v!grid - \autosetsnapvalue\askedgridmode}} + {\edef\askedgridmode{\layoutparameter\c!grid}% + \ifx\askedgridmode\v!no % official + \docheckgridsnappingnop + \else\ifx\askedgridmode\v!off % for taco and luigi + \docheckgridsnappingnop + \else\ifx\askedgridmode\empty % to be sure + \docheckgridsnappingnop + \else + \docheckgridsnappingyes + \fi\fi\fi} %D Visualization: diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 7509af18a..fb377d90e 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index a4ad5c8da..ac8fc6ac3 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/strc-not.mkiv b/tex/context/base/strc-not.mkiv index 29fd3995d..bf815c728 100644 --- a/tex/context/base/strc-not.mkiv +++ b/tex/context/base/strc-not.mkiv @@ -468,6 +468,7 @@ {\begingroup \setbox\scratchbox\vbox {\forgetall +% \setnotebodyfont \dontcomplain \noteparameter\c!before \placenoterule diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index 0fd453e2d..d2bc84ae8 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -7297,5 +7297,9 @@ \def\doexpandcheckedcsname#1#2#3% {\csname#1\ifcsname#1#2\endcsname#2\else#3\fi\endcsname} +%D Signal. Some fonts have a char0 rendering so we need to make sure that it +%D is not set in the font! + +\unexpanded\def\signalcharacter{\char\zerocount} % \zwj \protect \endinput diff --git a/tex/context/base/typo-cap.lua b/tex/context/base/typo-cap.lua index b762589ce..2e20a95e7 100644 --- a/tex/context/base/typo-cap.lua +++ b/tex/context/base/typo-cap.lua @@ -82,6 +82,7 @@ local function helper(start, codes, special, attribute, once) if next then next.prev = prev end +--~ node.free(start) return prev, true elseif lastfont and start.prev.id ~= glyph_code then fnt = lastfont diff --git a/tex/context/base/typo-cap.mkiv b/tex/context/base/typo-cap.mkiv index 68645d260..1b3e0df26 100644 --- a/tex/context/base/typo-cap.mkiv +++ b/tex/context/base/typo-cap.mkiv @@ -131,9 +131,9 @@ % we use char0 as placeholder for the larger font -\unexpanded\def\pseudosmallcapped{\groupedcommand{\setcharactercasing[\plusone ]\char\zerocount\tx}{}} % all upper -\unexpanded\def\pseudoSmallcapped{\groupedcommand{\setcharactercasing[\plusfive]\char\zerocount\tx}{}} % one upper + font -\unexpanded\def\pseudoSmallCapped{\groupedcommand{\setcharactercasing[\plussix ]\char\zerocount\tx}{}} % some upper + font +\unexpanded\def\pseudosmallcapped{\groupedcommand{\setcharactercasing[\plusone ]\signalcharacter\tx}{}} % all upper +\unexpanded\def\pseudoSmallcapped{\groupedcommand{\setcharactercasing[\plusfive]\signalcharacter\tx}{}} % one upper + font +\unexpanded\def\pseudoSmallCapped{\groupedcommand{\setcharactercasing[\plussix ]\signalcharacter\tx}{}} % some upper + font \unexpanded\def\realsmallcapped {\groupedcommand{\sc\setcharactercasing[\plusone ]}{}} % all lower \unexpanded\def\realSmallcapped {\groupedcommand{\sc\setcharactercasing[\plusthree]}{}} % one upper + font @@ -166,7 +166,7 @@ %D As suggested by WS: -\unexpanded\def\notsmallcapped{\groupedcommand{\setcharactercasing[\plustwo]\char\zerocount}{}} +\unexpanded\def\notsmallcapped{\groupedcommand{\setcharactercasing[\plustwo]\signalcharacter}{}} %D \macros %D {setupcapitals} diff --git a/tex/context/fonts/demo.lfg b/tex/context/fonts/demo.lfg index c76a58d25..6c7f6b62d 100644 --- a/tex/context/fonts/demo.lfg +++ b/tex/context/fonts/demo.lfg @@ -11,16 +11,8 @@ local smallcaps = { smcp = yes, } -local report_statistics = logs.reporter("fonts","statistics") - local function statistics(tfmdata) - for k, v in table.sortedpairs(tfmdata) do - if type(v) == "table" then - report_statistics("%s: ",k) - else - report_statistics("%s: %s",k,tostring(v)) - end - end + commands.showfontparameters end local function squeeze(tfmdata) diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml index 0730c972f..bcb18fca1 100644 --- a/tex/context/interface/keys-fr.xml +++ b/tex/context/interface/keys-fr.xml @@ -79,7 +79,7 @@ - + diff --git a/tex/context/sample/cow.pdf b/tex/context/sample/cow.pdf new file mode 100644 index 000000000..2441faf74 Binary files /dev/null and b/tex/context/sample/cow.pdf differ diff --git a/tex/context/sample/hacker.jpg b/tex/context/sample/hacker.jpg new file mode 100644 index 000000000..cbc53a7de Binary files /dev/null and b/tex/context/sample/hacker.jpg differ diff --git a/tex/context/sample/mill.png b/tex/context/sample/mill.png new file mode 100644 index 000000000..faff477de Binary files /dev/null and b/tex/context/sample/mill.png differ diff --git a/tex/context/sample/spider.eps b/tex/context/sample/spider.eps new file mode 100644 index 000000000..ecaafb847 --- /dev/null +++ b/tex/context/sample/spider.eps @@ -0,0 +1,2843 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 250 352 362 440 +%%Creator: CorelDRAW! +%%Title: SPIN016.EPS +%%CreationDate: Thu Feb 16 13:27:54 1995 + +%%DocumentFonts: +%%DocumentProcessColors: Magenta Yellow Black +%%EndComments +%%BeginProlog +/AutoFlatness false def +% -------------- POSTSCRIPT PROLOG FOR CORELDRAW 3.X ------ +% Copyright 1992 Corel Corporation. All rights reserved. +/wCorelDict 300 dict def wCorelDict begin/bd{bind def}bind def +/ld{load def}bd/xd{exch def}bd/_ null def +/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def +/$n _ def/$o 0 def/$fil 0 def/$bkg false def +/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def +/$N _ def/$O 0 def/$PF false def/$ctm matrix currentmatrix def +/$ptm matrix def/$ttm matrix def/$stm matrix def +/$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def +currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd +/$dsf xd/$sdf false def/$SDF false def/$Scra 0.0 def +/$sv 0 def/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld +/@np/newpath ld/@sv{/$sv save def}bd/@rs{$sv restore}bd +/@ss{exch $Scra add exch load setscreen}bd +AutoFlatness{/$cpx ([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n) def +/@err1{$cpx print flush newpath}bd/@ifl{dup currentflat exch sub 10 gt +{@err1 exit}{currentflat 2 add setflat}ifelse}bd +/@fill/fill ld/fill{currentflat{{@fill}stopped{@ifl}{exit}ifelse +}bind loop setflat}bd/@eofill/eofill ld/eofill{currentflat{{@eofill} +stopped{@ifl}{exit}ifelse}bind loop setflat}bd +/@clip/clip ld/clip{currentflat{{@clip}stopped{initclip @ifl}{exit +}ifelse}bind loop setflat}bd/@eoclip/eoclip ld +/eoclip{currentflat{{@eoclip}stopped{initclip @ifl}{exit}ifelse +}bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke} +stopped{@ifl}{exit}ifelse}bind loop setflat}bd}if +/InRange{3 -1 roll 2 copy le{pop}{exch pop}ifelse +2 copy ge{pop}{exch pop}ifelse}bd/wDstChck{2 1 roll dup 3 -1 roll +eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub 2 div}bd +/@lin{exch pop abs 1 exch sub}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd +/setcmykcolor where{pop}{/setcmykcolor{4 1 roll +3{3 index add 1 @MN 1 exch sub 3 1 roll}repeat +setrgbcolor pop}bd}ifelse/setoverprint{/$op xd}bd +/currentoverprint{$op}bd/setsepcolor{1 exch sub setgray}bd +/checksepcolor{1 exch sub dup setgray 1 eq exch 1 eq and not}bd +/setprocesscolor{ColorSeparationMode 0 eq{setcmykcolor}{ +0 4 $ink sub index exch pop 5 1 roll 4{pop}repeat +setsepcolor}ifelse}bd/findcmykcustomcolor{5 array astore}bd +/setcustomcolor where{pop}{/setcustomcolor{ColorSeparationMode 0 eq{ +exch aload pop pop 4{4 index mul 4 1 roll}repeat +5 -1 roll pop setcmykcolor}{exch aload pop +CurrentInkName eq{4 index}{0}ifelse 6 1 roll +5{pop}repeat setsepcolor}ifelse}bd}ifelse/colorimage where{pop}{ +/colorimage{pop pop pop pop pop{currentfile $dat readhexstring pop pop} +repeat pop}bd}ifelse/@tc{dup 1 ge{pop}{4{dup +6 -1 roll mul exch}repeat pop}ifelse}bd/@scc{1 eq setoverprint +dup _ eq{pop setprocesscolor pop}{findcmykcustomcolor +exch setcustomcolor}ifelse ColorSeparationMode 0 eq{true}{ +currentgray 1 eq currentoverprint and not}ifelse}bd +/@sft{/$tx $tllx $pxf add dup $tllx gt{$pwid sub}if def +/$ty $tury $pyf sub dup $tury lt{$phei add}if def}bd +/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd +/@ep{{cvx exec}forall}bd/@tp{@sv/$in true def +2 copy dup $lly le{/$in false def}if $phei sub $ury ge{/$in false def}if +dup $urx ge{/$in false def}if $pwid add $llx le{/$in false def}if +$in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl +0 $phei rl clip @np $pn cvlit load aload pop +7 -1 roll 5 index sub 7 -1 roll 3 index sub translate +/$ctm matrix currentmatrix def @ep pop pop pop pop}{pop pop}ifelse +@rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{ +dup $llx gt{$pwid sub}{exit}ifelse}loop exch $phei mul $ty exch sub +0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1 roll add exch +@tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul $tx add +exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop +0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for +pop pop}for}bd/@pf{@gs $ctm setmatrix $pm concat +@stb eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd +Bbllx Bblly $pm itransform/$tlly xd/$tllx xd +/$wid $turx $tllx sub def/$hei $tury $tlly sub def +@gs $vectpat{1 0 0 0 0 _ $o @scc{eofill}if}{$t $c $m $y $k $n $o @scc{ +$tllx $tlly translate $wid $hei scale <00> 8 1 false [ 8 0 0 1 0 0 ]{}imagemask +/$bkg true def}if}ifelse @gr $wid 0 gt $hei 0 gt and{ +$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd +exch sub/$pwid xd/$tlx $wid $pwid div ceiling 1 add def +/$tly $hei $phei div ceiling 1 add def $psx 0 eq{@tv}{@th}ifelse}if +@gr @np/$bkg false def}bd/@dlt{ColorSeparationMode 0 eq{ +/$dc $toc $tot mul $frc $frt mul dup/$c xd sub $fst 1 sub div def +/$dm $tom $tot mul $frm $frt mul dup/$m xd sub $fst 1 sub div def +/$dy $toy $tot mul $fry $frt mul dup/$y xd sub $fst 1 sub div def +/$dk $tok $tot mul $frk $frt mul dup/$k xd sub $fst 1 sub div def +true}{$frt $frc $frm $fry $frk $frn $o @scc +dup{/$frk 1 currentgray sub def}{/$frk 0 def}ifelse +$tot $toc $tom $toy $tok $ton $o @scc dup{/$tok 1 currentgray sub def}{ +/$tok 0 def}ifelse or dup{/$c 0 def/$m 0 def/$y 0 def/$k $frk def +/$dc 0 def/$dm 0 def/$dy 0 def/$dk $tok $frk sub $fst 1 sub div def}if +}ifelse}bd/@ftl{1 index 4 index sub dup $pad mul dup/$pdw xd +2 mul sub $fst div/$wid xd 2 index sub/$hei xd +pop translate $c $m $y $k 4 copy ColorSeparationMode 0 ne +{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse +0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill +$pdw 0 translate $fst{4 copy ColorSeparationMode 0 ne +{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse +0 0 moveto 0 $hei lineto $wid $hei lineto $wid 0 lineto 0 0 lineto fill +$wid 0 translate $dk add 4 1 roll $dy add 4 1 roll +$dm add 4 1 roll $dc add 4 1 roll}repeat $dk sub 4 1 roll +$dy sub 4 1 roll $dm sub 4 1 roll $dc sub 4 1 roll +ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} +{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill +}bd/@ftr{1 index 4 index sub dup $rox mul/$row xd +2 div 1 index 4 index sub dup $roy mul/$roh xd +2 div 2 copy dup mul exch dup mul add sqrt +$row dup mul $roh dup mul add sqrt add dup/$hei xd $fst div/$wid xd +4 index add $roh add exch 5 index add $row add +exch translate pop pop pop pop currentflat dup 5 mul setflat +$c $m $y $k 4 copy ColorSeparationMode 0 ne +{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse +$wid 0 moveto 0 0 $hei 0 360 arc fill 1.0 $pad 2 mul sub dup scale +$fst{4 copy ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} +{setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill +/$hei $hei $wid sub def $dk add 4 1 roll $dy add 4 1 roll +$dm add 4 1 roll $dc add 4 1 roll}repeat pop pop pop pop +setflat}bd/@ff{@gs @dlt{$ctm setmatrix eoclip +newpath Bbllx Bblly moveto Bbllx Bbury lineto +Bburx Bbury lineto Bburx Bblly lineto $fan rotate +pathbbox newpath $fty 1 eq{@ftr}{@ftl}ifelse}if +@gr @np}bd/@Pf{@sv ColorSeparationMode 0 eq $ink 3 eq or{0 J 0 j [] 0 d +$t $c $m $y $k $n $o @scc pop $ctm setmatrix +72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform +ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform +floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop +$Psn load exec}{1 setgray eofill}ifelse @rs +@np}bd/g{1 exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def +}bd/G{1 exch sub/$K xd/$C 0 def/$M 0 def/$Y 0 def/$T 1 def/$N _ def}bd +/k{/$k xd/$y xd/$m xd/$c xd/$t 1 def/$n _ def/$fil 0 def}bd +/K{/$K xd/$Y xd/$M xd/$C xd/$T 1 def/$N _ def}bd +/x{/$t xd/$n xd/$k xd/$y xd/$m xd/$c xd/$fil 0 def}bd +/X{/$T xd/$N xd/$K xd/$Y xd/$M xd/$C xd}bd +/d/setdash ld/i{dup 0 ne{setflat}{pop}ifelse}bd +/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit ld +/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd +/c/curveto ld/C/c ld/v{4 -2 roll 2 copy 6 -2 roll curveto}bd +/V/v ld/y{2 copy curveto}bd/Y/y ld/l/lineto ld +/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld +/N/newpath ld/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if +$fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc +{eofill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if +setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix +$ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc{ +matrix currentmatrix $ptm concat stroke setmatrix}{@np}ifelse +$SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp +S}bd/B{@gs F @gr S}bd/b{@cp B}bd/W{eoclip}bd +/p{/$pm xd 7{pop}repeat/$pyf xd/$pxf xd/$pn xd +/$fil 1 def}bd/P{11{pop}repeat}bd/u{}bd/U{}bd +/A{pop}bd/q/@gs ld/Q/@gr ld/E{5 array astore +exch cvlit exch def}bd/`{}bd/~{}bd/@{}bd/&{}bd +/CorelDrawReencodeVect [ 16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl +16#88/circumflex/perthousand/Scaron/guilsinglleft/OE +16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash +16#98/tilde/trademark/scaron/guilsinglright/oe +16#9F/Ydieresis 16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section +16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron +16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered +16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown +16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +] def/@cc{currentfile $dat readhexstring pop}bd +/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd +/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def +1 eq/$vectpat xd/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd +/$pn xd}bd/@P{/$fil 3 def/$Psn xd array astore +/$Prm xd}bd/@k{/$fil 2 def/$roy xd/$rox xd/$pad xd +/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$tok xd/$toy xd/$tom xd/$toc xd +/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def/$ton _ def/$tot 1 def +}bd/@x{/$fil 2 def/$roy xd/$rox xd/$pad xd +/$fty xd/$fan xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd/$toc xd +/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd}bd +/@ii{concat 3 index 3 index m 3 index 1 index l +2 copy l 1 index 3 index l 3 index 3 index l +clip pop pop pop pop}bd/@i{@sm @gs @ii 6 index 1 ne{/$frg true def +pop pop}{1 eq{$T $C $M $Y $K $N $O @scc/$frg xd}{/$frg false def +}ifelse 1 eq{@gs $ctm setmatrix $t $c $m $y $k $n $o @scc{eofill}if +@gr}if}ifelse/$frg $frg $bkg or def @np/$ury xd/$urx xd/$lly xd/$llx xd +/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string def +$frg{$SDF{$SCF $SCA $SCP @ss}if $llx $lly translate +$urx $llx sub $ury $lly sub scale $wid $hei abs +$bts 1 eq{false}{$bts}ifelse [ $wid 0 0 $hei neg 0 +$hei 0 gt{$hei}{0}ifelse]/@cc load $bts 1 eq{imagemask}{image}ifelse +$SDF{$dsf $dsa $dsp @ss}if}{$hei abs{@cc pop}repeat}ifelse +@gr $ctm setmatrix}def/@M{@sv}bd/@N{/@cc{}def +1 eq{12 -1 roll neg 12 1 roll @I}{13 -1 roll neg 13 1 roll +@i}ifelse @rs}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd +/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def +$llx $lly translate $urx $llx sub $ury $lly sub scale +$wid $hei abs $bts [ $wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse] +/@cc load false $ncl colorimage @gr $ctm setmatrix}bd +/z{exch findfont exch scalefont setfont}bd +/ZB{9 dict dup begin 4 1 roll/FontType 3 def +/FontMatrix xd/FontBBox xd/Encoding 256 array def +0 1 255{Encoding exch/.notdef put}for/CharStrings 256 dict def +CharStrings/.notdef{}put/Metrics 256 dict def +Metrics/.notdef 3 -1 roll put/BuildChar{exch +dup/$char exch/Encoding get 3 index get def +dup/Metrics get $char get aload pop setcachedevice +begin Encoding exch get CharStrings exch get +end exec}def end definefont pop}bd/ZBAddChar{findfont begin +dup 4 1 roll dup 6 1 roll Encoding 3 1 roll put +CharStrings 3 1 roll put Metrics 3 1 roll put +end}bd/Z{findfont dup maxlength 2 add dict exch +dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}ifelse}forall +pop dup dup/Encoding get 256 array copy dup/$fe xd +/Encoding exch put dup/Fontname 3 index put +3 -1 roll dup length 0 ne{0 exch{dup type 0 type eq{exch pop}{ +$fe exch 2 index exch put 1 add}ifelse}forall +pop}if dup 256 dict dup/$met xd/Metrics exch put +dup/FontMatrix get 0 get 1000 mul 1 exch div +3 index length 256 eq{0 1 255{dup $fe exch get +dup/.notdef eq{pop pop}{5 index 3 -1 roll get +2 index mul $met 3 1 roll put}ifelse}for}if +pop definefont pop pop}bd/@ftx{{currentpoint 3 -1 roll +(0) dup 3 -1 roll 0 exch put dup @gs true charpath +$ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch moveto +}forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if +$fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq +{/@@txt/@Pf ld @ftx}{$t $c $m $y $k $n $o @scc{show}{pop}ifelse}ifelse +}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd +/@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if +$T $C $M $Y $K $N $O @scc{{currentpoint 3 -1 roll +(0) dup 3 -1 roll 0 exch put dup @gs true charpath +$ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3 -1 roll add exch moveto +}forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if +setmatrix}bd/@te{@ft}bd/@tr{@st}bd/@ta{dup +@gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd +/@tm{/$textsave save def @sm concat}bd/e{/t{@te}def}bd +/r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}def}bd +/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix +/$ttm matrix def $textsave restore}bd/@t{/$stm $stm currentmatrix def +3 1 roll moveto $ttm concat t $stm setmatrix}def +/@n{/$ttm exch matrix rotate def}bd/@s{}bd +/@l{}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@w{matrix rotate/$ptm xd +matrix scale $ptm dup concatmatrix/$ptm xd +1 eq{$ptm exch dup concatmatrix/$ptm xd}if +1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd +/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd +/$SCA xd/$SCF xd}if}bd/@D{3 copy @ss/$dsp xd +/$dsa xd/$dsf xd}bd/@j{@sv @np}bind def/@J{@rs}bind def +/@sep{/ColorSeparationMode where{pop}{/ColorSeparationMode 0 def +/CurrentInkName (Composite) def}ifelse ColorSeparationMode 0 eq{ +/CurrentInkName (Composite) def}if/CurrentInkName where{pop}{ +/CurrentInkName (Composite) def}ifelse CurrentInkName (Composite) eq +{/$ink -1 def}{CurrentInkName (Cyan) eq{/$ink 0 def}{ +CurrentInkName (Magenta) eq{/$ink 1 def}{CurrentInkName (Yellow) eq +{/$ink 2 def}{CurrentInkName (Black) eq{/$ink 3 def}{/$ink 4 def +}ifelse}ifelse}ifelse}ifelse}ifelse}bd @sep +/@whi{@gs -72000 dup moveto -72000 72000 lineto +72000 dup lineto 72000 -72000 lineto closepath 1 setgray fill +@gr}bd/@neg{ [{1 exch sub}/exec cvx currenttransfer/exec cvx] cvx settransfer +@whi}bd/@reg{[] 0 d 0 setgray .3 setlinewidth +2 copy 5.4 0 360 arc closepath 2 copy moveto 9 0 rlineto +2 copy moveto -9 0 rlineto 2 copy moveto 0 9 rlineto +moveto 0 -9 rlineto stroke}bd/leftbracket{(\050)}def +/rightbracket{(\051)}def + +%%EndProlog +%%BeginSetup +11.4737 setmiterlimit +1.00 setflat +/$fst 128 def + +%%EndSetup +@sv +/$ctm matrix currentmatrix def +@sv +%%Note: Object +290.95 378.07 320.40 429.12 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 0 1 0.00 0.05 0.10 @k +%%CURV 37 +308.52 422.28 m +313.63 416.81 315.00 415.58 316.80 409.82 c +318.60 404.06 320.40 397.80 319.32 392.04 c +318.24 386.28 316.37 382.18 314.21 380.59 c +312.05 379.01 309.53 378.07 304.42 378.36 c +299.30 378.65 295.27 381.60 293.47 385.92 c +291.67 390.24 290.95 394.20 290.95 398.95 c +290.95 403.70 291.17 407.74 293.98 411.91 c +296.78 416.09 299.52 417.38 299.59 417.53 c +301.18 420.70 L +302.62 422.93 L +301.54 425.66 L +301.32 427.18 303.26 428.98 304.78 429.05 c +306.29 429.12 308.74 427.10 308.45 425.02 C +307.66 423.22 308.52 422.28 308.52 422.28 c +@c +B +%%Note: Object +301.82 419.69 308.09 421.42 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +308.09 421.06 m +305.57 419.69 301.82 421.42 301.82 421.42 C +S +%%Note: Object +300.24 433.44 302.62 436.46 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 7 +300.24 433.44 m +301.03 433.58 301.25 433.44 301.68 434.09 c +302.11 434.74 302.47 435.82 302.62 436.46 C +S +%%Note: Object +300.31 435.24 301.32 438.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 7 +300.31 435.24 m +300.74 435.89 301.18 436.18 301.25 436.75 c +301.32 437.33 301.32 437.90 301.32 438.34 C +S +%%Note: Object +299.16 436.97 300.31 439.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 7 +299.23 436.97 m +299.59 438.05 299.16 437.69 299.74 438.48 c +300.31 439.27 300.17 438.84 300.31 439.34 C +S +%%Note: Object +262.73 405.00 267.34 405.29 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 4 +267.34 405.14 m +265.18 405.00 264.38 405.29 262.73 405.14 C +S +%%Note: Object +252.94 396.36 257.33 397.37 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 4 +257.33 397.01 m +254.95 396.50 254.16 397.37 252.94 396.36 C +S +%%Note: Object +261.43 393.48 271.94 407.30 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 7 +263.30 400.39 m +263.09 397.87 263.45 398.52 262.44 396.00 c +261.43 393.48 271.94 407.30 269.06 404.28 C +S +%%Note: Object +269.93 400.39 272.81 404.64 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 4 +272.81 404.64 m +271.58 403.13 271.01 401.04 269.93 400.39 C +S +%%Note: Object +288.14 403.49 290.59 407.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.10 k +%%CURV 4 +290.59 407.66 m +289.73 404.28 290.30 405.36 288.14 403.49 C +S +%%Note: Object +290.16 390.96 290.74 395.57 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +290.74 395.57 m +290.30 394.13 290.16 392.54 290.16 390.96 C +S +%%Note: Object +287.06 387.00 287.71 392.26 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +287.71 392.26 m +287.71 390.46 287.06 388.73 287.06 387.00 C +S +%%Note: Object +282.74 380.74 283.03 385.85 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +283.03 385.85 m +282.74 380.74 L +S +%%Note: Object +279.86 374.83 280.15 379.58 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +280.01 379.58 m +280.01 374.83 L +S +%%Note: Object +277.92 367.20 279.36 372.82 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +277.92 372.82 m +277.92 370.58 278.57 369.79 279.07 368.06 c +279.07 367.85 279.22 367.20 279.36 367.20 C +S +%%Note: Object +275.69 360.72 277.27 365.40 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +275.69 365.40 m +277.27 360.72 L +S +%%Note: Object +275.69 352.58 276.62 357.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +275.69 357.70 m +275.69 356.62 275.98 353.23 276.62 352.58 C +S +%%Note: Object +281.30 392.40 285.12 393.84 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +285.12 393.84 m +284.47 393.70 283.68 393.19 283.03 393.19 C +281.30 392.40 L +S +%%Note: Object +277.27 387.00 281.95 389.23 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +281.95 389.23 m +280.30 388.73 278.71 387.79 277.42 387.14 C +277.27 387.00 L +S +%%Note: Object +274.90 381.38 278.71 384.26 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +278.71 384.26 m +278.06 383.90 276.48 382.68 276.19 382.03 C +275.69 382.03 275.33 381.38 274.90 381.38 C +S +%%Note: Object +273.10 375.62 276.98 378.94 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +276.98 378.94 m +275.54 378.14 274.25 376.13 273.10 375.62 C +S +%%Note: Object +271.15 369.22 274.39 372.74 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +274.39 372.74 m +272.81 371.95 272.02 370.80 271.15 369.22 C +S +%%Note: Object +269.42 360.29 272.16 365.54 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 8 +272.16 365.54 m +271.66 364.75 270.36 362.81 270.36 361.87 C +270.07 361.87 L +270.07 361.51 269.42 360.94 269.42 360.29 C +S +%%Note: Object +270.72 353.52 272.30 359.28 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +272.30 359.28 m +271.80 357.84 270.72 355.18 270.72 353.52 C +S +%%Note: Object +291.46 421.06 294.19 428.11 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +294.19 421.06 m +293.83 423.58 292.68 425.59 292.68 425.59 c +291.46 428.11 L +S +%%Note: Object +289.30 422.71 291.31 428.47 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +290.95 422.71 m +290.95 424.22 291.31 425.81 290.45 426.46 c +289.58 427.10 289.30 428.47 289.30 428.47 C +S +%%Note: Object +285.70 424.73 289.01 430.85 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +288.22 424.73 m +287.57 426.46 289.01 428.04 287.42 428.83 c +285.84 429.62 285.70 430.85 285.70 430.85 C +S +%%Note: Object +280.80 427.46 284.69 432.36 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +284.69 427.46 m +283.82 428.98 284.54 429.98 283.32 430.49 c +282.10 430.99 280.80 432.36 280.80 432.36 C +S +%%Note: Object +277.34 428.11 281.30 433.22 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +281.30 428.11 m +280.44 429.62 281.23 430.70 280.08 431.21 c +278.93 431.71 277.34 433.22 277.34 433.22 C +S +%%Note: Object +271.08 428.62 278.42 432.86 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +278.42 428.62 m +277.06 429.84 277.92 430.99 276.19 431.35 c +274.46 431.71 271.08 432.86 271.08 432.86 C +S +%%Note: Object +266.98 429.48 273.31 430.99 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +273.31 429.48 m +271.58 429.84 269.21 430.99 269.21 430.99 c +266.98 430.99 L +S +%%Note: Object +262.22 428.47 267.34 429.12 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +267.34 428.47 m +264.82 428.47 264.24 429.12 262.22 428.47 C +S +%%Note: Object +255.46 425.23 262.22 426.31 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +262.22 425.23 m +259.70 425.23 259.70 426.31 258.34 426.31 c +256.97 426.31 255.46 425.59 255.46 425.59 C +S +%%Note: Object +286.20 419.54 291.96 420.41 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +291.96 419.54 m +288.72 419.54 287.71 420.41 286.20 419.54 C +S +%%Note: Object +281.09 422.57 286.20 423.29 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +286.20 422.57 m +283.68 422.57 282.96 423.29 281.09 422.57 C +S +%%Note: Object +274.82 423.43 283.32 424.94 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +283.32 424.73 m +280.58 424.73 279.58 424.94 278.21 424.44 c +276.84 423.94 276.55 424.30 274.82 423.43 C +S +%%Note: Object +266.18 422.93 273.96 426.96 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +273.96 426.96 m +270.58 424.73 270.58 425.74 269.21 424.58 c +267.84 423.43 267.77 424.66 266.18 422.93 C +S +%%Note: Object +283.25 411.34 288.79 413.71 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +288.79 411.34 m +286.27 411.84 286.92 412.42 285.41 412.70 c +283.90 412.99 284.62 413.71 283.25 413.71 C +S +%%Note: Object +278.57 411.05 284.83 412.78 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +284.83 411.05 m +282.82 411.41 283.82 412.56 281.45 412.56 c +279.07 412.56 280.08 412.78 278.57 412.78 C +S +%%Note: Object +275.83 410.76 279.07 411.26 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +279.07 410.76 m +277.20 410.90 277.34 411.26 275.83 411.26 C +S +%%Note: Object +271.94 409.54 276.34 410.40 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +276.34 409.54 m +274.46 409.54 273.96 410.40 271.94 410.40 C +S +%%Note: Object +268.20 408.38 272.09 409.46 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +272.09 408.38 m +270.22 408.38 270.72 409.46 268.20 409.18 C +S +%%Note: Object +264.82 406.66 269.21 406.87 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +269.21 406.87 m +267.70 406.66 266.04 406.87 264.82 406.87 C +S +%%Note: Object +255.60 401.11 261.72 402.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +261.72 402.12 m +258.84 401.98 257.11 402.34 255.60 401.11 C +S +%%Note: Object +254.45 398.88 259.56 400.54 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +259.56 399.74 m +256.82 399.10 256.18 400.54 254.45 398.88 C +S +%%Note: Object +251.06 391.61 255.31 393.98 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +255.31 393.98 m +252.72 392.62 251.06 391.61 251.06 391.61 C +S +%%Note: Object +252.72 390.31 255.31 391.97 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +255.31 391.97 m +253.58 390.82 252.72 390.31 252.72 390.31 C +S +%%Note: Object +254.95 388.44 256.82 391.61 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +256.82 391.61 m +256.32 390.31 254.95 388.44 254.95 388.44 C +S +%%Note: Object +258.34 391.10 259.49 394.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +258.70 394.70 m +258.70 391.82 259.49 393.12 258.34 391.10 C +S +%%Note: Object +259.34 392.62 260.93 397.51 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +260.93 397.51 m +260.06 395.35 260.71 394.63 259.34 392.62 C +S +%%Note: Object +266.33 399.24 270.43 403.63 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +270.43 403.63 m +267.84 399.89 266.33 399.24 266.33 399.24 C +S +%%Note: Object +273.10 402.26 277.70 406.37 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +277.70 406.37 m +277.70 406.37 274.39 403.42 273.10 402.26 C +S +%%Note: Object +277.56 403.99 280.94 407.38 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +280.94 407.38 m +279.43 406.15 278.93 405.00 277.56 403.99 C +S +%%Note: Object +278.57 403.13 283.68 408.17 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +283.68 408.17 m +282.10 406.66 279.43 403.99 278.57 403.13 C +S +%%Note: Object +279.43 402.77 286.20 407.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +286.20 407.66 m +283.82 405.65 279.43 402.77 279.43 402.77 C +S +%%Note: Object +286.70 404.64 289.94 407.88 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +289.94 407.88 m +288.94 406.66 287.71 407.02 286.70 404.64 C +S +%%Note: Object +284.18 397.87 291.96 407.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +291.96 407.66 m +290.45 403.78 289.94 403.56 288.07 401.98 c +286.20 400.39 284.54 400.25 284.18 397.87 C +S +%%Note: Object +285.05 396.50 288.43 398.30 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +288.43 397.73 m +286.34 397.01 287.42 398.30 285.05 396.50 C +S +%%Note: Object +281.38 377.06 281.66 383.04 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +281.52 383.04 m +281.52 380.66 281.52 378.72 281.52 377.06 C +S +%%Note: Object +284.26 383.18 284.76 388.58 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +284.76 388.58 m +284.40 385.49 284.26 384.77 284.26 383.18 C +S +%%Note: Object +323.14 397.22 326.52 398.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 8 +323.14 398.66 m +323.64 398.66 324.43 398.30 324.58 398.02 C +325.22 398.02 L +325.22 397.66 326.52 397.51 326.52 397.22 C +S +%%Note: Object +285.05 394.13 291.74 399.10 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 19 +289.51 399.10 m +287.86 397.87 287.35 398.88 287.06 397.01 c +286.78 395.14 285.05 394.85 285.98 394.49 c +286.92 394.13 288.86 394.13 288.86 394.13 c +288.86 394.13 289.58 394.13 290.16 395.28 c +290.74 396.43 291.74 396.94 291.24 397.87 C +290.74 398.81 289.51 399.10 289.51 399.10 c +@c +B +%%Note: Object +277.70 379.80 283.75 389.74 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 25 +279.43 379.80 m +280.30 380.74 279.65 380.23 280.80 381.67 c +281.95 383.11 282.46 385.06 282.89 385.85 c +283.32 386.64 283.75 386.64 283.46 387.72 c +283.18 388.80 282.89 389.74 282.02 389.23 c +281.16 388.73 280.66 388.44 280.08 387.07 c +279.50 385.70 278.50 384.26 278.42 383.54 c +278.35 382.82 277.70 381.38 278.14 380.81 C +278.57 380.23 279.43 379.80 279.43 379.80 c +@c +B +%%Note: Object +272.16 354.31 276.12 369.58 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 31 +275.76 359.42 m +275.69 361.08 275.69 360.07 275.76 362.30 c +275.83 364.54 276.12 366.12 275.90 367.56 c +275.69 369.00 275.76 369.58 274.90 369.58 c +274.03 369.58 273.46 369.36 273.10 368.06 c +272.74 366.77 272.38 366.70 272.38 365.11 c +272.38 363.53 272.30 362.23 272.30 360.79 c +272.30 359.35 272.16 358.13 272.66 356.54 c +273.17 354.96 272.95 354.46 273.82 354.38 c +274.68 354.31 275.04 354.60 275.40 355.46 C +275.76 356.33 275.76 359.42 275.76 359.42 c +@c +B +%%Note: Object +274.39 406.80 285.84 411.77 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 22 +284.33 408.38 m +284.83 409.32 285.84 410.69 284.69 410.98 c +283.54 411.26 280.87 411.77 279.72 411.26 c +278.57 410.76 277.42 410.54 275.98 409.54 c +274.54 408.53 274.39 408.38 275.04 407.59 c +275.69 406.80 276.26 406.80 277.42 406.80 c +278.57 406.80 280.37 407.16 281.81 407.30 C +283.25 407.45 284.33 408.38 284.33 408.38 c +@c +B +%%Note: Object +254.16 390.74 268.49 405.00 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 28 +268.34 405.00 m +268.49 402.34 265.68 401.98 263.95 400.39 c +262.22 398.81 263.02 397.08 261.07 395.93 c +259.13 394.78 259.27 395.64 258.19 393.62 c +257.11 391.61 256.03 390.74 255.10 391.90 c +254.16 393.05 254.66 392.83 255.60 394.78 c +256.54 396.72 257.40 396.94 257.69 397.87 c +257.98 398.81 259.42 400.68 260.57 401.40 c +261.72 402.12 261.72 402.77 263.16 403.27 C +264.60 403.78 268.34 405.00 268.34 405.00 c +@c +B +%%Note: Object +273.46 424.37 284.90 430.27 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 22 +284.18 427.10 m +284.90 428.54 281.30 428.54 279.36 428.69 c +277.42 428.83 275.98 430.27 275.04 429.48 c +274.10 428.69 273.46 428.69 274.39 427.25 c +275.33 425.81 276.41 425.95 277.63 425.95 c +278.86 425.95 278.93 425.59 280.51 425.38 c +282.10 425.16 283.61 424.37 283.90 425.16 C +284.18 425.95 284.04 426.82 284.18 427.10 c +@c +B +%%Note: Object +296.78 423.58 301.18 430.49 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 22 +300.46 423.79 m +300.67 425.81 301.18 425.38 300.74 426.89 c +300.31 428.40 300.46 428.69 299.38 429.05 c +298.30 429.41 297.43 430.49 297.14 429.55 c +296.86 428.62 296.78 427.97 296.78 427.18 c +296.78 426.38 296.93 425.81 297.22 425.16 c +297.50 424.51 298.15 423.58 299.02 423.58 C +299.88 423.58 300.46 423.79 300.46 423.79 c +@c +B +%%Note: Object +328.25 379.80 334.30 389.74 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 25 +332.57 379.80 m +331.70 380.74 332.35 380.23 331.20 381.67 c +330.05 383.11 329.54 385.06 329.11 385.85 c +328.68 386.64 328.25 386.64 328.54 387.72 c +328.82 388.80 329.11 389.74 329.98 389.23 c +330.84 388.73 331.34 388.44 331.92 387.07 c +332.50 385.70 333.50 384.26 333.58 383.54 c +333.65 382.82 334.30 381.38 333.86 380.81 C +333.43 380.23 332.57 379.80 332.57 379.80 c +@c +B +%%Note: Object +335.88 354.31 339.84 369.58 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 31 +336.24 359.42 m +336.31 361.08 336.31 360.07 336.24 362.30 c +336.17 364.54 335.88 366.12 336.10 367.56 c +336.31 369.00 336.24 369.58 337.10 369.58 c +337.97 369.58 338.54 369.36 338.90 368.06 c +339.26 366.77 339.62 366.70 339.62 365.11 c +339.62 363.53 339.70 362.23 339.70 360.79 c +339.70 359.35 339.84 358.13 339.34 356.54 c +338.83 354.96 339.05 354.46 338.18 354.38 c +337.32 354.31 336.96 354.60 336.60 355.46 C +336.24 356.33 336.24 359.42 336.24 359.42 c +@c +B +%%Note: Object +326.16 406.80 337.61 411.77 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 22 +327.67 408.38 m +327.17 409.32 326.16 410.69 327.31 410.98 c +328.46 411.26 331.13 411.77 332.28 411.26 c +333.43 410.76 334.58 410.54 336.02 409.54 c +337.46 408.53 337.61 408.38 336.96 407.59 c +336.31 406.80 335.74 406.80 334.58 406.80 c +333.43 406.80 331.63 407.16 330.19 407.30 C +328.75 407.45 327.67 408.38 327.67 408.38 c +@c +B +%%Note: Object +343.51 390.74 357.84 405.00 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 28 +343.66 405.00 m +343.51 402.34 346.32 401.98 348.05 400.39 c +349.78 398.81 348.98 397.08 350.93 395.93 c +352.87 394.78 352.73 395.64 353.81 393.62 c +354.89 391.61 355.97 390.74 356.90 391.90 c +357.84 393.05 357.34 392.83 356.40 394.78 c +355.46 396.72 354.60 396.94 354.31 397.87 c +354.02 398.81 352.58 400.68 351.43 401.40 c +350.28 402.12 350.28 402.77 348.84 403.27 C +347.40 403.78 343.66 405.00 343.66 405.00 c +@c +B +%%Note: Object +316.22 416.88 323.06 423.22 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 17 +316.22 419.40 m +317.23 420.55 316.58 420.84 318.17 421.49 c +319.75 422.14 320.47 423.22 321.41 422.93 c +322.34 422.64 323.06 422.14 322.06 420.70 c +321.05 419.26 320.90 420.05 319.46 418.46 c +318.02 416.88 316.58 417.67 316.58 417.67 C +316.22 419.40 L +@c +B +%%Note: Object +327.10 424.37 338.54 430.27 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 22 +327.82 427.10 m +327.10 428.54 330.70 428.54 332.64 428.69 c +334.58 428.83 336.02 430.27 336.96 429.48 c +337.90 428.69 338.54 428.69 337.61 427.25 c +336.67 425.81 335.59 425.95 334.37 425.95 c +333.14 425.95 333.07 425.59 331.49 425.38 c +329.90 425.16 328.39 424.37 328.10 425.16 C +327.82 425.95 327.96 426.82 327.82 427.10 c +@c +B +%%Note: Object +309.10 423.58 313.49 430.49 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.85 0.00 0.00 k +%%CURV 22 +309.82 423.79 m +309.60 425.81 309.10 425.38 309.53 426.89 c +309.96 428.40 309.82 428.69 310.90 429.05 c +311.98 429.41 312.84 430.49 313.13 429.55 c +313.42 428.62 313.49 427.97 313.49 427.18 c +313.49 426.38 313.34 425.81 313.06 425.16 c +312.77 424.51 312.12 423.58 311.26 423.58 C +310.39 423.58 309.82 423.79 309.82 423.79 c +@c +B +%%Note: Object +295.56 428.26 300.74 434.88 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 22 +299.88 428.47 m +299.88 429.84 300.74 429.70 299.81 430.92 c +298.87 432.14 299.59 432.86 298.44 433.44 c +297.29 434.02 296.71 434.88 296.35 433.80 c +295.99 432.72 295.85 433.08 295.99 431.28 c +296.14 429.48 295.56 429.55 296.71 428.90 c +297.86 428.26 297.79 428.26 298.58 428.26 C +299.38 428.26 299.88 428.47 299.88 428.47 c +@c +B +%%Note: Object +294.34 414.79 299.74 419.90 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +298.15 416.52 m +299.23 417.60 299.74 418.75 298.15 419.26 c +296.57 419.76 296.35 419.90 295.42 419.90 c +294.48 419.90 294.34 418.75 294.34 417.82 c +294.34 416.88 294.98 415.08 295.78 414.94 c +296.57 414.79 297.36 414.94 297.36 414.94 C +297.36 414.94 297.79 416.16 298.15 416.52 c +@c +B +%%Note: Object +320.26 394.13 326.95 399.10 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +322.49 399.10 m +324.14 397.87 324.65 398.88 324.94 397.01 c +325.22 395.14 326.95 394.85 326.02 394.49 c +325.08 394.13 323.14 394.13 323.14 394.13 c +323.14 394.13 322.42 394.13 321.84 395.28 c +321.26 396.43 320.26 396.94 320.76 397.87 C +321.26 398.81 322.49 399.10 322.49 399.10 c +@c +B +%%Note: Object +281.38 388.15 289.22 394.85 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 25 +284.90 388.37 m +285.84 389.09 285.77 388.94 286.49 390.10 c +287.21 391.25 287.57 391.61 288.14 393.05 c +288.72 394.49 289.22 394.42 288.43 394.56 c +287.64 394.70 287.35 394.85 286.56 394.85 c +285.77 394.85 285.62 394.20 284.76 393.48 c +283.90 392.76 282.60 391.61 282.24 390.74 c +281.88 389.88 281.38 389.30 282.02 388.73 C +282.67 388.15 284.90 388.37 284.90 388.37 c +@c +B +%%Note: Object +273.82 369.00 279.72 381.02 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 28 +274.82 369.00 m +275.62 369.29 275.40 369.72 276.41 370.87 c +277.42 372.02 277.56 372.38 278.06 373.54 c +278.57 374.69 278.93 376.78 279.07 377.78 c +279.22 378.79 279.72 379.44 279.36 380.23 c +279.00 381.02 278.86 380.88 278.14 380.59 c +277.42 380.30 276.26 378.14 275.76 376.85 c +275.26 375.55 274.46 374.69 274.32 373.25 c +274.18 371.81 273.82 371.52 273.82 370.30 C +273.82 369.07 274.82 369.00 274.82 369.00 c +@c +B +%%Note: Object +284.11 407.09 293.33 412.63 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +292.82 409.54 m +293.33 411.41 291.74 412.49 289.01 411.62 c +286.27 410.76 285.48 412.63 284.98 411.41 c +284.47 410.18 284.11 409.75 285.12 408.74 c +286.13 407.74 286.42 407.59 287.71 407.59 c +289.01 407.59 290.16 407.09 291.10 407.59 C +292.03 408.10 292.75 409.18 292.82 409.54 c +@c +B +%%Note: Object +266.33 403.42 276.62 409.54 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 25 +272.16 404.06 m +273.53 404.71 273.24 404.78 274.39 405.86 c +275.54 406.94 276.62 406.80 275.83 407.45 c +275.04 408.10 275.04 408.89 273.96 408.89 c +272.88 408.89 271.66 409.54 270.36 408.24 c +269.06 406.94 268.06 405.94 267.19 405.50 c +266.33 405.07 266.69 404.42 267.48 403.92 c +268.27 403.42 271.01 403.42 271.01 403.42 C +271.01 403.42 271.87 403.92 272.16 404.06 c +@c +B +%%Note: Object +288.94 416.88 295.78 423.22 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 17 +295.78 419.40 m +294.77 420.55 295.42 420.84 293.83 421.49 c +292.25 422.14 291.53 423.22 290.59 422.93 c +289.66 422.64 288.94 422.14 289.94 420.70 c +290.95 419.26 291.10 420.05 292.54 418.46 c +293.98 416.88 295.42 417.67 295.42 417.67 C +295.78 419.40 L +@c +B +%%Note: Object +282.60 420.77 292.75 427.97 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +290.59 422.93 m +292.75 420.77 289.30 425.38 287.21 426.17 c +285.12 426.96 284.76 427.97 283.68 426.96 c +282.60 425.95 283.68 424.08 283.68 424.08 c +283.68 424.08 285.55 422.78 286.56 421.99 c +287.57 421.20 289.01 421.27 289.80 421.49 C +290.59 421.70 290.45 423.07 290.59 422.93 c +@c +B +%%Note: Object +257.33 420.55 274.97 430.99 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 31 +274.54 429.34 m +274.54 426.82 272.81 430.99 269.06 429.19 c +265.32 427.39 265.32 427.46 264.24 426.31 c +263.16 425.16 260.42 424.73 260.42 424.73 c +260.42 424.73 257.33 422.86 257.83 421.85 c +258.34 420.84 257.98 420.55 259.78 420.55 c +261.58 420.55 262.01 422.06 263.30 422.50 c +264.60 422.93 265.61 425.02 267.84 425.02 c +270.07 425.02 270.58 426.31 272.02 426.31 c +273.46 426.31 274.90 426.46 274.90 427.25 C +274.97 428.11 274.54 429.34 274.54 429.34 c +@c +B +%%Note: Object +322.78 388.15 330.62 394.85 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 25 +327.10 388.37 m +326.16 389.09 326.23 388.94 325.51 390.10 c +324.79 391.25 324.43 391.61 323.86 393.05 c +323.28 394.49 322.78 394.42 323.57 394.56 c +324.36 394.70 324.65 394.85 325.44 394.85 c +326.23 394.85 326.38 394.20 327.24 393.48 c +328.10 392.76 329.40 391.61 329.76 390.74 c +330.12 389.88 330.62 389.30 329.98 388.73 C +329.33 388.15 327.10 388.37 327.10 388.37 c +@c +B +%%Note: Object +332.28 369.00 338.18 381.02 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 28 +337.18 369.00 m +336.38 369.29 336.60 369.72 335.59 370.87 c +334.58 372.02 334.44 372.38 333.94 373.54 c +333.43 374.69 333.07 376.78 332.93 377.78 c +332.78 378.79 332.28 379.44 332.64 380.23 c +333.00 381.02 333.14 380.88 333.86 380.59 c +334.58 380.30 335.74 378.14 336.24 376.85 c +336.74 375.55 337.54 374.69 337.68 373.25 c +337.82 371.81 338.18 371.52 338.18 370.30 C +338.18 369.07 337.18 369.00 337.18 369.00 c +@c +B +%%Note: Object +318.67 407.09 327.89 412.63 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +319.18 409.54 m +318.67 411.41 320.26 412.49 322.99 411.62 c +325.73 410.76 326.52 412.63 327.02 411.41 c +327.53 410.18 327.89 409.75 326.88 408.74 c +325.87 407.74 325.58 407.59 324.29 407.59 c +322.99 407.59 321.84 407.09 320.90 407.59 C +319.97 408.10 319.25 409.18 319.18 409.54 c +@c +B +%%Note: Object +335.38 403.42 345.67 409.54 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 25 +339.84 404.06 m +338.47 404.71 338.76 404.78 337.61 405.86 c +336.46 406.94 335.38 406.80 336.17 407.45 c +336.96 408.10 336.96 408.89 338.04 408.89 c +339.12 408.89 340.34 409.54 341.64 408.24 c +342.94 406.94 343.94 405.94 344.81 405.50 c +345.67 405.07 345.31 404.42 344.52 403.92 c +343.73 403.42 340.99 403.42 340.99 403.42 C +340.99 403.42 340.13 403.92 339.84 404.06 c +@c +B +%%Note: Object +312.26 414.79 317.66 419.90 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +313.85 416.52 m +312.77 417.60 312.26 418.75 313.85 419.26 c +315.43 419.76 315.65 419.90 316.58 419.90 c +317.52 419.90 317.66 418.75 317.66 417.82 c +317.66 416.88 317.02 415.08 316.22 414.94 c +315.43 414.79 314.64 414.94 314.64 414.94 C +314.64 414.94 314.21 416.16 313.85 416.52 c +@c +B +%%Note: Object +319.25 420.77 329.40 427.97 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 19 +321.41 422.93 m +319.25 420.77 322.70 425.38 324.79 426.17 c +326.88 426.96 327.24 427.97 328.32 426.96 c +329.40 425.95 328.32 424.08 328.32 424.08 c +328.32 424.08 326.45 422.78 325.44 421.99 c +324.43 421.20 322.99 421.27 322.20 421.49 C +321.41 421.70 321.55 423.07 321.41 422.93 c +@c +B +%%Note: Object +337.03 420.55 354.67 430.99 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 31 +337.46 429.34 m +337.46 426.82 339.19 430.99 342.94 429.19 c +346.68 427.39 346.68 427.46 347.76 426.31 c +348.84 425.16 351.58 424.73 351.58 424.73 c +351.58 424.73 354.67 422.86 354.17 421.85 c +353.66 420.84 354.02 420.55 352.22 420.55 c +350.42 420.55 349.99 422.06 348.70 422.50 c +347.40 422.93 346.39 425.02 344.16 425.02 c +341.93 425.02 341.42 426.31 339.98 426.31 c +338.54 426.31 337.10 426.46 337.10 427.25 C +337.03 428.11 337.46 429.34 337.46 429.34 c +@c +B +%%Note: Object +309.53 428.26 314.71 434.88 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.30 0.30 0.00 k +%%CURV 22 +310.39 428.47 m +310.39 429.84 309.53 429.70 310.46 430.92 c +311.40 432.14 310.68 432.86 311.83 433.44 c +312.98 434.02 313.56 434.88 313.92 433.80 c +314.28 432.72 314.42 433.08 314.28 431.28 c +314.14 429.48 314.71 429.55 313.56 428.90 c +312.41 428.26 312.48 428.26 311.69 428.26 C +310.90 428.26 310.39 428.47 310.39 428.47 c +@c +B +%%Note: Object +309.38 433.44 311.76 436.46 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +1.00 0.45 0.00 0.00 k +%%CURV 7 +311.76 433.44 m +310.97 433.58 310.75 433.44 310.32 434.09 c +309.89 434.74 309.53 435.82 309.38 436.46 C +S +%%Note: Object +310.68 435.24 311.69 438.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +1.00 0.45 0.00 0.00 k +%%CURV 7 +311.69 435.24 m +311.26 435.89 310.82 436.18 310.75 436.75 c +310.68 437.33 310.68 437.90 310.68 438.34 C +S +%%Note: Object +311.69 435.96 312.84 439.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +312.70 435.96 m +312.34 437.04 312.84 437.69 312.26 438.48 c +311.69 439.27 311.83 438.84 311.69 439.34 C +S +%%Note: Object +344.66 405.00 349.27 405.29 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +344.66 405.14 m +346.82 405.00 347.62 405.29 349.27 405.14 C +S +%%Note: Object +354.67 396.36 359.06 397.37 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +354.67 397.01 m +357.05 396.50 357.84 397.37 359.06 396.36 C +S +%%Note: Object +340.06 393.48 350.57 407.30 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +348.70 400.39 m +348.91 397.87 348.55 398.52 349.56 396.00 c +350.57 393.48 340.06 407.30 342.94 404.28 C +S +@rs +@sv +%%Note: Object +339.19 400.39 342.07 404.64 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +339.19 404.64 m +340.42 403.13 340.99 401.04 342.07 400.39 C +S +%%Note: Object +321.98 403.49 324.43 407.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +321.98 407.66 m +322.85 404.28 322.27 405.36 324.43 403.49 C +S +%%Note: Object +321.26 390.96 321.84 395.57 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +321.26 395.57 m +321.70 394.13 321.84 392.54 321.84 390.96 C +S +%%Note: Object +324.29 387.00 324.94 392.26 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +324.29 392.26 m +324.29 390.46 324.94 388.73 324.94 387.00 C +S +%%Note: Object +328.97 380.74 329.26 385.85 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +328.97 385.85 m +329.26 380.74 L +S +%%Note: Object +331.85 374.83 332.14 379.58 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +331.99 379.58 m +331.99 374.83 L +S +%%Note: Object +332.64 366.62 334.08 372.24 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +334.08 372.24 m +334.08 370.01 333.43 369.22 332.93 367.49 c +332.93 367.27 332.78 366.62 332.64 366.62 C +S +%%Note: Object +334.73 360.72 336.31 365.40 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +336.31 365.40 m +334.73 360.72 L +S +%%Note: Object +335.38 352.58 336.31 357.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +336.31 357.70 m +336.31 356.62 336.02 353.23 335.38 352.58 C +S +%%Note: Object +326.88 392.40 330.70 393.84 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +326.88 393.84 m +327.53 393.70 328.32 393.19 328.97 393.19 C +330.70 392.40 L +S +%%Note: Object +330.05 387.00 334.73 389.23 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +330.05 389.23 m +331.70 388.73 333.29 387.79 334.58 387.14 C +334.73 387.00 L +S +%%Note: Object +333.29 381.38 337.10 384.26 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +333.29 384.26 m +333.94 383.90 335.52 382.68 335.81 382.03 C +336.31 382.03 336.67 381.38 337.10 381.38 C +S +%%Note: Object +335.02 375.62 338.90 378.94 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +335.02 378.94 m +336.46 378.14 337.75 376.13 338.90 375.62 C +S +%%Note: Object +337.61 369.22 340.85 372.74 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +337.61 372.74 m +339.19 371.95 339.98 370.80 340.85 369.22 C +S +%%Note: Object +339.84 360.29 342.58 365.54 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 8 +339.84 365.54 m +340.34 364.75 341.64 362.81 341.64 361.87 C +341.93 361.87 L +341.93 361.51 342.58 360.94 342.58 360.29 C +S +%%Note: Object +339.70 353.52 341.28 359.28 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +339.70 359.28 m +340.20 357.84 341.28 355.18 341.28 353.52 C +S +%%Note: Object +317.81 421.06 320.54 428.11 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +317.81 421.06 m +318.17 423.58 319.32 425.59 319.32 425.59 c +320.54 428.11 L +S +%%Note: Object +320.69 422.71 322.70 428.47 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +321.05 422.71 m +321.05 424.22 320.69 425.81 321.55 426.46 c +322.42 427.10 322.70 428.47 322.70 428.47 C +S +%%Note: Object +322.99 424.73 326.30 430.85 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +323.78 424.73 m +324.43 426.46 322.99 428.04 324.58 428.83 c +326.16 429.62 326.30 430.85 326.30 430.85 C +S +%%Note: Object +327.31 427.46 331.20 432.36 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +327.31 427.46 m +328.18 428.98 327.46 429.98 328.68 430.49 c +329.90 430.99 331.20 432.36 331.20 432.36 C +S +%%Note: Object +330.70 428.11 334.66 433.22 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +330.70 428.11 m +331.56 429.62 330.77 430.70 331.92 431.21 c +333.07 431.71 334.66 433.22 334.66 433.22 C +S +%%Note: Object +333.58 428.62 340.92 432.86 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +333.58 428.62 m +334.94 429.84 334.08 430.99 335.81 431.35 c +337.54 431.71 340.92 432.86 340.92 432.86 C +S +%%Note: Object +338.69 429.48 345.02 430.99 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 5 +338.69 429.48 m +340.42 429.84 342.79 430.99 342.79 430.99 c +345.02 430.99 L +S +%%Note: Object +344.66 428.47 349.78 429.12 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +344.66 428.47 m +347.18 428.47 347.76 429.12 349.78 428.47 C +S +%%Note: Object +349.78 425.23 356.54 426.31 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +349.78 425.23 m +352.30 425.23 352.30 426.31 353.66 426.31 c +355.03 426.31 356.54 425.59 356.54 425.59 C +S +%%Note: Object +320.04 419.54 325.80 420.41 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +320.04 419.54 m +323.28 419.54 324.29 420.41 325.80 419.54 C +S +%%Note: Object +325.80 422.57 330.91 423.29 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +325.80 422.57 m +328.32 422.57 329.04 423.29 330.91 422.57 C +S +%%Note: Object +328.68 423.43 337.18 424.94 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +328.68 424.73 m +331.42 424.73 332.42 424.94 333.79 424.44 c +335.16 423.94 335.45 424.30 337.18 423.43 C +S +%%Note: Object +338.04 422.93 345.82 426.96 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +338.04 426.96 m +341.42 424.73 341.42 425.74 342.79 424.58 c +344.16 423.43 344.23 424.66 345.82 422.93 C +S +%%Note: Object +323.21 411.34 328.75 413.71 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +323.21 411.34 m +325.73 411.84 325.08 412.42 326.59 412.70 c +328.10 412.99 327.38 413.71 328.75 413.71 C +S +%%Note: Object +327.17 411.05 333.43 412.78 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +327.17 411.05 m +329.18 411.41 328.18 412.56 330.55 412.56 c +332.93 412.56 331.92 412.78 333.43 412.78 C +S +%%Note: Object +332.93 410.76 336.17 411.26 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +332.93 410.76 m +334.80 410.90 334.66 411.26 336.17 411.26 C +S +%%Note: Object +335.66 409.54 340.06 410.40 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +335.66 409.54 m +337.54 409.54 338.04 410.40 340.06 410.40 C +S +%%Note: Object +339.91 408.38 343.80 409.46 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +339.91 408.38 m +341.78 408.38 341.28 409.46 343.80 409.18 C +S +%%Note: Object +342.79 406.66 347.18 406.87 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +342.79 406.87 m +344.30 406.66 345.96 406.87 347.18 406.87 C +S +%%Note: Object +350.28 401.11 356.40 402.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +350.28 402.12 m +353.16 401.98 354.89 402.34 356.40 401.11 C +S +%%Note: Object +352.44 398.88 357.55 400.54 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +352.44 399.74 m +355.18 399.10 355.82 400.54 357.55 398.88 C +S +%%Note: Object +356.69 391.61 360.94 393.98 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +356.69 393.98 m +359.28 392.62 360.94 391.61 360.94 391.61 C +S +%%Note: Object +356.69 390.31 359.28 391.97 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +356.69 391.97 m +358.42 390.82 359.28 390.31 359.28 390.31 C +S +%%Note: Object +355.18 388.44 357.05 391.61 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +355.18 391.61 m +355.68 390.31 357.05 388.44 357.05 388.44 C +S +%%Note: Object +352.51 391.10 353.66 394.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +353.30 394.70 m +353.30 391.82 352.51 393.12 353.66 391.10 C +S +%%Note: Object +351.07 392.62 352.66 397.51 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +351.07 397.51 m +351.94 395.35 351.29 394.63 352.66 392.62 C +S +%%Note: Object +341.57 399.24 345.67 403.63 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +341.57 403.63 m +344.16 399.89 345.67 399.24 345.67 399.24 C +S +%%Note: Object +334.30 402.84 338.90 406.94 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +334.30 406.94 m +334.30 406.94 337.61 403.99 338.90 402.84 C +S +%%Note: Object +331.06 403.99 334.44 407.38 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +331.06 407.38 m +332.57 406.15 333.07 405.00 334.44 403.99 C +S +%%Note: Object +328.32 403.13 333.43 408.17 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +328.32 408.17 m +329.90 406.66 332.57 403.99 333.43 403.13 C +S +%%Note: Object +325.80 402.77 332.57 407.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +325.80 407.66 m +328.18 405.65 332.57 402.77 332.57 402.77 C +S +%%Note: Object +322.06 404.64 325.30 407.88 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +322.06 407.88 m +323.06 406.66 324.29 407.02 325.30 404.64 C +S +%%Note: Object +320.04 397.87 327.82 407.66 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +320.04 407.66 m +321.55 403.78 322.06 403.56 323.93 401.98 c +325.80 400.39 327.46 400.25 327.82 397.87 C +S +%%Note: Object +323.57 396.50 326.95 398.30 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +323.57 397.73 m +325.66 397.01 324.58 398.30 326.95 396.50 C +S +%%Note: Object +329.76 377.06 330.05 383.04 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +329.90 383.04 m +329.90 380.66 329.90 378.72 329.90 377.06 C +S +%%Note: Object +327.24 383.18 327.74 388.58 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +327.24 388.58 m +327.60 385.49 327.74 384.77 327.74 383.18 C +S +%%Note: Object +312.77 381.89 320.47 393.55 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +312.77 393.55 m +316.08 390.96 320.11 385.13 320.47 381.89 C +S +%%Note: Object +313.13 371.16 320.11 389.16 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +313.13 389.16 m +313.49 387.00 320.11 378.43 318.10 371.16 C +S +%%Note: Object +311.18 373.10 313.42 384.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +311.26 384.70 m +313.42 379.22 311.18 375.26 311.54 373.10 C +S +%%Note: Object +298.58 372.02 301.54 383.98 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +301.54 383.98 m +298.58 379.30 299.95 375.70 299.23 372.02 C +S +%%Note: Object +291.17 378.79 294.55 388.08 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +294.55 388.08 m +294.55 385.20 291.17 384.98 291.17 378.79 C +S +%%Note: Object +289.44 383.33 293.83 393.12 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +293.83 393.12 m +293.11 390.60 289.80 389.09 289.44 383.33 C +S +%%Note: Object +293.11 370.30 300.38 389.52 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +300.38 389.52 m +300.38 389.52 294.91 380.88 294.19 375.77 c +293.47 370.66 293.11 370.30 293.11 370.30 C +S +%%Note: Object +306.22 368.42 306.94 388.80 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +306.94 388.80 m +306.94 388.80 306.22 384.48 306.22 379.01 c +306.22 373.54 306.22 370.94 306.22 368.42 C +S +%%Note: Object +308.81 402.55 313.85 407.30 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +313.85 407.30 m +313.85 407.30 311.04 404.35 308.81 402.55 C +S +%%Note: Object +307.66 405.86 310.25 410.18 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +310.25 410.18 m +307.66 405.86 L +S +%%Note: Object +301.82 403.70 306.22 409.46 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +301.82 409.46 m +302.18 407.66 306.22 403.70 306.22 403.70 C +S +%%Note: Object +297.50 394.63 304.06 405.86 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 6 +298.94 405.86 m +302.18 402.98 L +297.50 399.31 l +297.50 399.31 301.18 396.14 304.06 394.63 C +S +%%Note: Object +304.99 421.34 305.28 428.90 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +305.28 428.90 m +304.99 421.34 L +S +%%Note: Object +262.51 419.98 267.26 426.53 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +267.26 426.53 m +263.59 422.21 263.23 422.50 262.51 419.98 C +S +%%Note: Object +254.81 419.62 260.64 422.93 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +260.64 422.93 m +254.81 419.62 L +S +%%Note: Object +347.40 417.46 351.07 425.09 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +347.40 425.09 m +348.12 423.29 351.07 417.46 351.07 417.46 C +S +%%Note: Object +352.51 417.82 356.54 422.21 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 2 +352.51 422.21 m +356.54 417.82 L +S +%%Note: Object +304.06 427.97 306.29 429.12 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 14 +306.29 428.69 m +305.86 428.04 306.22 427.97 305.57 427.97 c +304.92 427.97 304.34 428.11 304.34 428.11 c +304.06 428.90 l +304.06 428.90 304.49 429.12 305.14 428.98 C +305.78 428.83 306.29 428.69 306.29 428.69 c +@c +B +%%Note: Object +296.06 432.14 300.89 438.19 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 19 +298.80 432.14 m +299.74 432.43 300.38 432.58 300.38 433.66 c +300.38 434.74 300.89 434.45 300.24 435.67 c +299.59 436.90 300.10 438.19 298.73 437.40 c +297.36 436.61 296.78 436.32 296.64 435.38 c +296.50 434.45 296.06 434.30 296.50 433.51 C +296.93 432.72 298.80 432.14 298.80 432.14 c +@c +B +%%Note: Object +309.38 432.14 314.21 438.19 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 19 +311.47 432.14 m +310.54 432.43 309.89 432.58 309.89 433.66 c +309.89 434.74 309.38 434.45 310.03 435.67 c +310.68 436.90 310.18 438.19 311.54 437.40 c +312.91 436.61 313.49 436.32 313.63 435.38 c +313.78 434.45 314.21 434.30 313.78 433.51 C +313.34 432.72 311.47 432.14 311.47 432.14 c +@c +B +%%Note: Object +288.50 395.35 300.10 402.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 25 +300.10 400.90 m +300.10 400.90 299.81 402.70 297.86 402.19 c +295.92 401.69 297.14 401.47 294.91 401.33 c +292.68 401.18 290.81 402.26 289.66 401.18 c +288.50 400.10 289.08 401.40 289.51 399.46 c +289.94 397.51 290.59 395.42 290.59 395.42 c +290.59 395.42 293.18 395.35 294.48 395.57 c +295.78 395.78 297.07 397.08 297.86 398.02 C +298.66 398.95 300.10 400.90 300.10 400.90 c +@c +B +%%Note: Object +291.38 404.86 300.38 414.00 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 19 +300.24 405.22 m +299.09 408.38 300.38 406.80 298.80 409.03 c +297.22 411.26 297.43 412.06 295.56 412.78 c +293.69 413.50 291.82 414.00 291.60 411.26 c +291.38 408.53 292.39 409.03 293.83 407.45 c +295.27 405.86 296.21 405.58 297.50 405.22 C +298.80 404.86 300.24 405.22 300.24 405.22 c +@c +B +%%Note: Object +295.85 406.66 303.77 418.68 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 22 +302.18 407.30 m +303.77 407.30 303.26 408.89 302.33 411.12 c +301.39 413.35 302.18 416.02 300.10 416.52 c +298.01 417.02 298.15 418.68 297.50 416.88 c +296.86 415.08 295.85 414.94 296.86 413.50 c +297.86 412.06 297.86 411.91 298.80 410.33 c +299.74 408.74 300.10 407.23 300.89 406.94 C +301.68 406.66 301.90 407.30 302.18 407.30 c +@c +B +%%Note: Object +297.86 419.83 304.06 424.80 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 19 +300.74 420.12 m +301.75 420.19 301.68 419.83 302.33 420.91 c +302.98 421.99 304.06 423.00 303.05 423.58 c +302.04 424.15 302.33 424.30 300.82 424.22 c +299.30 424.15 297.86 424.80 298.22 423.65 c +298.58 422.50 298.66 422.14 299.38 421.56 C +300.10 420.98 300.74 420.05 300.74 420.12 c +@c +B +%%Note: Object +311.62 404.86 320.62 414.00 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 19 +311.76 405.22 m +312.91 408.38 311.62 406.80 313.20 409.03 c +314.78 411.26 314.57 412.06 316.44 412.78 c +318.31 413.50 320.18 414.00 320.40 411.26 c +320.62 408.53 319.61 409.03 318.17 407.45 c +316.73 405.86 315.79 405.58 314.50 405.22 C +313.20 404.86 311.76 405.22 311.76 405.22 c +@c +B +%%Note: Object +308.23 406.66 316.15 418.68 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 22 +309.82 407.30 m +308.23 407.30 308.74 408.89 309.67 411.12 c +310.61 413.35 309.82 416.02 311.90 416.52 c +313.99 417.02 313.85 418.68 314.50 416.88 c +315.14 415.08 316.15 414.94 315.14 413.50 c +314.14 412.06 314.14 411.91 313.20 410.33 c +312.26 408.74 311.90 407.23 311.11 406.94 C +310.32 406.66 310.10 407.30 309.82 407.30 c +@c +B +%%Note: Object +306.22 419.83 312.41 424.80 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 19 +309.53 420.12 m +308.52 420.19 308.59 419.83 307.94 420.91 c +307.30 421.99 306.22 423.00 307.22 423.58 c +308.23 424.15 307.94 424.30 309.46 424.22 c +310.97 424.15 312.41 424.80 312.05 423.65 c +311.69 422.50 311.62 422.14 310.90 421.56 C +310.18 420.98 309.53 420.05 309.53 420.12 c +@c +B +%%Note: Object +311.90 395.35 323.50 402.70 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.22 0.22 0.00 @w + 0 O 0 @g +0.00 0.80 0.00 0.20 k +%%CURV 25 +311.90 400.90 m +311.90 400.90 312.19 402.70 314.14 402.19 c +316.08 401.69 314.86 401.47 317.09 401.33 c +319.32 401.18 321.19 402.26 322.34 401.18 c +323.50 400.10 322.92 401.40 322.49 399.46 c +322.06 397.51 321.41 395.42 321.41 395.42 c +321.41 395.42 318.82 395.35 317.52 395.57 c +316.22 395.78 314.93 397.08 314.14 398.02 C +313.34 398.95 311.90 400.90 311.90 400.90 c +@c +B +%%Note: Object +308.45 397.15 315.36 398.23 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +315.36 398.23 m +313.13 397.15 308.45 397.15 308.45 397.15 C +S +%%Note: Object +300.10 425.74 301.54 429.34 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +300.10 425.74 m +300.31 427.03 300.89 428.40 301.54 429.34 C +S +%%Note: Object +299.16 429.48 301.32 432.36 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +299.16 429.48 m +299.16 429.48 300.60 430.49 301.32 432.36 C +S +%%Note: Object +309.02 426.60 310.03 429.48 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +310.03 426.60 m +309.46 427.90 309.96 428.98 309.02 429.48 C +S +%%Note: Object +309.67 430.27 310.82 432.14 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +310.82 430.27 m +310.32 431.28 310.46 431.78 309.67 432.14 C +S +%%Note: Object +296.42 422.06 299.23 423.72 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +299.23 422.06 m +297.43 422.57 297.36 422.50 296.42 423.72 C +S +%%Note: Object +295.49 426.02 297.43 428.40 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +297.43 426.02 m +296.57 426.82 296.21 427.25 295.49 428.40 C +S +%%Note: Object +295.06 430.92 296.42 433.51 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +296.42 430.92 m +295.85 431.93 295.13 432.29 295.06 433.51 C +S +%%Note: Object +296.28 434.59 297.07 436.75 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +297.07 434.59 m +296.78 435.60 296.28 434.74 296.28 436.75 C +S +%%Note: Object +297.65 436.25 297.94 438.77 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +297.94 436.25 m +297.94 436.97 297.65 437.62 297.94 438.77 C +S +%%Note: Object +310.54 421.70 312.91 422.64 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +1.00 0.30 0.00 0.00 k +%%CURV 4 +310.54 421.78 m +311.62 421.78 311.83 421.70 312.91 422.64 C +S +%%Note: Object +311.90 424.44 314.21 425.52 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +311.90 424.44 m +313.13 424.66 313.56 424.44 314.21 425.52 C +S +%%Note: Object +312.91 425.88 314.57 427.68 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +312.91 425.88 m +313.70 426.10 314.06 427.10 314.57 427.68 C +S +%%Note: Object +313.13 427.82 314.86 429.84 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +313.13 427.82 m +313.78 428.69 314.14 428.83 314.86 429.84 C +S +%%Note: Object +313.78 430.49 314.86 433.22 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +313.78 430.49 m +314.57 431.64 314.50 432.07 314.86 433.22 C +S +%%Note: Object +313.70 432.72 314.42 435.31 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 4 +313.70 432.72 m +314.28 433.73 314.35 434.02 314.42 435.31 C +S +%%Note: Object +313.27 433.80 313.92 438.55 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +1.00 0.45 0.00 0.00 k +%%CURV 7 +313.27 434.59 m +313.27 434.59 313.49 433.80 313.70 436.18 c +313.92 438.55 313.78 438.55 313.78 438.55 C +S +%%Note: Object +306.86 411.19 309.17 418.10 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +309.17 418.10 m +308.38 417.02 307.66 416.95 307.30 415.30 c +306.94 413.64 306.86 412.92 306.94 411.19 C +S +%%Note: Object +302.90 411.12 304.49 418.82 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.58 0.58 0.00 @w + 0 O 0 @g +0.00 0.00 0.00 0.30 k +%%CURV 7 +302.90 418.82 m +303.91 417.74 303.70 418.25 303.98 416.16 c +304.27 414.07 304.34 412.34 304.49 411.12 C +S +@rs +@rs +%%Trailer + end diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index 10e36056b..7e954182a 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 05/16/11 11:00:21 +-- merge date : 05/18/11 18:04:18 do -- begin closure to overcome local limits and interference diff --git a/tex/generic/context/luatex-plain.tex b/tex/generic/context/luatex-plain.tex deleted file mode 100644 index ae2588327..000000000 --- a/tex/generic/context/luatex-plain.tex +++ /dev/null @@ -1,25 +0,0 @@ -%D \module -%D [ file=luatex-basics, -%D version=2009.12.01, -%D title=\LUATEX\ Support Macros, -%D subtitle=Attribute Allocation, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright=public domain] - -\input plain - -\directlua {tex.enableprimitives('', tex.extraprimitives())} - -\pdfoutput=1 - -\everyjob \expandafter {% - \the\everyjob - \input luatex-basics\relax - \input luatex-fonts\relax - \input luatex-mplib\relax -} - -\edef\fmtversion{\fmtversion+luatex} - -\dump -- cgit v1.2.3